diff --git a/EBB_firmware/app.X/dist/EBBv13_with_bootloader/production/EBF.X.production.map b/EBB_firmware/app.X/dist/EBBv13_with_bootloader/production/EBF.X.production.map index 5e0d743..99772d7 100644 --- a/EBB_firmware/app.X/dist/EBBv13_with_bootloader/production/EBF.X.production.map +++ b/EBB_firmware/app.X/dist/EBBv13_with_bootloader/production/EBF.X.production.map @@ -1,5 +1,5 @@ MPLINK 5.00, LINKER -Linker Map File - Created Thu Oct 05 09:07:45 2023 +Linker Map File - Created Thu Oct 05 14:20:30 2023 Section Info Section Type Address Location Size(Bytes) @@ -8,85 +8,84 @@ Linker Map File - Created Thu Oct 05 09:07:45 2023 REMAPPED_HIGH_INTERRUPT_VECTOR code 0x001008 program 0x000006 REMAPPED_LOW_INTERRUPT_VECTOR code 0x001018 program 0x000006 .cinit romdata 0x00102a program 0x000026 - .code_ebb.o code 0x001050 program 0x003302 - .code_UBW.o code 0x004352 program 0x00295a - .code_usb_device.o code 0x006cac program 0x000d3e - .stringtable romdata 0x0079ea program 0x000490 - .code_RCServo2.o code 0x007e7a program 0x0003ea - .code_usb_function_cdc.o code 0x008264 program 0x0003c6 - .code_ebb_print.o code 0x00862a program 0x000230 - .code_WriteBytesFlash.o code 0x00885a program 0x0001de - .code_main.o code 0x008a38 program 0x00014e - .code_EraseFlash.o code 0x008b86 program 0x0000f8 - .romdata_UBW.o romdata 0x008c7e program 0x0000ac - _cinit_scn code 0x008d2a program 0x00009e - .code_ReadFlash.o code 0x008dc8 program 0x000092 - .code_u1open.o code 0x008e5a program 0x000072 - .code_fxm3232.o code 0x008ecc program 0x000070 - PROG code 0x008f3c program 0x000068 -.romdata_usb_descriptors.o romdata 0x008fa4 program 0x000057 - .romdata___init.o romdata 0x008ffb program 0x000000 - .idata___init.o_i romdata 0x008ffb program 0x000000 - .romdata_fxd3232u.o romdata 0x008ffb program 0x000000 - .idata_fxm3232.o_i romdata 0x008ffb program 0x000000 - .romdata_fxm3232.o romdata 0x008ffb program 0x000000 -.romdata_WriteBytesFlash.o romdata 0x008ffb program 0x000000 -.idata_WriteBytesFlash.o_i romdata 0x008ffb program 0x000000 - .idata_u1open.o_i romdata 0x008ffb program 0x000000 - .romdata_u1open.o romdata 0x008ffb program 0x000000 - .romdata_u1defs.o romdata 0x008ffb program 0x000000 - .idata_u1defs.o_i romdata 0x008ffb program 0x000000 - .romdata_u1write.o romdata 0x008ffb program 0x000000 - .idata_ReadFlash.o_i romdata 0x008ffb program 0x000000 - .idata_u1write.o_i romdata 0x008ffb program 0x000000 - .romdata_ReadFlash.o romdata 0x008ffb program 0x000000 - .idata_pow2x16.o_i romdata 0x008ffb program 0x000000 - .romdata_pow2x16.o romdata 0x008ffb program 0x000000 - .idata_c018i.o_i romdata 0x008ffb program 0x000000 - .romdata_c018i.o romdata 0x008ffb program 0x000000 - .idata_usb_device.o_i romdata 0x008ffb program 0x000000 - .romdata_usb_device.o romdata 0x008ffb program 0x000000 -.idata_usb_function_cdc.o_i romdata 0x008ffb program 0x000000 -.romdata_usb_function_cdc.o romdata 0x008ffb program 0x000000 - .romdata_ebb.o romdata 0x008ffb program 0x000000 - .idata_main.o_i romdata 0x008ffb program 0x000000 - .romdata_main.o romdata 0x008ffb program 0x000000 - .idata_RCServo2.o_i romdata 0x008ffb program 0x000000 - .idata_fxd3232u.o_i romdata 0x008ffb program 0x000000 - .romdata_EraseFlash.o romdata 0x008ffb program 0x000000 - .idata_EraseFlash.o_i romdata 0x008ffb program 0x000000 - .romdata_ebb_print.o romdata 0x008ffb program 0x000000 - .idata_ebb_print.o_i romdata 0x008ffb program 0x000000 - .romdata_RCServo2.o romdata 0x008ffb program 0x000000 - .code_u1defs.o code 0x008ffc program 0x000000 - .code_usb_descriptors.o code 0x008ffc program 0x000000 - .code_fxd3232u.o code 0x008ffc program 0x000048 - .code_c018i.o code 0x008ffc program 0x000000 - STRING code 0x009044 program 0x000034 - .code_u1write.o code 0x009078 program 0x00002e - CTYPE code 0x0090a6 program 0x000028 - .code code 0x0090ce program 0x000020 - _startup_scn code 0x0090ee program 0x00001c - .code_pow2x16.o code 0x00910a program 0x000016 - .code___init.o code 0x009120 program 0x000002 -.idata_usb_descriptors.o_i romdata 0x009122 program 0x00007e - .idata_ebb.o_i romdata 0x0091a0 program 0x000002 - .idata_UBW.o_i romdata 0x0091a2 program 0x000007 - ISR_access udata 0x000000 data 0x000023 - MATH_DATA udata 0x000023 data 0x000010 - .tmpdata udata 0x000033 data 0x000008 - low_ISR_tmp udata 0x00003b data 0x000004 - high_ISR_tmp udata 0x00003f data 0x000004 + .code_ebb.o code 0x001050 program 0x00331e + .code_UBW.o code 0x00436e program 0x00295a + .code_usb_device.o code 0x006cc8 program 0x000d3e + .stringtable romdata 0x007a06 program 0x000490 + .code_RCServo2.o code 0x007e96 program 0x0003ea + .code_usb_function_cdc.o code 0x008280 program 0x0003c6 + .code_ebb_print.o code 0x008646 program 0x000230 + .code_WriteBytesFlash.o code 0x008876 program 0x0001de + .code_main.o code 0x008a54 program 0x00014e + .code_EraseFlash.o code 0x008ba2 program 0x0000f8 + .romdata_UBW.o romdata 0x008c9a program 0x0000ac + _cinit_scn code 0x008d46 program 0x00009e + .code_ReadFlash.o code 0x008de4 program 0x000092 + .code_u1open.o code 0x008e76 program 0x000072 + .code_fxm3232.o code 0x008ee8 program 0x000070 + PROG code 0x008f58 program 0x000068 +.romdata_usb_descriptors.o romdata 0x008fc0 program 0x000057 + .romdata___init.o romdata 0x009017 program 0x000000 + .idata___init.o_i romdata 0x009017 program 0x000000 + .romdata_fxd3232u.o romdata 0x009017 program 0x000000 + .idata_fxm3232.o_i romdata 0x009017 program 0x000000 + .romdata_fxm3232.o romdata 0x009017 program 0x000000 +.romdata_WriteBytesFlash.o romdata 0x009017 program 0x000000 +.idata_WriteBytesFlash.o_i romdata 0x009017 program 0x000000 + .idata_u1open.o_i romdata 0x009017 program 0x000000 + .romdata_u1open.o romdata 0x009017 program 0x000000 + .romdata_u1defs.o romdata 0x009017 program 0x000000 + .idata_u1defs.o_i romdata 0x009017 program 0x000000 + .romdata_u1write.o romdata 0x009017 program 0x000000 + .idata_ReadFlash.o_i romdata 0x009017 program 0x000000 + .idata_u1write.o_i romdata 0x009017 program 0x000000 + .romdata_ReadFlash.o romdata 0x009017 program 0x000000 + .idata_pow2x16.o_i romdata 0x009017 program 0x000000 + .romdata_pow2x16.o romdata 0x009017 program 0x000000 + .idata_c018i.o_i romdata 0x009017 program 0x000000 + .romdata_c018i.o romdata 0x009017 program 0x000000 + .idata_usb_device.o_i romdata 0x009017 program 0x000000 + .romdata_usb_device.o romdata 0x009017 program 0x000000 +.idata_usb_function_cdc.o_i romdata 0x009017 program 0x000000 +.romdata_usb_function_cdc.o romdata 0x009017 program 0x000000 + .romdata_ebb.o romdata 0x009017 program 0x000000 + .idata_main.o_i romdata 0x009017 program 0x000000 + .romdata_main.o romdata 0x009017 program 0x000000 + .idata_RCServo2.o_i romdata 0x009017 program 0x000000 + .idata_fxd3232u.o_i romdata 0x009017 program 0x000000 + .romdata_EraseFlash.o romdata 0x009017 program 0x000000 + .idata_EraseFlash.o_i romdata 0x009017 program 0x000000 + .romdata_ebb_print.o romdata 0x009017 program 0x000000 + .idata_ebb_print.o_i romdata 0x009017 program 0x000000 + .romdata_RCServo2.o romdata 0x009017 program 0x000000 + .code_u1defs.o code 0x009018 program 0x000000 + .code_usb_descriptors.o code 0x009018 program 0x000000 + .code_fxd3232u.o code 0x009018 program 0x000048 + .code_c018i.o code 0x009018 program 0x000000 + STRING code 0x009060 program 0x000034 + .code_u1write.o code 0x009094 program 0x00002e + CTYPE code 0x0090c2 program 0x000028 + .code code 0x0090ea program 0x000020 + _startup_scn code 0x00910a program 0x00001c + .code_pow2x16.o code 0x009126 program 0x000016 + .code___init.o code 0x00913c program 0x000002 +.idata_usb_descriptors.o_i romdata 0x00913e program 0x00007e + .idata_ebb.o_i romdata 0x0091bc program 0x000002 + .idata_UBW.o_i romdata 0x0091be program 0x000007 + ISR_access udata 0x000000 data 0x000037 + MATH_DATA udata 0x000037 data 0x000010 + .tmpdata udata 0x000047 data 0x000008 + low_ISR_tmp udata 0x00004f data 0x000004 + high_ISR_tmp udata 0x000053 data 0x000004 RC2Servo_globals udata 0x000060 data 0x00002b .udata_UBW.o udata 0x00008b data 0x00006f .idata_ebb.o idata 0x0000fa data 0x000002 .udata_u1defs.o udata 0x0000fc data 0x000001 - .idata_EraseFlash.o idata 0x0000fd data 0x000000 - .udata_EraseFlash.o udata 0x0000fd data 0x000000 + .udata_fxd3232u.o udata 0x0000fd data 0x000000 .udata_usb_descriptors.o udata 0x0000fd data 0x000000 - .idata_ReadFlash.o idata 0x0000fd data 0x000000 + .idata_EraseFlash.o idata 0x0000fd data 0x000000 .idata_ebb_print.o idata 0x0000fd data 0x000000 - .udata_u1write.o udata 0x0000fd data 0x000000 + .udata_EraseFlash.o udata 0x0000fd data 0x000000 .idata_pow2x16.o idata 0x0000fd data 0x000000 .udata_pow2x16.o udata 0x0000fd data 0x000000 .idata___init.o idata 0x0000fd data 0x000000 @@ -95,34 +94,35 @@ REMAPPED_LOW_INTERRUPT_VECTOR code 0x001018 program 0x000006 .udata_WriteBytesFlash.o udata 0x0000fd data 0x000000 .idata_u1defs.o idata 0x0000fd data 0x000000 .idata_u1write.o idata 0x0000fd data 0x000000 + .udata_u1write.o udata 0x0000fd data 0x000000 + .idata_ReadFlash.o idata 0x0000fd data 0x000000 .udata_ReadFlash.o udata 0x0000fd data 0x000000 - .udata_fxd3232u.o udata 0x0000fd data 0x000000 .idata_usb_device.o idata 0x0000fd data 0x000000 - .idata_RCServo2.o idata 0x0000fd data 0x000000 - .udata_RCServo2.o udata 0x0000fd data 0x000000 .idata_u1open.o idata 0x0000fd data 0x000000 - .idata_main.o idata 0x0000fd data 0x000000 - .idata_fxd3232u.o idata 0x0000fd data 0x000000 .udata_u1open.o udata 0x0000fd data 0x000000 +.idata_usb_function_cdc.o idata 0x0000fd data 0x000000 + .idata_fxm3232.o idata 0x0000fd data 0x000000 .idata_c018i.o idata 0x0000fd data 0x000000 .udata_fxm3232.o udata 0x0000fd data 0x000000 - .idata_fxm3232.o idata 0x0000fd data 0x000000 -.idata_usb_function_cdc.o idata 0x0000fd data 0x000000 + .idata_main.o idata 0x0000fd data 0x000000 + .udata_RCServo2.o udata 0x0000fd data 0x000000 + .idata_RCServo2.o idata 0x0000fd data 0x000000 + .idata_fxd3232u.o idata 0x0000fd data 0x000000 ISR_buf udata 0x000100 data 0x000029 - .udata_ebb_print.o udata 0x000129 data 0x00000e - .udata_c018i.o udata 0x000137 data 0x00000a - ISR_globals udata 0x000180 data 0x000043 - .udata_usb_device.o udata 0x0001c3 data 0x000034 - .idata_UBW.o idata 0x0001f7 data 0x000007 + .udata_ebb.o udata 0x000129 data 0x00004f + ISR_globals udata 0x000180 data 0x00006b + .udata_ebb_print.o udata 0x0001eb data 0x00000e + .idata_UBW.o idata 0x0001f9 data 0x000007 com_tx_buf udata 0x000200 data 0x000080 .idata_usb_descriptors.o idata 0x000280 data 0x00007e .udata_main.o udata 0x0002fe data 0x000002 com_rx_buf udata 0x000300 data 0x000100 USB_BDT udata 0x000400 data 0x000078 .udata_usb_function_cdc.o udata 0x000500 data 0x0000a8 - FIFO_scn udata 0x000600 data 0x000524 - .udata_ebb.o udata 0x000b24 data 0x00008d - .stack udata 0x000d00 data 0x0001c0 + .udata_usb_device.o udata 0x0005a8 data 0x000034 + .udata_c018i.o udata 0x0005dc data 0x00000a + FIFO_scn udata 0x000600 data 0x000800 + .stack udata 0x000e00 data 0x0000c0 SFR_BANKED0 udata 0x000ec6 data 0x00000e SFR_BANKED1 udata 0x000ed7 data 0x000008 SFR_BANKED2 udata 0x000ee7 data 0x000004 @@ -144,841 +144,839 @@ REMAPPED_LOW_INTERRUPT_VECTOR code 0x001018 program 0x000006 0x001000 0x001005 0x001008 0x00100d 0x001018 0x00101d - 0x00102a 0x008ffa - 0x008ffc 0x0091a8 - 33168 out of 63498 program addresses used, program memory utilization is 52% + 0x00102a 0x009016 + 0x009018 0x0091c4 + 33196 out of 63498 program addresses used, program memory utilization is 52% Symbols - Sorted by Name Name Address Location Storage File --------- --------- --------- --------- --------- - AnalogConfigure 0x0058cc program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - BlinkUSBStatus 0x00660e program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - CDCInitEP 0x008300 program extern C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c - CDCTxService 0x008496 program extern C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c - D3232S 0x008f6c program static E:\3.46\pic18-lt\cxx-framework\src\traditional\math\fxd3232s.asm - D3232SNEG 0x008f7a program static E:\3.46\pic18-lt\cxx-framework\src\traditional\math\fxd3232s.asm - D3232SOK 0x008f76 program static E:\3.46\pic18-lt\cxx-framework\src\traditional\math\fxd3232s.asm - D3232SX 0x008f9a program static E:\3.46\pic18-lt\cxx-framework\src\traditional\math\fxd3232s.asm - DA3232S 0x008f56 program static E:\3.46\pic18-lt\cxx-framework\src\traditional\math\fxd3232s.asm - EBB_Init 0x001b68 program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - EraseFlash 0x008b86 program extern E:\3.46\pic18-lt\cxx-framework\src\pmc_common\Flash\EraseFlash.c - FXD3232S 0x008f3c program extern E:\3.46\pic18-lt\cxx-framework\src\traditional\math\fxd3232s.asm - FXD3232U 0x008ffc program extern E:\3.46\pic18-lt\cxx-framework\src\traditional\math\fxd3232u.c - FXM3232 0x008ecc program extern E:\3.46\pic18-lt\cxx-framework\src\traditional\math\fxm3232.c - InitializeSystem 0x008a48 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c - LongDelay 0x005f0a program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - Open1USART 0x008e5a program extern E:\3.46\pic18-lt\cxx-framework\src\pmc_common\USART\u1open.c - ProcessIO 0x004938 program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - RCServo2_Init 0x007e7a program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c - RCServo2_Move 0x008014 program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c - RCServo2_S2_command 0x007f6a program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c -RCServo2_get_channel_from_RPn 0x007f2c program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c - RPnBit 0x008d11 program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - RPnLATPort 0x008cdf program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - RPnTRISPort 0x008cad program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - ReadFlash 0x008dc8 program extern E:\3.46\pic18-lt\cxx-framework\src\pmc_common\Flash\ReadFlash.c + AnalogConfigure 0x0058e8 program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + BlinkUSBStatus 0x00662a program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + CDCInitEP 0x00831c program extern C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c + CDCTxService 0x0084b2 program extern C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c + D3232S 0x008f88 program static E:\3.46\pic18-lt\cxx-framework\src\traditional\math\fxd3232s.asm + D3232SNEG 0x008f96 program static E:\3.46\pic18-lt\cxx-framework\src\traditional\math\fxd3232s.asm + D3232SOK 0x008f92 program static E:\3.46\pic18-lt\cxx-framework\src\traditional\math\fxd3232s.asm + D3232SX 0x008fb6 program static E:\3.46\pic18-lt\cxx-framework\src\traditional\math\fxd3232s.asm + DA3232S 0x008f72 program static E:\3.46\pic18-lt\cxx-framework\src\traditional\math\fxd3232s.asm + EBB_Init 0x001b66 program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + EraseFlash 0x008ba2 program extern E:\3.46\pic18-lt\cxx-framework\src\pmc_common\Flash\EraseFlash.c + FXD3232S 0x008f58 program extern E:\3.46\pic18-lt\cxx-framework\src\traditional\math\fxd3232s.asm + FXD3232U 0x009018 program extern E:\3.46\pic18-lt\cxx-framework\src\traditional\math\fxd3232u.c + FXM3232 0x008ee8 program extern E:\3.46\pic18-lt\cxx-framework\src\traditional\math\fxm3232.c + InitializeSystem 0x008a64 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c + LongDelay 0x005f26 program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + Open1USART 0x008e76 program extern E:\3.46\pic18-lt\cxx-framework\src\pmc_common\USART\u1open.c + ProcessIO 0x004954 program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + RCServo2_Init 0x007e96 program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c + RCServo2_Move 0x008030 program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c + RCServo2_S2_command 0x007f86 program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c +RCServo2_get_channel_from_RPn 0x007f48 program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c + RPnBit 0x008d2d program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + RPnLATPort 0x008cfb program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + RPnTRISPort 0x008cc9 program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + ReadFlash 0x008de4 program extern E:\3.46\pic18-lt\cxx-framework\src\pmc_common\Flash\ReadFlash.c Remapped_High_ISR 0x001008 program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c Remapped_Low_ISR 0x001018 program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c - SetPinLATFromRPn 0x0066ea program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - SetPinTRISFromRPn 0x006746 program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - USBCBCheckOtherReq 0x008aa4 program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c - USBCBErrorHandler 0x008aa2 program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c - USBCBInitEP 0x008aaa program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c - USBCBSendResume 0x008aae program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c - USBCBStdSetDscHandler 0x008aa8 program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c - USBCBSuspend 0x008a9c program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c - USBCBWakeFromSuspend 0x008a9e program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c - USBCB_SOF_Handler 0x008aa0 program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c - USBCDCEventHandler 0x008342 program extern C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c - USBCancelIO 0x006fd8 program extern C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c - USBCheckCDCRequest 0x008264 program extern C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c - USBCheckStdRequest 0x0075d8 program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c - USBConfigureEndpoint 0x007098 program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c - USBCtrlEPAllowDataStage 0x00705a program extern C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -USBCtrlEPAllowStatusStage 0x00700e program extern C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c - USBCtrlEPService 0x00747c program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c - USBCtrlEPServiceComplete 0x0070f4 program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c - USBCtrlTrfInHandler 0x00755e program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c - USBCtrlTrfOutHandler 0x007540 program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c - USBCtrlTrfRxService 0x0071ce program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c - USBCtrlTrfSetupHandler 0x00750a program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c - USBCtrlTrfTxService 0x00714e program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c - USBDeviceInit 0x006cac program extern C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c - USBDeviceTasks 0x006d78 program extern C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c - USBEnableEndpoint 0x006ed2 program extern C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c - USBStallEndpoint 0x006fa6 program extern C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c - USBStallHandler 0x00742a program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c - USBStdFeatureReqHandler 0x007680 program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c - USBStdGetDscHandler 0x00730e program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c - USBStdGetStatusHandler 0x0073b4 program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c - USBStdSetCfgHandler 0x007296 program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c - USBSuspend 0x00744c program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c - USBTransferOnePacket 0x006f1a program extern C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c - USBWakeFromSuspend 0x007462 program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c - USB_CD_Ptr 0x008ff9 program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\usb_descriptors.c -USER_USB_CALLBACK_EVENT_HANDLER 0x008af2 program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c - UserInit 0x0047ac program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - Write1USART 0x009078 program extern E:\3.46\pic18-lt\cxx-framework\src\pmc_common\USART\u1write.c - WriteBytesFlash 0x00885a program extern E:\3.46\pic18-lt\cxx-framework\src\pmc_common\Flash\WriteBytesFlash.c - _2jContinue 0x009064 program static E:\3.46\pic18-lt\cxx-framework\src\traditional\stdclib\memset.asm - _3jEnd 0x00906e program static E:\3.46\pic18-lt\cxx-framework\src\traditional\stdclib\memset.asm - ___case_0_lbl00241 0x005588 program static - ___case_1_lbl00242 0x005588 program static - ___case_2_lbl00240 0x005574 program static - ___case_3_lbl00244 0x00558e program static - ___default_lbl00243 0x005588 program static - ___else_lbl00217 0x005320 program static - ___else_lbl00220 0x00535e program static - ___else_lbl00222 0x0053a0 program static - ___else_lbl00224 0x005384 program static - ___else_lbl00229 0x005426 program static - ___else_lbl00231 0x00540a program static - ___else_lbl00233 0x00544c program static - ___else_lbl00236 0x0054ce program static - ___else_lbl00238 0x005500 program static - ___else_lbl00246 0x00555e program static - ___else_lbl00248 0x0055e4 program static - ___else_lbl00250 0x0055c0 program static - ___else_lbl00252 0x00563a program static - ___else_lbl00254 0x00560a program static - ___else_lbl00256 0x005690 program static - ___else_lbl00258 0x005660 program static - ___else_lbl00260 0x0056e2 program static - ___else_lbl00262 0x0056b4 program static - ___else_lbl00266 0x005770 program static - ___else_lbl00268 0x005742 program static - ___else_lbl00270 0x005776 program static - ___else_lbl00272 0x005726 program static - ___else_lbl00274 0x0056e8 program static - ___else_lbl00276 0x005696 program static - ___else_lbl00278 0x005640 program static - ___else_lbl00280 0x0055ea program static - ___else_lbl00282 0x0055a2 program static - ___else_lbl00284 0x00552a program static - ___else_lbl00286 0x005506 program static - ___else_lbl00288 0x0054d8 program static - ___else_lbl00290 0x0054a6 program static - ___else_lbl00292 0x005480 program static - ___else_lbl00294 0x005454 program static - ___else_lbl00296 0x00542c program static - ___else_lbl00298 0x0053ea program static - ___else_lbl00300 0x0053a6 program static - ___else_lbl00302 0x005364 program static - ___else_lbl00304 0x005326 program static - ___for_lbl00413 0x001bd0 program static - ___for_lbl00414 0x001bd4 program static - ___for_lbl00415 0x001b74 program static - ___for_lbl00416 0x001cc0 program static - ___for_lbl00417 0x001cc4 program static - ___for_lbl00418 0x001cac program static - ___for_lbl00424 0x005f2c program static - ___for_lbl00425 0x005f30 program static - ___for_lbl00428 0x005f16 program static - ___if_lbl00005 0x0089a2 program static - ___if_lbl00006 0x0089c4 program static - ___if_lbl00007 0x0089dc program static - ___if_lbl00214 0x0052ee program static - ___if_lbl00216 0x005324 program static - ___if_lbl00219 0x005362 program static - ___if_lbl00221 0x0053a4 program static - ___if_lbl00223 0x0053a4 program static - ___if_lbl00225 0x0053d8 program static - ___if_lbl00228 0x00542a program static - ___if_lbl00230 0x00542a program static - ___if_lbl00232 0x005452 program static - ___if_lbl00234 0x00547e program static - ___if_lbl00235 0x0054d6 program static - ___if_lbl00237 0x005504 program static - ___if_lbl00245 0x00559c program static - ___if_lbl00247 0x0055e8 program static - ___if_lbl00249 0x0055e8 program static - ___if_lbl00251 0x00563e program static - ___if_lbl00253 0x00563e program static - ___if_lbl00255 0x005694 program static - ___if_lbl00257 0x005694 program static - ___if_lbl00259 0x0056e6 program static - ___if_lbl00261 0x0056e6 program static - ___if_lbl00265 0x005774 program static - ___if_lbl00267 0x005774 program static - ___if_lbl00269 0x00577a program static - ___if_lbl00271 0x00577a program static - ___if_lbl00273 0x00577a program static - ___if_lbl00275 0x00577a program static - ___if_lbl00277 0x00577a program static - ___if_lbl00279 0x00577a program static - ___if_lbl00281 0x00577a program static - ___if_lbl00283 0x00577a program static - ___if_lbl00285 0x00577a program static - ___if_lbl00287 0x00577a program static - ___if_lbl00289 0x00577a program static - ___if_lbl00291 0x00577a program static - ___if_lbl00293 0x00577a program static - ___if_lbl00295 0x00577a program static - ___if_lbl00297 0x00577a program static - ___if_lbl00299 0x00577a program static - ___if_lbl00301 0x00577a program static - ___if_lbl00303 0x00577a program static + SetPinLATFromRPn 0x006706 program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + SetPinTRISFromRPn 0x006762 program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + USBCBCheckOtherReq 0x008ac0 program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c + USBCBErrorHandler 0x008abe program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c + USBCBInitEP 0x008ac6 program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c + USBCBSendResume 0x008aca program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c + USBCBStdSetDscHandler 0x008ac4 program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c + USBCBSuspend 0x008ab8 program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c + USBCBWakeFromSuspend 0x008aba program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c + USBCB_SOF_Handler 0x008abc program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c + USBCDCEventHandler 0x00835e program extern C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c + USBCancelIO 0x006ff4 program extern C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c + USBCheckCDCRequest 0x008280 program extern C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c + USBCheckStdRequest 0x0075f4 program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c + USBConfigureEndpoint 0x0070b4 program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c + USBCtrlEPAllowDataStage 0x007076 program extern C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +USBCtrlEPAllowStatusStage 0x00702a program extern C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c + USBCtrlEPService 0x007498 program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c + USBCtrlEPServiceComplete 0x007110 program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c + USBCtrlTrfInHandler 0x00757a program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c + USBCtrlTrfOutHandler 0x00755c program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c + USBCtrlTrfRxService 0x0071ea program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c + USBCtrlTrfSetupHandler 0x007526 program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c + USBCtrlTrfTxService 0x00716a program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c + USBDeviceInit 0x006cc8 program extern C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c + USBDeviceTasks 0x006d94 program extern C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c + USBEnableEndpoint 0x006eee program extern C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c + USBStallEndpoint 0x006fc2 program extern C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c + USBStallHandler 0x007446 program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c + USBStdFeatureReqHandler 0x00769c program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c + USBStdGetDscHandler 0x00732a program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c + USBStdGetStatusHandler 0x0073d0 program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c + USBStdSetCfgHandler 0x0072b2 program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c + USBSuspend 0x007468 program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c + USBTransferOnePacket 0x006f36 program extern C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c + USBWakeFromSuspend 0x00747e program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c + USB_CD_Ptr 0x009015 program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\usb_descriptors.c +USER_USB_CALLBACK_EVENT_HANDLER 0x008b0e program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c + UserInit 0x0047c8 program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + Write1USART 0x009094 program extern E:\3.46\pic18-lt\cxx-framework\src\pmc_common\USART\u1write.c + WriteBytesFlash 0x008876 program extern E:\3.46\pic18-lt\cxx-framework\src\pmc_common\Flash\WriteBytesFlash.c + _2jContinue 0x009080 program static E:\3.46\pic18-lt\cxx-framework\src\traditional\stdclib\memset.asm + _3jEnd 0x00908a program static E:\3.46\pic18-lt\cxx-framework\src\traditional\stdclib\memset.asm + ___case_0_lbl00241 0x0055a4 program static + ___case_1_lbl00242 0x0055a4 program static + ___case_2_lbl00240 0x005590 program static + ___case_3_lbl00244 0x0055aa program static + ___default_lbl00243 0x0055a4 program static + ___else_lbl00217 0x00533c program static + ___else_lbl00220 0x00537a program static + ___else_lbl00222 0x0053bc program static + ___else_lbl00224 0x0053a0 program static + ___else_lbl00229 0x005442 program static + ___else_lbl00231 0x005426 program static + ___else_lbl00233 0x005468 program static + ___else_lbl00236 0x0054ea program static + ___else_lbl00238 0x00551c program static + ___else_lbl00246 0x00557a program static + ___else_lbl00248 0x005600 program static + ___else_lbl00250 0x0055dc program static + ___else_lbl00252 0x005656 program static + ___else_lbl00254 0x005626 program static + ___else_lbl00256 0x0056ac program static + ___else_lbl00258 0x00567c program static + ___else_lbl00260 0x0056fe program static + ___else_lbl00262 0x0056d0 program static + ___else_lbl00266 0x00578c program static + ___else_lbl00268 0x00575e program static + ___else_lbl00270 0x005792 program static + ___else_lbl00272 0x005742 program static + ___else_lbl00274 0x005704 program static + ___else_lbl00276 0x0056b2 program static + ___else_lbl00278 0x00565c program static + ___else_lbl00280 0x005606 program static + ___else_lbl00282 0x0055be program static + ___else_lbl00284 0x005546 program static + ___else_lbl00286 0x005522 program static + ___else_lbl00288 0x0054f4 program static + ___else_lbl00290 0x0054c2 program static + ___else_lbl00292 0x00549c program static + ___else_lbl00294 0x005470 program static + ___else_lbl00296 0x005448 program static + ___else_lbl00298 0x005406 program static + ___else_lbl00300 0x0053c2 program static + ___else_lbl00302 0x005380 program static + ___else_lbl00304 0x005342 program static + ___for_lbl00413 0x001bce program static + ___for_lbl00414 0x001bd2 program static + ___for_lbl00415 0x001b72 program static + ___for_lbl00416 0x001cbe program static + ___for_lbl00417 0x001cc2 program static + ___for_lbl00418 0x001caa program static + ___for_lbl00424 0x005f48 program static + ___for_lbl00425 0x005f4c program static + ___for_lbl00428 0x005f32 program static + ___if_lbl00005 0x0089be program static + ___if_lbl00006 0x0089e0 program static + ___if_lbl00007 0x0089f8 program static + ___if_lbl00214 0x00530a program static + ___if_lbl00216 0x005340 program static + ___if_lbl00219 0x00537e program static + ___if_lbl00221 0x0053c0 program static + ___if_lbl00223 0x0053c0 program static + ___if_lbl00225 0x0053f4 program static + ___if_lbl00228 0x005446 program static + ___if_lbl00230 0x005446 program static + ___if_lbl00232 0x00546e program static + ___if_lbl00234 0x00549a program static + ___if_lbl00235 0x0054f2 program static + ___if_lbl00237 0x005520 program static + ___if_lbl00245 0x0055b8 program static + ___if_lbl00247 0x005604 program static + ___if_lbl00249 0x005604 program static + ___if_lbl00251 0x00565a program static + ___if_lbl00253 0x00565a program static + ___if_lbl00255 0x0056b0 program static + ___if_lbl00257 0x0056b0 program static + ___if_lbl00259 0x005702 program static + ___if_lbl00261 0x005702 program static + ___if_lbl00265 0x005790 program static + ___if_lbl00267 0x005790 program static + ___if_lbl00269 0x005796 program static + ___if_lbl00271 0x005796 program static + ___if_lbl00273 0x005796 program static + ___if_lbl00275 0x005796 program static + ___if_lbl00277 0x005796 program static + ___if_lbl00279 0x005796 program static + ___if_lbl00281 0x005796 program static + ___if_lbl00283 0x005796 program static + ___if_lbl00285 0x005796 program static + ___if_lbl00287 0x005796 program static + ___if_lbl00289 0x005796 program static + ___if_lbl00291 0x005796 program static + ___if_lbl00293 0x005796 program static + ___if_lbl00295 0x005796 program static + ___if_lbl00297 0x005796 program static + ___if_lbl00299 0x005796 program static + ___if_lbl00301 0x005796 program static + ___if_lbl00303 0x005796 program static ___return_lbl00000 0x001004 program static - ___return_lbl00000 0x009042 program static - ___return_lbl00000 0x008f3a program static - ___return_lbl00000 0x008e42 program static - ___return_lbl00000 0x008a20 program static - ___return_lbl00000 0x00911e program static - ___return_lbl00000 0x009108 program static + ___return_lbl00000 0x00905e program static + ___return_lbl00000 0x008f56 program static + ___return_lbl00000 0x008e5e program static + ___return_lbl00000 0x008a3c program static + ___return_lbl00000 0x00913a program static + ___return_lbl00000 0x009124 program static ___return_lbl00001 0x00100c program static - ___return_lbl00001 0x008dc6 program static + ___return_lbl00001 0x008de2 program static ___return_lbl00002 0x00101c program static - ___return_lbl00050 0x004732 program static - ___return_lbl00213 0x005780 program static - ___return_lbl00412 0x001d00 program static - ___return_lbl00423 0x005f30 program static - ___return_lbl00429 0x005f48 program static - ___return_lbl00430 0x005f56 program static - ___switchexit_lbl00239 0x00559c program static - ___while_lbl00001 0x008944 program static - ___while_lbl00001 0x008e10 program static - ___while_lbl00002 0x008e42 program static - ___while_lbl00002 0x008a20 program static - ___while_lbl00003 0x008968 program static - ___while_lbl00004 0x0089a4 program static - ___while_lbl00051 0x004708 program static - ___while_lbl00052 0x004732 program static - ___while_lbl00226 0x0053d8 program static - ___while_lbl00227 0x0053e2 program static - ___while_lbl00263 0x0056fa program static - ___while_lbl00264 0x005724 program static - ___while_lbl00426 0x005f1e program static - ___while_lbl00427 0x005f2c program static - __init 0x009120 program extern E:\3.46\pic18-lt\cxx-framework\src\traditional\stdclib\__init.c - __pa_0 0x0077aa program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c - __pa_0 0x0081d4 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c - __pa_0 0x00877c program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb_print.c - __pa_0 0x003522 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_0 0x008c70 program static E:\3.46\pic18-lt\cxx-framework\src\pmc_common\Flash\EraseFlash.c - __pa_0 0x0067a2 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __pa_0 0x008570 program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c - __pa_1 0x0081dc program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c - __pa_1 0x0067a8 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __pa_1 0x0077b2 program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c - __pa_1 0x008796 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb_print.c - __pa_1 0x00858a program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c - __pa_1 0x00352e program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_10 0x00823c program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c - __pa_10 0x008610 program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c - __pa_10 0x0036f0 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_10 0x007810 program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c - __pa_10 0x0067f6 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __pa_10 0x00883a program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb_print.c - __pa_100 0x003cc4 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_100 0x006c3a program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __pa_101 0x003cce program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_101 0x006c44 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __pa_102 0x003cd8 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_102 0x006c4c program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __pa_103 0x003ce2 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_103 0x006c54 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __pa_104 0x003cec program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_104 0x006c5c program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __pa_105 0x003cfc program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_105 0x006c64 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __pa_106 0x003d0c program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_106 0x006c6c program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __pa_107 0x003d1c program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_107 0x006c74 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __pa_108 0x006c7a program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __pa_108 0x003d2c program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_109 0x006c88 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __pa_109 0x003d32 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_11 0x00861e program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c - __pa_11 0x007820 program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c - __pa_11 0x006800 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __pa_11 0x008842 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb_print.c - __pa_11 0x00370e program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_11 0x008246 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c - __pa_110 0x003d42 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_110 0x006c90 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __pa_111 0x003d4a program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_111 0x006c9a program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __pa_112 0x003d52 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_112 0x006ca4 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __pa_113 0x003d60 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_114 0x003d6e program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_115 0x003d7c program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_116 0x003d8a program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_117 0x003d98 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_118 0x003da6 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_119 0x003db0 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_12 0x003724 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_12 0x008256 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c - __pa_12 0x00884e program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb_print.c - __pa_12 0x00680a program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __pa_12 0x00782a program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c - __pa_120 0x003dba program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_121 0x003dc4 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_122 0x003dce program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_123 0x003dd8 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_124 0x003de2 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_125 0x003dec program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_126 0x003df6 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_127 0x003e00 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_128 0x003e56 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_129 0x003e5c program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_13 0x00783e program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c - __pa_13 0x006818 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __pa_13 0x00372e program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_130 0x003e68 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_131 0x003ea4 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_132 0x003eaa program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_133 0x003eb4 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_134 0x003eba program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_135 0x003ec4 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_136 0x003ed2 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_137 0x003eea program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_138 0x003efc program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_139 0x003f10 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_14 0x006830 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __pa_14 0x003738 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_14 0x007852 program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c - __pa_140 0x003f2e program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_141 0x003f4c program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_142 0x003f6a program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_143 0x003f80 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_144 0x003f9a program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_145 0x003fa8 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_146 0x003fb4 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_147 0x003fbe program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_148 0x003fc8 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_149 0x003fd2 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_15 0x00785e program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c - __pa_15 0x00373e program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_15 0x006838 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __pa_150 0x003fdc program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_151 0x003ff4 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_152 0x00400c program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_153 0x004014 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_154 0x00401e program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_155 0x004026 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_156 0x004030 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_157 0x004046 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_158 0x004054 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_159 0x004060 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_16 0x006844 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __pa_16 0x007878 program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c - __pa_16 0x003748 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_160 0x004068 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_161 0x00407a program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_162 0x00408c program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_163 0x004098 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_164 0x0040a4 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_165 0x0040b4 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_166 0x0040c6 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_167 0x0040d8 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_168 0x0040dc program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_169 0x0040ec program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_17 0x00684c program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __pa_17 0x007884 program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c - __pa_17 0x003762 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_170 0x0040f6 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_171 0x004100 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_172 0x00410a program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_173 0x00411a program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_174 0x004128 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_175 0x004136 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_176 0x004144 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_177 0x004152 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_178 0x004160 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_179 0x00416c program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_18 0x003780 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_18 0x007890 program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c - __pa_18 0x006856 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __pa_180 0x004178 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_181 0x004186 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_182 0x004194 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_183 0x00419c program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_184 0x0041a6 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_185 0x0041b0 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_186 0x0041ba program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_187 0x0041c2 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_188 0x0041ca program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_189 0x0041d2 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_19 0x007898 program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c - __pa_19 0x003788 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_19 0x00685e program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __pa_190 0x0041da program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_191 0x0041fe program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_192 0x004214 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_193 0x00422e program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_194 0x00423c program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_195 0x004254 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_196 0x004260 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_197 0x004268 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_198 0x004270 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_199 0x004278 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_2 0x00859a program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c - __pa_2 0x0077bc program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c - __pa_2 0x0067ae program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __pa_2 0x0081e6 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c - __pa_2 0x003544 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_2 0x0087b0 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb_print.c - __pa_20 0x006872 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __pa_20 0x003790 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_20 0x0078a0 program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c - __pa_200 0x004280 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_201 0x00428a program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_202 0x00429c program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_203 0x0042a6 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_204 0x0042b4 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_205 0x0042c2 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_206 0x0042ce program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_207 0x0042da program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_208 0x0042e2 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_209 0x0042e8 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_21 0x00687e program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __pa_21 0x003798 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_21 0x0078ac program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c - __pa_210 0x0042f2 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_211 0x0042fa program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_212 0x004300 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_213 0x004308 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_214 0x00430e program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_215 0x00431e program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_216 0x00432a program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_217 0x004334 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_218 0x004340 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_219 0x004348 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_22 0x0078bc program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c - __pa_22 0x00379e program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_22 0x006886 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __pa_23 0x0037b2 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_23 0x0078ca program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c - __pa_23 0x006890 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __pa_24 0x0078d8 program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c - __pa_24 0x00689e program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __pa_24 0x0037c6 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_25 0x0068b0 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __pa_25 0x0037d2 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_25 0x0078e6 program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c - __pa_26 0x0037fc program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_26 0x0068b8 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __pa_26 0x0078f4 program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c - __pa_27 0x0068c4 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __pa_27 0x0078fe program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c - __pa_27 0x00380e program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_28 0x003820 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_28 0x0068e6 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __pa_28 0x007916 program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c - __pa_29 0x00382c program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_29 0x0068f4 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __pa_29 0x007922 program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c - __pa_3 0x0081f6 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c - __pa_3 0x0087ce program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb_print.c - __pa_3 0x0085ac program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c - __pa_3 0x0077c4 program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c - __pa_3 0x0067b6 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __pa_3 0x00354a program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_30 0x00383a program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_30 0x00792a program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c - __pa_30 0x006902 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __pa_31 0x003850 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_31 0x006924 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __pa_31 0x00793e program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c - __pa_32 0x00692e program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __pa_32 0x003862 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_32 0x007950 program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c - __pa_33 0x006934 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __pa_33 0x00386e program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_33 0x00795e program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c - __pa_34 0x003874 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_34 0x006942 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __pa_34 0x007968 program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c - __pa_35 0x003882 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_35 0x007972 program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c - __pa_35 0x006948 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __pa_36 0x007978 program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c - __pa_36 0x006964 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __pa_36 0x003890 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_37 0x007980 program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c - __pa_37 0x0038b4 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_37 0x00696e program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __pa_38 0x007986 program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c - __pa_38 0x006978 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __pa_38 0x0038d8 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_39 0x0038ec program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_39 0x007994 program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c - __pa_39 0x006982 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __pa_4 0x0077ce program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c - __pa_4 0x0067bc program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __pa_4 0x0085c6 program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c - __pa_4 0x008202 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c - __pa_4 0x0087e6 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb_print.c - __pa_4 0x003594 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_40 0x0038fe program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_40 0x0079a2 program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c - __pa_40 0x00698c program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __pa_41 0x0079b0 program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c - __pa_41 0x006996 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __pa_41 0x003910 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_42 0x0079ba program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c - __pa_42 0x003922 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_42 0x0069ae program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __pa_43 0x003934 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_43 0x0079c4 program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c - __pa_43 0x0069b6 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __pa_44 0x0079cc program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c - __pa_44 0x0069bc program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __pa_44 0x003950 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_45 0x0069c6 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __pa_45 0x0079d8 program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c - __pa_45 0x003968 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_46 0x0069d2 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __pa_46 0x0079e2 program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c - __pa_46 0x003972 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_47 0x0069de program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __pa_47 0x003980 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_48 0x0069e8 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __pa_48 0x0039a0 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_49 0x0069f6 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __pa_49 0x0039b0 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_5 0x0035ca program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_5 0x0077d8 program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c - __pa_5 0x00820e program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c - __pa_5 0x0067c4 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __pa_5 0x0085d0 program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c - __pa_5 0x0087f0 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb_print.c - __pa_50 0x0039bc program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_50 0x006a04 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __pa_51 0x006a12 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __pa_51 0x0039c8 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_52 0x006a20 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __pa_52 0x0039d4 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_53 0x0039da program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_53 0x006a2e program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __pa_54 0x0039f0 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_54 0x006a3c program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __pa_55 0x003a02 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_55 0x006a46 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __pa_56 0x003a14 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_56 0x006a50 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __pa_57 0x006a5a program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __pa_57 0x003a26 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_58 0x006a62 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __pa_58 0x003a38 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_59 0x006a6a program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __pa_59 0x003a4a program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_6 0x0067cc program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __pa_6 0x00821a program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c - __pa_6 0x0085d8 program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c - __pa_6 0x0077e2 program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c - __pa_6 0x003694 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_6 0x0087fc program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb_print.c - __pa_60 0x003a52 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_60 0x006a78 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __pa_61 0x003a60 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_61 0x006a82 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __pa_62 0x003a64 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_62 0x006a88 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __pa_63 0x003a6a program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_63 0x006aa2 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __pa_64 0x003a82 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_64 0x006aac program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __pa_65 0x003a9a program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_65 0x006ab4 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __pa_66 0x006aba program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __pa_66 0x003aa6 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_67 0x006ac0 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __pa_67 0x003abc program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_68 0x003ad2 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_68 0x006aca program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __pa_69 0x006ad6 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __pa_69 0x003ae8 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_7 0x008224 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c - __pa_7 0x0077ea program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c - __pa_7 0x00880c program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb_print.c - __pa_7 0x0036ba program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_7 0x0067da program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __pa_7 0x0085e6 program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c - __pa_70 0x006ae0 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __pa_70 0x003afe program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_71 0x003b14 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_71 0x006af6 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __pa_72 0x006b04 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __pa_72 0x003b22 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_73 0x006b16 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __pa_73 0x003b2c program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_74 0x006b1c program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __pa_74 0x003b36 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_75 0x006b2c program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __pa_75 0x003b40 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_76 0x006b3c program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __pa_76 0x003b4a program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_77 0x006b46 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __pa_77 0x003b50 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_78 0x006b50 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __pa_78 0x003b64 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_79 0x003b76 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_79 0x006b58 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __pa_8 0x00822c program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c - __pa_8 0x0036d8 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_8 0x0067e4 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __pa_8 0x0085f4 program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c - __pa_8 0x00881a program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb_print.c - __pa_8 0x0077fa program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c - __pa_80 0x006b5e program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __pa_80 0x003b88 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_81 0x006b6a program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __pa_81 0x003b9a program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_82 0x006b78 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __pa_82 0x003bac program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_83 0x006b86 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __pa_83 0x003bb8 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_84 0x006b92 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __pa_84 0x003bca program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_85 0x003bdc program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_85 0x006ba0 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __pa_86 0x006bac program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __pa_86 0x003bee program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_87 0x006bb6 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __pa_87 0x003c00 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_88 0x006bc4 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __pa_88 0x003c12 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_89 0x006bd0 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __pa_89 0x003c24 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_9 0x008234 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c - __pa_9 0x007804 program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c - __pa_9 0x0067ec program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __pa_9 0x008824 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb_print.c - __pa_9 0x0036e4 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_9 0x0085fe program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c - __pa_90 0x003c36 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_90 0x006bdc program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __pa_91 0x003c48 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_91 0x006be6 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __pa_92 0x006bf0 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __pa_92 0x003c5a program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_93 0x006bfa program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __pa_93 0x003c6c program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_94 0x006c02 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __pa_94 0x003c7e program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_95 0x006c0a program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __pa_95 0x003c90 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_96 0x006c12 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __pa_96 0x003c9c program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_97 0x006c20 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __pa_97 0x003ca8 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_98 0x006c2c program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __pa_98 0x003cae program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_99 0x006c32 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __pa_99 0x003cba program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __string_0 0x007ccc program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __string_1 0x007cc7 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __string_1 0x007e77 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __string_10 0x007d88 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __string_10 0x007c1e program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __string_11 0x007d5f program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __string_11 0x007bfa program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __string_12 0x007d45 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __string_12 0x007bce program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __string_13 0x007d43 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __string_13 0x007ba0 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __string_14 0x007d40 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __string_14 0x007b7c program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __string_15 0x007d3d program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __string_15 0x007b4e program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __string_16 0x007b1d program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __string_16 0x007d3a program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __string_17 0x007aec program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __string_17 0x007d32 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __string_18 0x007adf program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __string_18 0x007d2a program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __string_19 0x007ad9 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __string_19 0x007d22 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __string_2 0x007e73 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __string_2 0x007cc2 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __string_20 0x007d1a program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __string_20 0x007ad3 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __string_21 0x007ac9 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __string_21 0x007d12 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __string_22 0x007a9c program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __string_22 0x007d0a program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __string_23 0x007a6c program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __string_23 0x007d02 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __string_24 0x007a43 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __string_24 0x007cfa program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __string_25 0x007cd8 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __string_25 0x007a13 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __string_26 0x007cd0 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __string_26 0x0079ea program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __string_3 0x007e56 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __string_3 0x007cbd program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __string_4 0x007e3c program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __string_4 0x007cb8 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __string_5 0x007cb3 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __string_5 0x007e22 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __string_6 0x007cae program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __string_6 0x007e05 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __string_7 0x007ca9 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __string_7 0x007de5 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __string_8 0x007dcd program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __string_8 0x007c78 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __string_9 0x007dae program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __string_9 0x007c4c program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __tmplbl_146 0x0067e4 program static - __tmplbl_147 0x0067e4 program static - __tmplbl_159 0x0067e4 program static - __tmplbl_160 0x0067e4 program static - __tmplbl_161 0x0067e4 program static - __tmplbl_200 0x0067e4 program static - __tmplbl_201 0x0067e4 program static - __tmplbl_203 0x0067e4 program static - __tmplbl_204 0x0067e4 program static - __tmplbl_205 0x0067e4 program static - __tmplbl_206 0x0067e4 program static - __tmplbl_207 0x0067e4 program static - __tmplbl_208 0x0067e4 program static - __tmplbl_212 0x0067e4 program static - __tmplbl_213 0x0067e4 program static - __tmplbl_214 0x0067e4 program static - __tmplbl_218 0x0067e4 program static - __tmplbl_219 0x0067e4 program static - __tmplbl_223 0x0067e4 program static - __tmplbl_225 0x0067e4 program static - __tmplbl_24 0x0077e2 program static - __tmplbl_295 0x003738 program static - __tmplbl_296 0x003a60 program static - __tmplbl_297 0x003a60 program static - __tmplbl_298 0x003a60 program static - __tmplbl_299 0x003a60 program static - __tmplbl_305 0x003738 program static - __tmplbl_310 0x003738 program static - __tmplbl_318 0x003738 program static - __tmplbl_321 0x003738 program static - __tmplbl_330 0x003738 program static - __tmplbl_332 0x003738 program static - __tmplbl_340 0x003738 program static - __tmplbl_341 0x003738 program static - __tmplbl_349 0x003a60 program static - __tmplbl_35 0x0077e2 program static - __tmplbl_352 0x0041c2 program static - __tmplbl_356 0x004060 program static - __tmplbl_357 0x004060 program static - __tmplbl_358 0x0040d8 program static - __tmplbl_359 0x004060 program static - __tmplbl_360 0x004060 program static - __tmplbl_361 0x0041c2 program static - __tmplbl_362 0x0041ca program static - __tmplbl_363 0x0041ca program static - __tmplbl_364 0x0040d8 program static - __tmplbl_38 0x0077e2 program static - __tmplbl_39 0x0077e2 program static - __tmplbl_40 0x0077e2 program static - __tmplbl_78 0x005318 program static - __tmplbl_79 0x005302 program static - __tmplbl_80 0x005356 program static - __tmplbl_81 0x005340 program static - __zero_memory 0x0090ce program extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm - _do_cinit 0x008d2a program extern C:\MCC18\src\traditional\startup\c018i.c - _false 0x00903e program static + ___return_lbl00050 0x00474e program static + ___return_lbl00213 0x00579c program static + ___return_lbl00412 0x001cfe program static + ___return_lbl00423 0x005f4c program static + ___return_lbl00429 0x005f64 program static + ___return_lbl00430 0x005f72 program static + ___switchexit_lbl00239 0x0055b8 program static + ___while_lbl00001 0x008960 program static + ___while_lbl00001 0x008e2c program static + ___while_lbl00002 0x008e5e program static + ___while_lbl00002 0x008a3c program static + ___while_lbl00003 0x008984 program static + ___while_lbl00004 0x0089c0 program static + ___while_lbl00051 0x004724 program static + ___while_lbl00052 0x00474e program static + ___while_lbl00226 0x0053f4 program static + ___while_lbl00227 0x0053fe program static + ___while_lbl00263 0x005716 program static + ___while_lbl00264 0x005740 program static + ___while_lbl00426 0x005f3a program static + ___while_lbl00427 0x005f48 program static + __init 0x00913c program extern E:\3.46\pic18-lt\cxx-framework\src\traditional\stdclib\__init.c + __pa_0 0x0077c6 program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c + __pa_0 0x0081f0 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c + __pa_0 0x008798 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb_print.c + __pa_0 0x003548 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_0 0x008c8c program static E:\3.46\pic18-lt\cxx-framework\src\pmc_common\Flash\EraseFlash.c + __pa_0 0x0067be program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __pa_0 0x00858c program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c + __pa_1 0x0081f8 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c + __pa_1 0x0067c4 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __pa_1 0x0077ce program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c + __pa_1 0x0087b2 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb_print.c + __pa_1 0x0085a6 program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c + __pa_1 0x003554 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_10 0x008258 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c + __pa_10 0x00862c program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c + __pa_10 0x003716 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_10 0x00782c program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c + __pa_10 0x006812 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __pa_10 0x008856 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb_print.c + __pa_100 0x003ce2 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_100 0x006c56 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __pa_101 0x003cec program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_101 0x006c60 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __pa_102 0x003cfc program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_102 0x006c68 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __pa_103 0x003d0c program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_103 0x006c70 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __pa_104 0x003d1c program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_104 0x006c78 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __pa_105 0x003d2c program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_105 0x006c80 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __pa_106 0x003d3c program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_106 0x006c88 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __pa_107 0x003d4c program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_107 0x006c90 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __pa_108 0x006c96 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __pa_108 0x003d52 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_109 0x006ca4 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __pa_109 0x003d62 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_11 0x00863a program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c + __pa_11 0x00783c program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c + __pa_11 0x00681c program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __pa_11 0x003734 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_11 0x00885e program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb_print.c + __pa_11 0x008262 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c + __pa_110 0x003d6a program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_110 0x006cac program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __pa_111 0x003d72 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_111 0x006cb6 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __pa_112 0x003d80 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_112 0x006cc0 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __pa_113 0x003d8e program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_114 0x003d9c program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_115 0x003daa program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_116 0x003db8 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_117 0x003dc6 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_118 0x003dd0 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_119 0x003dda program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_12 0x008272 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c + __pa_12 0x00886a program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb_print.c + __pa_12 0x006826 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __pa_12 0x007846 program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c + __pa_12 0x00374a program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_120 0x003de4 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_121 0x003dee program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_122 0x003df8 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_123 0x003e02 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_124 0x003e0c program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_125 0x003e16 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_126 0x003e20 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_127 0x003e76 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_128 0x003e7c program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_129 0x003e88 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_13 0x00785a program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c + __pa_13 0x006834 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __pa_13 0x003754 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_130 0x003ec4 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_131 0x003eca program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_132 0x003ed4 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_133 0x003eda program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_134 0x003ee4 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_135 0x003ef2 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_136 0x003f0a program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_137 0x003f1c program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_138 0x003f3c program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_139 0x003f50 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_14 0x00684c program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __pa_14 0x00375e program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_14 0x00786e program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c + __pa_140 0x003f6e program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_141 0x003f8c program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_142 0x003fa2 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_143 0x003fbc program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_144 0x003fca program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_145 0x003fd6 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_146 0x003fe0 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_147 0x003fea program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_148 0x003ff4 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_149 0x003ffe program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_15 0x00787a program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c + __pa_15 0x003764 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_15 0x006854 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __pa_150 0x004016 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_151 0x00402e program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_152 0x004036 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_153 0x004040 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_154 0x004048 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_155 0x004052 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_156 0x004068 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_157 0x004076 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_158 0x004082 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_159 0x00408a program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_16 0x006860 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __pa_16 0x007894 program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c + __pa_16 0x00376e program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_160 0x00409c program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_161 0x0040ae program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_162 0x0040ba program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_163 0x0040c6 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_164 0x0040d6 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_165 0x0040e8 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_166 0x0040fa program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_167 0x0040fe program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_168 0x00410e program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_169 0x004118 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_17 0x006868 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __pa_17 0x0078a0 program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c + __pa_17 0x003788 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_170 0x004122 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_171 0x00412c program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_172 0x00413c program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_173 0x00414a program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_174 0x004158 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_175 0x004166 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_176 0x004174 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_177 0x004182 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_178 0x00418e program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_179 0x00419a program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_18 0x0037a6 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_18 0x0078ac program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c + __pa_18 0x006872 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __pa_180 0x0041a8 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_181 0x0041b6 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_182 0x0041be program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_183 0x0041c8 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_184 0x0041d2 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_185 0x0041dc program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_186 0x0041e4 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_187 0x0041ec program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_188 0x0041f4 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_189 0x0041fc program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_19 0x0078b4 program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c + __pa_19 0x0037ae program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_19 0x00687a program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __pa_190 0x004220 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_191 0x004236 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_192 0x004250 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_193 0x00425e program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_194 0x004276 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_195 0x004282 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_196 0x00428a program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_197 0x004292 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_198 0x00429a program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_199 0x0042a2 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_2 0x0085b6 program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c + __pa_2 0x0077d8 program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c + __pa_2 0x0067ca program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __pa_2 0x00356a program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_2 0x008202 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c + __pa_2 0x0087cc program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb_print.c + __pa_20 0x00688e program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __pa_20 0x0037b6 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_20 0x0078bc program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c + __pa_200 0x0042ac program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_201 0x0042be program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_202 0x0042c8 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_203 0x0042d6 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_204 0x0042e4 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_205 0x0042f0 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_206 0x0042fc program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_207 0x004304 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_208 0x00430a program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_209 0x004314 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_21 0x00689a program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __pa_21 0x0037be program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_21 0x0078c8 program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c + __pa_210 0x00431c program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_211 0x004324 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_212 0x00432a program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_213 0x00433a program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_214 0x004346 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_215 0x004350 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_216 0x00435c program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_217 0x004364 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_22 0x0068a2 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __pa_22 0x0078d8 program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c + __pa_22 0x0037c4 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_23 0x0068ac program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __pa_23 0x0037d8 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_23 0x0078e6 program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c + __pa_24 0x0037ec program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_24 0x0068ba program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __pa_24 0x0078f4 program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c + __pa_25 0x0037f8 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_25 0x0068cc program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __pa_25 0x007902 program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c + __pa_26 0x003822 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_26 0x0068d4 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __pa_26 0x007910 program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c + __pa_27 0x003834 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_27 0x00791a program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c + __pa_27 0x0068e0 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __pa_28 0x006902 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __pa_28 0x007932 program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c + __pa_28 0x003846 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_29 0x003852 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_29 0x00793e program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c + __pa_29 0x006910 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __pa_3 0x003570 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_3 0x0087ea program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb_print.c + __pa_3 0x0085c8 program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c + __pa_3 0x008212 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c + __pa_3 0x0077e0 program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c + __pa_3 0x0067d2 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __pa_30 0x003860 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_30 0x00691e program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __pa_30 0x007946 program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c + __pa_31 0x006940 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __pa_31 0x003876 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_31 0x00795a program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c + __pa_32 0x00694a program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __pa_32 0x003888 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_32 0x00796c program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c + __pa_33 0x003894 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_33 0x00797a program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c + __pa_33 0x006950 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __pa_34 0x00389a program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_34 0x00695e program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __pa_34 0x007984 program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c + __pa_35 0x0038a8 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_35 0x00798e program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c + __pa_35 0x006964 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __pa_36 0x007994 program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c + __pa_36 0x0038b6 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_36 0x006980 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __pa_37 0x00698a program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __pa_37 0x00799c program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c + __pa_37 0x0038da program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_38 0x0038fe program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_38 0x0079a2 program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c + __pa_38 0x006994 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __pa_39 0x0079b0 program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c + __pa_39 0x00699e program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __pa_39 0x003912 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_4 0x008802 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb_print.c + __pa_4 0x0085e2 program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c + __pa_4 0x0035ba program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_4 0x0067d8 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __pa_4 0x0077ea program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c + __pa_4 0x00821e program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c + __pa_40 0x003924 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_40 0x0079be program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c + __pa_40 0x0069a8 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __pa_41 0x0079cc program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c + __pa_41 0x0069b2 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __pa_41 0x003936 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_42 0x003948 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_42 0x0069ca program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __pa_42 0x0079d6 program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c + __pa_43 0x0079e0 program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c + __pa_43 0x00395a program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_43 0x0069d2 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __pa_44 0x0079e8 program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c + __pa_44 0x0069d8 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __pa_44 0x003976 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_45 0x0069e2 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __pa_45 0x0079f4 program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c + __pa_45 0x00398e program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_46 0x0069ee program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __pa_46 0x0079fe program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c + __pa_46 0x003998 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_47 0x0069fa program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __pa_47 0x0039a6 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_48 0x006a04 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __pa_48 0x0039c6 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_49 0x006a12 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __pa_49 0x0039d6 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_5 0x0035f0 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_5 0x0077f4 program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c + __pa_5 0x00822a program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c + __pa_5 0x0067e0 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __pa_5 0x0085ec program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c + __pa_5 0x00880c program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb_print.c + __pa_50 0x0039e2 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_50 0x006a20 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __pa_51 0x006a2e program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __pa_51 0x0039ee program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_52 0x006a3c program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __pa_52 0x0039fa program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_53 0x003a1c program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_53 0x006a4a program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __pa_54 0x003a22 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_54 0x006a58 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __pa_55 0x003a38 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_55 0x006a62 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __pa_56 0x003a4a program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_56 0x006a6c program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __pa_57 0x006a76 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __pa_57 0x003a5c program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_58 0x006a7e program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __pa_58 0x003a6e program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_59 0x006a86 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __pa_59 0x003a80 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_6 0x0067e8 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __pa_6 0x008236 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c + __pa_6 0x0085f4 program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c + __pa_6 0x0077fe program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c + __pa_6 0x0036ba program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_6 0x008818 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb_print.c + __pa_60 0x003a92 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_60 0x006a94 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __pa_61 0x003a9a program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_61 0x006a9e program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __pa_62 0x003aa8 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_62 0x006aa4 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __pa_63 0x003aac program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_63 0x006abe program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __pa_64 0x003ab2 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_64 0x006ac8 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __pa_65 0x003aca program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_65 0x006ad0 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __pa_66 0x006ad6 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __pa_66 0x003ae2 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_67 0x006adc program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __pa_67 0x003aee program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_68 0x003b04 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_68 0x006ae6 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __pa_69 0x006af2 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __pa_69 0x003b1a program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_7 0x008240 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c + __pa_7 0x007806 program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c + __pa_7 0x008828 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb_print.c + __pa_7 0x0036e0 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_7 0x0067f6 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __pa_7 0x008602 program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c + __pa_70 0x006afc program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __pa_70 0x003b30 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_71 0x003b46 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_71 0x006b12 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __pa_72 0x006b20 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __pa_72 0x003b5c program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_73 0x006b32 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __pa_73 0x003b6a program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_74 0x006b38 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __pa_74 0x003b74 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_75 0x006b48 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __pa_75 0x003b7e program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_76 0x006b58 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __pa_76 0x003b88 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_77 0x006b62 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __pa_77 0x003b92 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_78 0x006b6c program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __pa_78 0x003b98 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_79 0x003bac program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_79 0x006b74 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __pa_8 0x008248 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c + __pa_8 0x0036fe program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_8 0x006800 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __pa_8 0x008610 program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c + __pa_8 0x008836 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb_print.c + __pa_8 0x007816 program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c + __pa_80 0x006b7a program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __pa_80 0x003bbe program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_81 0x006b86 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __pa_81 0x003bd0 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_82 0x006b94 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __pa_82 0x003bdc program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_83 0x006ba2 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __pa_83 0x003bee program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_84 0x006bae program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __pa_84 0x003c00 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_85 0x003c12 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_85 0x006bbc program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __pa_86 0x006bc8 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __pa_86 0x003c24 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_87 0x006bd2 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __pa_87 0x003c36 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_88 0x006be0 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __pa_88 0x003c48 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_89 0x006bec program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __pa_89 0x003c5a program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_9 0x008250 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c + __pa_9 0x007820 program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c + __pa_9 0x006808 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __pa_9 0x008840 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb_print.c + __pa_9 0x00370a program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_9 0x00861a program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c + __pa_90 0x003c6c program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_90 0x006bf8 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __pa_91 0x003c7e program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_91 0x006c02 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __pa_92 0x006c0c program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __pa_92 0x003c90 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_93 0x006c16 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __pa_93 0x003c9c program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_94 0x006c1e program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __pa_94 0x003ca8 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_95 0x006c26 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __pa_95 0x003cae program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_96 0x006c2e program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __pa_96 0x003cba program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_97 0x006c3c program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __pa_97 0x003cc4 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_98 0x006c48 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __pa_98 0x003cce program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_99 0x006c4e program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __pa_99 0x003cd8 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __string_0 0x007ce8 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __string_1 0x007ce3 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __string_1 0x007e93 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __string_10 0x007da4 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __string_10 0x007c3a program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __string_11 0x007d7b program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __string_11 0x007c16 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __string_12 0x007d61 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __string_12 0x007bea program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __string_13 0x007d5f program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __string_13 0x007bbc program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __string_14 0x007d5c program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __string_14 0x007b98 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __string_15 0x007d59 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __string_15 0x007b6a program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __string_16 0x007b39 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __string_16 0x007d56 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __string_17 0x007b08 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __string_17 0x007d4e program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __string_18 0x007afb program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __string_18 0x007d46 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __string_19 0x007af5 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __string_19 0x007d3e program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __string_2 0x007e8f program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __string_2 0x007cde program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __string_20 0x007d36 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __string_20 0x007aef program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __string_21 0x007ae5 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __string_21 0x007d2e program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __string_22 0x007ab8 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __string_22 0x007d26 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __string_23 0x007a88 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __string_23 0x007d1e program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __string_24 0x007a5f program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __string_24 0x007d16 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __string_25 0x007cf4 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __string_25 0x007a2f program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __string_26 0x007cec program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __string_26 0x007a06 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __string_3 0x007e72 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __string_3 0x007cd9 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __string_4 0x007e58 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __string_4 0x007cd4 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __string_5 0x007ccf program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __string_5 0x007e3e program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __string_6 0x007cca program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __string_6 0x007e21 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __string_7 0x007cc5 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __string_7 0x007e01 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __string_8 0x007de9 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __string_8 0x007c94 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __string_9 0x007dca program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __string_9 0x007c68 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __tmplbl_146 0x006800 program static + __tmplbl_147 0x006800 program static + __tmplbl_159 0x006800 program static + __tmplbl_160 0x006800 program static + __tmplbl_161 0x006800 program static + __tmplbl_200 0x006800 program static + __tmplbl_201 0x006800 program static + __tmplbl_203 0x006800 program static + __tmplbl_204 0x006800 program static + __tmplbl_205 0x006800 program static + __tmplbl_206 0x006800 program static + __tmplbl_207 0x006800 program static + __tmplbl_208 0x006800 program static + __tmplbl_212 0x006800 program static + __tmplbl_213 0x006800 program static + __tmplbl_214 0x006800 program static + __tmplbl_218 0x006800 program static + __tmplbl_219 0x006800 program static + __tmplbl_223 0x006800 program static + __tmplbl_225 0x006800 program static + __tmplbl_24 0x0077fe program static + __tmplbl_294 0x00375e program static + __tmplbl_295 0x003aa8 program static + __tmplbl_296 0x003aa8 program static + __tmplbl_297 0x003aa8 program static + __tmplbl_298 0x003aa8 program static + __tmplbl_304 0x00375e program static + __tmplbl_309 0x00375e program static + __tmplbl_317 0x00375e program static + __tmplbl_320 0x00375e program static + __tmplbl_329 0x00375e program static + __tmplbl_331 0x00375e program static + __tmplbl_339 0x00375e program static + __tmplbl_340 0x00375e program static + __tmplbl_348 0x003aa8 program static + __tmplbl_35 0x0077fe program static + __tmplbl_351 0x0041e4 program static + __tmplbl_355 0x004082 program static + __tmplbl_356 0x004082 program static + __tmplbl_357 0x0040fa program static + __tmplbl_358 0x004082 program static + __tmplbl_359 0x004082 program static + __tmplbl_360 0x0041e4 program static + __tmplbl_361 0x0041ec program static + __tmplbl_362 0x0041ec program static + __tmplbl_363 0x0040fa program static + __tmplbl_38 0x0077fe program static + __tmplbl_39 0x0077fe program static + __tmplbl_40 0x0077fe program static + __tmplbl_78 0x005334 program static + __tmplbl_79 0x00531e program static + __tmplbl_80 0x005372 program static + __tmplbl_81 0x00535c program static + __zero_memory 0x0090ea program extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm + _do_cinit 0x008d46 program extern C:\MCC18\src\traditional\startup\c018i.c + _false 0x00905a program static _reset 0x001000 program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c - _startup 0x0090ee program extern C:\MCC18\src\traditional\startup\c018i.c - check_and_send_TX_data 0x004bc6 program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - check_high_water 0x004746 program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - clear_StepCounters 0x00350c program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - compare_l 0x0090e4 program static E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm - configDescriptor1 0x008fb6 program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\usb_descriptors.c - copy_loop 0x008d9c program static - copy_one_byte 0x008da2 program static - device_dsc 0x008fa4 program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\usb_descriptors.c - done 0x008dc6 program static - done_copying 0x008db0 program static - ebb_print 0x00862a program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb_print.c - ebb_print_hex 0x008664 program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb_print.c - ebb_print_int 0x008710 program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb_print.c - ebb_print_ram 0x00864c program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb_print.c - ebb_print_uint 0x0086d8 program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb_print.c - ebb_putc 0x004b68 program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - extract_digit 0x00652e program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - extract_number 0x0062bc program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - extract_string 0x006246 program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - fill_stack 0x0046c8 program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - getsUSBUSART 0x00837e program extern C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c + _startup 0x00910a program extern C:\MCC18\src\traditional\startup\c018i.c + check_and_send_TX_data 0x004be2 program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + check_high_water 0x004762 program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + clear_StepCounters 0x003536 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + compare_l 0x009100 program static E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm + configDescriptor1 0x008fd2 program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\usb_descriptors.c + copy_loop 0x008db8 program static + copy_one_byte 0x008dbe program static + device_dsc 0x008fc0 program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\usb_descriptors.c + done 0x008de2 program static + done_copying 0x008dcc program static + ebb_print 0x008646 program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb_print.c + ebb_print_hex 0x008680 program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb_print.c + ebb_print_int 0x00872c program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb_print.c + ebb_print_ram 0x008668 program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb_print.c + ebb_print_uint 0x0086f4 program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb_print.c + ebb_putc 0x004b84 program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + extract_digit 0x00654a program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + extract_number 0x0062d8 program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + extract_string 0x006262 program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + fill_stack 0x0046e4 program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + getsUSBUSART 0x00839a program extern C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c high_ISR 0x001050 program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - jEnd 0x009076 program static E:\3.46\pic18-lt\cxx-framework\src\traditional\stdclib\memset.asm - jLoop 0x009058 program static E:\3.46\pic18-lt\cxx-framework\src\traditional\stdclib\memset.asm - jNoMatch 0x0090cc program static E:\3.46\pic18-lt\cxx-framework\src\traditional\stdclib\toupper.asm - loop 0x00900a program static - loop 0x0090fe program static - loop_h 0x0090dc program static E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm - loop_l 0x0090e6 program static E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm - low_ISR 0x004352 program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - main 0x008a38 program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c - memset 0x009044 program extern E:\3.46\pic18-lt\cxx-framework\src\traditional\stdclib\memset.asm - parse_AC_packet 0x00599e program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - parse_A_packet 0x005a78 program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - parse_BL_packet 0x005f3a program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - parse_CK_packet 0x005fde program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - parse_CS_packet 0x003518 program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - parse_CU_packet 0x005298 program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - parse_C_packet 0x005872 program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - parse_EM_packet 0x003002 program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - parse_ES_packet 0x002d3a program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - parse_HM_packet 0x0024f8 program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - parse_I_packet 0x005a3e program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - parse_L3_packet 0x001eee program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - parse_LM_packet 0x001e90 program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - parse_LT_packet 0x001fa4 program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - parse_MR_packet 0x005b72 program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - parse_MW_packet 0x005b3c program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - parse_ND_packet 0x0030a4 program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - parse_NI_packet 0x00307e program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - parse_O_packet 0x0059d2 program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - parse_PD_packet 0x005bb0 program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - parse_PI_packet 0x005ce8 program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - parse_PO_packet 0x005dd2 program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - parse_QB_packet 0x00319e program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - parse_QC_packet 0x0031c6 program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - parse_QE_packet 0x002e06 program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - parse_QG_packet 0x0031f4 program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - parse_QL_packet 0x00315a program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - parse_QM_packet 0x003428 program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - parse_QN_packet 0x0030fe program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - parse_QP_packet 0x002dd4 program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - parse_QR_packet 0x005f58 program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - parse_QS_packet 0x0034a8 program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - parse_QT_packet 0x006206 program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - parse_QU_packet 0x005794 program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - parse_RB_packet 0x005f4a program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - parse_R_packet 0x00528a program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - parse_SC_packet 0x001d0a program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - parse_SE_packet 0x003258 program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - parse_SL_packet 0x003122 program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - parse_SM_packet 0x0023ca program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - parse_SN_packet 0x0030c2 program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - parse_SP_packet 0x002f18 program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - parse_SR_packet 0x005f78 program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - parse_ST_packet 0x00619a program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - parse_T3_packet 0x001f64 program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - parse_TP_packet 0x002ed0 program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - parse_V_packet 0x005a6a program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - parse_XM_packet 0x00289c program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - parse_packet 0x004c12 program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -populateDeviceStringWithName 0x006114 program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - pow2x16 0x00910a program extern E:\3.46\pic18-lt\cxx-framework\src\traditional\math\pow2x16.c - print_command 0x005208 program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - print_line_ending 0x005244 program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - print_status 0x0065fc program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - process_QM 0x00339e program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - process_SP 0x002f8a program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - process_low_level_move 0x001fe0 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -process_simple_motor_move 0x0029fa program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - putUSBUSART 0x0083fc program extern C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c - putrsUSBUSART 0x008454 program extern C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c - putsUSBUSART 0x008414 program extern C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c - st_version 0x008c7e program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - test 0x008d44 program static - toupper 0x0090a6 program extern E:\3.46\pic18-lt\cxx-framework\src\traditional\stdclib\toupper.asm - zero_block 0x0090dc program static E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm + jEnd 0x009092 program static E:\3.46\pic18-lt\cxx-framework\src\traditional\stdclib\memset.asm + jLoop 0x009074 program static E:\3.46\pic18-lt\cxx-framework\src\traditional\stdclib\memset.asm + jNoMatch 0x0090e8 program static E:\3.46\pic18-lt\cxx-framework\src\traditional\stdclib\toupper.asm + loop 0x009026 program static + loop 0x00911a program static + loop_h 0x0090f8 program static E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm + loop_l 0x009102 program static E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm + low_ISR 0x00436e program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + main 0x008a54 program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c + memset 0x009060 program extern E:\3.46\pic18-lt\cxx-framework\src\traditional\stdclib\memset.asm + parse_AC_packet 0x0059ba program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + parse_A_packet 0x005a94 program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + parse_BL_packet 0x005f56 program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + parse_CK_packet 0x005ffa program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + parse_CS_packet 0x00353e program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + parse_CU_packet 0x0052b4 program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + parse_C_packet 0x00588e program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + parse_EM_packet 0x00302c program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + parse_ES_packet 0x002d64 program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + parse_HM_packet 0x00250c program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + parse_I_packet 0x005a5a program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + parse_L3_packet 0x001eec program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + parse_LM_packet 0x001e8e program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + parse_LT_packet 0x001fa2 program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + parse_MR_packet 0x005b8e program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + parse_MW_packet 0x005b58 program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + parse_ND_packet 0x0030ce program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + parse_NI_packet 0x0030a8 program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + parse_O_packet 0x0059ee program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + parse_PD_packet 0x005bcc program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + parse_PI_packet 0x005d04 program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + parse_PO_packet 0x005dee program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + parse_QB_packet 0x0031c8 program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + parse_QC_packet 0x0031f0 program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + parse_QE_packet 0x002e30 program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + parse_QG_packet 0x00321e program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + parse_QL_packet 0x003184 program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + parse_QM_packet 0x003452 program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + parse_QN_packet 0x003128 program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + parse_QP_packet 0x002dfe program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + parse_QR_packet 0x005f74 program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + parse_QS_packet 0x0034d2 program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + parse_QT_packet 0x006222 program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + parse_QU_packet 0x0057b0 program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + parse_RB_packet 0x005f66 program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + parse_R_packet 0x0052a6 program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + parse_SC_packet 0x001d08 program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + parse_SE_packet 0x003282 program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + parse_SL_packet 0x00314c program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + parse_SM_packet 0x0023de program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + parse_SN_packet 0x0030ec program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + parse_SP_packet 0x002f42 program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + parse_SR_packet 0x005f94 program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + parse_ST_packet 0x0061b6 program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + parse_T3_packet 0x001f62 program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + parse_TP_packet 0x002efa program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + parse_V_packet 0x005a86 program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + parse_XM_packet 0x0028b0 program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + parse_packet 0x004c2e program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +populateDeviceStringWithName 0x006130 program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + pow2x16 0x009126 program extern E:\3.46\pic18-lt\cxx-framework\src\traditional\math\pow2x16.c + print_command 0x005224 program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + print_line_ending 0x005260 program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + print_status 0x006618 program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + process_QM 0x0033c8 program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + process_SP 0x002fb4 program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + process_low_level_move 0x001fde program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +process_simple_motor_move 0x002a0e program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + putUSBUSART 0x008418 program extern C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c + putrsUSBUSART 0x008470 program extern C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c + putsUSBUSART 0x008430 program extern C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c + st_version 0x008c9a program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + test 0x008d60 program static + toupper 0x0090c2 program extern E:\3.46\pic18-lt\cxx-framework\src\traditional\stdclib\toupper.asm + zero_block 0x0090f8 program static E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm ADCON0 0x000fc2 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm ADCON0bits 0x000fc2 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm ADCON1 0x000fc1 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm @@ -1013,7 +1011,7 @@ process_simple_motor_move 0x0029fa program static C:\Projects\EggBot_GH BDT 0x000400 data extern C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c BSR 0x000fe0 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm BaudRateGen 0x00059c data extern C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c - BothEP0OutUOWNsSet 0x0001ea data extern C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c + BothEP0OutUOWNsSet 0x0005cf data extern C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c ButtonPushed 0x000007 data static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c CCP1CON 0x000fba data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm CCP1CONbits 0x000fba data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm @@ -1069,7 +1067,7 @@ process_simple_motor_move 0x0029fa program static C:\Projects\EggBot_GH DSWAKEL 0x000f4a data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm DSWAKELbits 0x000f4a data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm D_tick_counter 0x00009b data extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - DemoModeActive 0x000b53 data extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + DemoModeActive 0x0001af data extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c DriverConfiguration 0x000004 data extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c ECCP1AS 0x000fbe data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm ECCP1ASbits 0x000fbe data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm @@ -1136,9 +1134,9 @@ process_simple_motor_move 0x0029fa program static C:\Projects\EggBot_GH LATDbits 0x000f8c data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm LATE 0x000f8d data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm LATEbits 0x000f8d data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm - LEDCount 0x0001fb data static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - LEDState 0x0001fd data static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - NodeCount 0x000b5b data static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + LEDCount 0x0001fd data static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + LEDState 0x0001ff data static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + NodeCount 0x0001b5 data static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c ODCON1 0x000f42 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm ODCON1bits 0x000f42 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm ODCON2 0x000f41 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm @@ -1231,9 +1229,9 @@ process_simple_motor_move 0x0029fa program static C:\Projects\EggBot_GH PWM1CONbits 0x000fbd data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm PWM2CON 0x000fb7 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm PWM2CONbits 0x000fb7 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm - PenState 0x000b5a data static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + PenState 0x0001b4 data static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c PortBTemp 0x00000b data static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - QC_ms_timer 0x000b7f data extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + QC_ms_timer 0x0001b9 data extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c RC2Difference 0x0000e2 data static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c RCON 0x000fd0 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm RCONbits 0x000fd0 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm @@ -1294,8 +1292,8 @@ process_simple_motor_move 0x0029fa program static C:\Projects\EggBot_GH RXADDRH 0x000f68 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm RXADDRHbits 0x000f68 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm RXADDRL 0x000f69 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm - RemoteWakeup 0x0001e6 data extern C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c - SIGN 0x000023 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\math\cmath18.asm + RemoteWakeup 0x0005cb data extern C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c + SIGN 0x000037 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\math\cmath18.asm SPBRG 0x000fb0 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm SPBRG1 0x000fb0 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm SPBRG2 0x000fab data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm @@ -1334,9 +1332,9 @@ process_simple_motor_move 0x0029fa program static C:\Projects\EggBot_GH STKPTR 0x000ffc data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm STKPTRbits 0x000ffc data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm SetupPkt 0x000430 data extern C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c - SolenoidDelay 0x000b58 data static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - SolenoidState 0x000b57 data static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - StoredEngraverPower 0x000b80 data static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + SolenoidDelay 0x0001b2 data static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + SolenoidState 0x0001b1 data static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + StoredEngraverPower 0x0001ba data static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c T0CON 0x000fd5 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm T0CONbits 0x000fd5 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm T1CON 0x000fcd data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm @@ -1445,60 +1443,60 @@ process_simple_motor_move 0x0029fa program static C:\Projects\EggBot_GH UIR 0x000f62 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm UIRbits 0x000f62 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm USART1_Status 0x0000fc data extern E:\3.46\pic18-lt\cxx-framework\src\pmc_common\USART\u1defs.c - USBActiveConfiguration 0x0001c4 data extern C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c - USBAlternateInterface 0x0001c5 data extern C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c - USBBusIsSuspended 0x0001e7 data extern C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -USBDeferINDataStagePackets 0x0001f5 data extern C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -USBDeferOUTDataStagePackets 0x0001f6 data extern C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -USBDeferStatusStagePacket 0x0001f2 data extern C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c - USBDeviceState 0x0001c3 data extern C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -USBStatusStageEnabledFlag1 0x0001f3 data extern C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -USBStatusStageEnabledFlag2 0x0001f4 data extern C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -USBStatusStageTimeoutCounter 0x0001f1 data extern C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c + USBActiveConfiguration 0x0005a9 data extern C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c + USBAlternateInterface 0x0005aa data extern C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c + USBBusIsSuspended 0x0005cc data extern C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +USBDeferINDataStagePackets 0x0005da data extern C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +USBDeferOUTDataStagePackets 0x0005db data extern C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +USBDeferStatusStagePacket 0x0005d7 data extern C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c + USBDeviceState 0x0005a8 data extern C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +USBStatusStageEnabledFlag1 0x0005d8 data extern C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +USBStatusStageEnabledFlag2 0x0005d9 data extern C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +USBStatusStageTimeoutCounter 0x0005d6 data extern C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c USB_SD_Ptr 0x0002f6 data extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\usb_descriptors.c USTAT 0x000f64 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm USTATbits 0x000f64 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm - USTATcopy 0x0001e8 data extern C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c + USTATcopy 0x0005cd data extern C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c UseAltPause 0x000008 data static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c WDTCON 0x000fc0 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm WDTCONbits 0x000fc0 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm WREG 0x000fe8 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm - __AARGB0 0x00002c data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\math\aarg.asm - __AARGB1 0x00002b data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\math\aarg.asm - __AARGB2 0x00002a data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\math\aarg.asm - __AARGB3 0x000029 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\math\aarg.asm - __AARGB4 0x000028 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\math\aarg.asm - __AARGB5 0x000027 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\math\aarg.asm - __AARGB6 0x000026 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\math\aarg.asm - __AARGB7 0x000025 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\math\aarg.asm - __AEXP 0x00002d data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\math\aarg.asm - __BARGB0 0x000031 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\math\barg.asm - __BARGB1 0x000030 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\math\barg.asm - __BARGB2 0x00002f data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\math\barg.asm - __BARGB3 0x00002e data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\math\barg.asm - __BEXP 0x000032 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\math\barg.asm - __FPFLAGS 0x000024 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\math\cmath18.asm - __FPFLAGSbits 0x000024 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\math\cmath18.asm - __REMB0 0x000028 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\math\aarg.asm - __REMB1 0x000027 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\math\aarg.asm - __REMB2 0x000026 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\math\aarg.asm - __REMB3 0x000025 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\math\aarg.asm - __tmp_0 0x000033 data static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c - __tmp_0 0x000033 data static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c - __tmp_0 0x000033 data static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __tmp_0 0x000033 data static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c - __tmp_0 0x000033 data static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c - __tmp_0 0x000033 data static E:\3.46\pic18-lt\cxx-framework\src\pmc_common\Flash\EraseFlash.c - __tmp_0 0x000033 data static E:\3.46\pic18-lt\cxx-framework\src\pmc_common\USART\u1open.c - __tmp_0 0x000033 data static E:\3.46\pic18-lt\cxx-framework\src\pmc_common\Flash\ReadFlash.c - __tmp_0 0x000033 data static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __tmp_0 0x000033 data static E:\3.46\pic18-lt\cxx-framework\src\pmc_common\Flash\WriteBytesFlash.c - __tmp_0 0x000033 data static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb_print.c - __tmp_1 0x00003f data static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __tmp_1 0x00003b data static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - acc_union 0x0001af data static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - button_ctr 0x0001f9 data static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - button_state 0x0001f8 data static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __AARGB0 0x000040 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\math\aarg.asm + __AARGB1 0x00003f data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\math\aarg.asm + __AARGB2 0x00003e data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\math\aarg.asm + __AARGB3 0x00003d data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\math\aarg.asm + __AARGB4 0x00003c data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\math\aarg.asm + __AARGB5 0x00003b data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\math\aarg.asm + __AARGB6 0x00003a data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\math\aarg.asm + __AARGB7 0x000039 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\math\aarg.asm + __AEXP 0x000041 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\math\aarg.asm + __BARGB0 0x000045 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\math\barg.asm + __BARGB1 0x000044 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\math\barg.asm + __BARGB2 0x000043 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\math\barg.asm + __BARGB3 0x000042 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\math\barg.asm + __BEXP 0x000046 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\math\barg.asm + __FPFLAGS 0x000038 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\math\cmath18.asm + __FPFLAGSbits 0x000038 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\math\cmath18.asm + __REMB0 0x00003c data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\math\aarg.asm + __REMB1 0x00003b data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\math\aarg.asm + __REMB2 0x00003a data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\math\aarg.asm + __REMB3 0x000039 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\math\aarg.asm + __tmp_0 0x000047 data static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c + __tmp_0 0x000047 data static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c + __tmp_0 0x000047 data static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __tmp_0 0x000047 data static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c + __tmp_0 0x000047 data static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c + __tmp_0 0x000047 data static E:\3.46\pic18-lt\cxx-framework\src\pmc_common\Flash\EraseFlash.c + __tmp_0 0x000047 data static E:\3.46\pic18-lt\cxx-framework\src\pmc_common\USART\u1open.c + __tmp_0 0x000047 data static E:\3.46\pic18-lt\cxx-framework\src\pmc_common\Flash\ReadFlash.c + __tmp_0 0x000047 data static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __tmp_0 0x000047 data static E:\3.46\pic18-lt\cxx-framework\src\pmc_common\Flash\WriteBytesFlash.c + __tmp_0 0x000047 data static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb_print.c + __tmp_1 0x000053 data static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __tmp_1 0x00004f data static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + acc_union 0x000023 data static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + button_ctr 0x0001fb data static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + button_state 0x0001fa data static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c cdc_data_rx 0x000540 data extern C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c cdc_data_tx 0x000500 data extern C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c cdc_mem_type 0x000596 data extern C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c @@ -1506,17 +1504,16 @@ USBStatusStageTimeoutCounter 0x0001f1 data extern C:\Projects\EggBot cdc_rx_len 0x00058f data extern C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c cdc_trf_state 0x000590 data extern C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c cdc_tx_len 0x000595 data extern C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c - comd_counter 0x000b55 data extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - controlTransferState 0x0001d7 data extern C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c + controlTransferState 0x0005bc data extern C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c control_signal_bitmap 0x00059b data extern C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c - curr_byte 0x00013a data static C:\MCC18\src\traditional\startup\c018i.c - curr_entry 0x00013c data static C:\MCC18\src\traditional\startup\c018i.c - data_ptr 0x00013e data static C:\MCC18\src\traditional\startup\c018i.c + curr_byte 0x0005df data static C:\MCC18\src\traditional\startup\c018i.c + curr_entry 0x0005e1 data static C:\MCC18\src\traditional\startup\c018i.c + data_ptr 0x0005e3 data static C:\MCC18\src\traditional\startup\c018i.c delay_count 0x0002fe data static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c dummy_encapsulated_cmd_response 0x0005a0 data extern C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c - endpoint_number 0x0001e9 data extern C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c - ep_data_in 0x0001eb data extern C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c - ep_data_out 0x0001ee data extern C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c + endpoint_number 0x0005ce data extern C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c + ep_data_in 0x0005d0 data extern C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c + ep_data_out 0x0005d3 data extern C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c error_byte 0x000097 data extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c gAutomaticMotorEnable 0x0000d9 data extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c gCommandChecksumRequired 0x0000df data extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c @@ -1528,19 +1525,19 @@ dummy_encapsulated_cmd_response 0x0005a0 data extern C:\Projects\Egg gFIFOIn 0x000015 data extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c gFIFOLength 0x000014 data extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c gFIFOOut 0x000016 data extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -gISRPositionForThisCommand 0x0001bf data static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -gISRStepCountForThisCommand 0x0001bb data static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -gISRTickCountForThisCommand 0x0001b7 data static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - gLimitChecks 0x000b83 data extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +gISRPositionForThisCommand 0x000033 data static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +gISRStepCountForThisCommand 0x00002f data static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +gISRTickCountForThisCommand 0x00002b data static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + gLimitChecks 0x0001bd data extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c gLimitSwitchMask 0x00000c data extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c gLimitSwitchPortB 0x0000dc data extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c gLimitSwitchReplies 0x0000dd data extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c gLimitSwitchReplyPrinted 0x0000de data extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c gLimitSwitchTarget 0x00000d data extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c gLimitSwitchTriggered 0x00000e data extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - gMoveTemp 0x000b24 data static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - gOutputStr 0x000129 data static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb_print.c - gPos 0x000135 data static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb_print.c + gMoveTemp 0x000129 data static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + gOutputStr 0x0001eb data static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb_print.c + gPos 0x0001f7 data static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb_print.c gRC2Ptr 0x00007d data extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c gRC2RPORPtr 0x000080 data extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c gRC2RPn 0x000069 data extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c @@ -1553,22 +1550,22 @@ gISRTickCountForThisCommand 0x0001b7 data static C:\Projects\EggBot_ gRCServoPoweroffCounterMS 0x0000d1 data extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c gRCServoPoweroffCounterReloadMS 0x0000d5 data extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c gRedLEDEmptyFIFO 0x000006 data extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - gSL_Storage 0x000b5f data static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + gSL_Storage 0x000158 data static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c gStackHighWater 0x0000e0 data static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -gStandardizedCommandFormat 0x000b84 data extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - gTmpAccel1 0x000b9d data static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - gTmpAccel2 0x000ba1 data static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - gTmpClearAccs 0x000bad data static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - gTmpDurationMS 0x000b85 data static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - gTmpIntervals 0x000b89 data static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - gTmpJerk1 0x000ba5 data static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - gTmpJerk2 0x000ba9 data static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - gTmpRate1 0x000b8d data static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - gTmpRate2 0x000b91 data static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - gTmpSteps1 0x000b95 data static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - gTmpSteps2 0x000b99 data static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +gStandardizedCommandFormat 0x0001be data extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + gTmpAccel1 0x0001d7 data static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + gTmpAccel2 0x0001db data static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + gTmpClearAccs 0x0001e7 data static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + gTmpDurationMS 0x0001bf data static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + gTmpIntervals 0x0001c3 data static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + gTmpJerk1 0x0001df data static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + gTmpJerk2 0x0001e3 data static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + gTmpRate1 0x0001c7 data static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + gTmpRate2 0x0001cb data static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + gTmpSteps1 0x0001cf data static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + gTmpSteps2 0x0001d3 data static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c gUseRCPenServo 0x000005 data static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - gUseSolenoid 0x000b82 data extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + gUseSolenoid 0x0001bc data extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c g_BO_init 0x0000c3 data extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c g_BO_strobe_delay 0x0000c7 data extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c g_BO_strobe_mask 0x0000c4 data extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c @@ -1604,27 +1601,27 @@ g_StepperDisableSecondCounter 0x0000ab data extern C:\Projects\EggBo g_servo2_rate_up 0x000086 data extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c globalStepCounter1 0x00001b data static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c globalStepCounter2 0x00001f data static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - i 0x000136 data static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb_print.c - inPipes 0x0001d8 data extern C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c - in_cr 0x0001f7 data static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + i 0x0001f8 data static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb_print.c + inPipes 0x0005bd data extern C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c + in_cr 0x0001f9 data static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c isr_i 0x000001 data static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c last_fifo_size 0x0000f9 data static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c line_coding 0x000580 data extern C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c nib 0x000013 data static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - outPipes 0x0001dd data extern C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c - pBDTEntryEP0OutCurrent 0x0001c6 data extern C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c - pBDTEntryEP0OutNext 0x0001c8 data extern C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c - pBDTEntryIn 0x0001d0 data extern C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c - pBDTEntryOut 0x0001ca data extern C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c + outPipes 0x0005c2 data extern C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c + pBDTEntryEP0OutCurrent 0x0005ab data extern C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c + pBDTEntryEP0OutNext 0x0005ad data extern C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c + pBDTEntryIn 0x0005b5 data extern C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c + pBDTEntryOut 0x0005af data extern C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c pCDCDst 0x000593 data extern C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c pCDCSrc 0x000591 data extern C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c - pDst 0x0001e4 data extern C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c - prom 0x000137 data static C:\MCC18\src\traditional\startup\c018i.c + pDst 0x0005c9 data extern C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c + prom 0x0005dc data static C:\MCC18\src\traditional\startup\c018i.c sd000 0x000280 data extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\usb_descriptors.c sd001 0x000284 data extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\usb_descriptors.c sd002 0x00029c data extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\usb_descriptors.c sd003 0x0002d4 data extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\usb_descriptors.c - shortPacketStatus 0x0001d6 data extern C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c + shortPacketStatus 0x0005bb data extern C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c tempStackPointer 0x0000e6 data static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c tempStackPointerHigh 0x0000e4 data static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c tempStackPointerLow 0x0000e5 data static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c @@ -1643,825 +1640,823 @@ g_StepperDisableSecondCounter 0x0000ab data extern C:\Projects\EggBo Remapped_Low_ISR 0x001018 program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c ___return_lbl00002 0x00101c program static high_ISR 0x001050 program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - EBB_Init 0x001b68 program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - ___for_lbl00415 0x001b74 program static - ___for_lbl00413 0x001bd0 program static - ___for_lbl00414 0x001bd4 program static - ___for_lbl00418 0x001cac program static - ___for_lbl00416 0x001cc0 program static - ___for_lbl00417 0x001cc4 program static - ___return_lbl00412 0x001d00 program static - parse_SC_packet 0x001d0a program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - parse_LM_packet 0x001e90 program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - parse_L3_packet 0x001eee program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - parse_T3_packet 0x001f64 program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - parse_LT_packet 0x001fa4 program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - process_low_level_move 0x001fe0 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - parse_SM_packet 0x0023ca program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - parse_HM_packet 0x0024f8 program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - parse_XM_packet 0x00289c program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -process_simple_motor_move 0x0029fa program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - parse_ES_packet 0x002d3a program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - parse_QP_packet 0x002dd4 program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - parse_QE_packet 0x002e06 program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - parse_TP_packet 0x002ed0 program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - parse_SP_packet 0x002f18 program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - process_SP 0x002f8a program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - parse_EM_packet 0x003002 program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - parse_NI_packet 0x00307e program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - parse_ND_packet 0x0030a4 program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - parse_SN_packet 0x0030c2 program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - parse_QN_packet 0x0030fe program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - parse_SL_packet 0x003122 program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - parse_QL_packet 0x00315a program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - parse_QB_packet 0x00319e program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - parse_QC_packet 0x0031c6 program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - parse_QG_packet 0x0031f4 program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - parse_SE_packet 0x003258 program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - process_QM 0x00339e program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - parse_QM_packet 0x003428 program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - parse_QS_packet 0x0034a8 program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - clear_StepCounters 0x00350c program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - parse_CS_packet 0x003518 program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_0 0x003522 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_1 0x00352e program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_2 0x003544 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_3 0x00354a program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_4 0x003594 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_5 0x0035ca program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_6 0x003694 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_7 0x0036ba program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_8 0x0036d8 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_9 0x0036e4 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_10 0x0036f0 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_11 0x00370e program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_12 0x003724 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_13 0x00372e program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __tmplbl_332 0x003738 program static - __tmplbl_330 0x003738 program static - __tmplbl_321 0x003738 program static - __tmplbl_305 0x003738 program static - __tmplbl_310 0x003738 program static - __tmplbl_318 0x003738 program static - __tmplbl_340 0x003738 program static - __tmplbl_295 0x003738 program static - __tmplbl_341 0x003738 program static - __pa_14 0x003738 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_15 0x00373e program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_16 0x003748 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_17 0x003762 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_18 0x003780 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_19 0x003788 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_20 0x003790 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_21 0x003798 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_22 0x00379e program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_23 0x0037b2 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_24 0x0037c6 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_25 0x0037d2 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_26 0x0037fc program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_27 0x00380e program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_28 0x003820 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_29 0x00382c program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_30 0x00383a program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_31 0x003850 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_32 0x003862 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_33 0x00386e program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_34 0x003874 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_35 0x003882 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_36 0x003890 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_37 0x0038b4 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_38 0x0038d8 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_39 0x0038ec program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_40 0x0038fe program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_41 0x003910 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_42 0x003922 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_43 0x003934 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_44 0x003950 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_45 0x003968 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_46 0x003972 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_47 0x003980 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_48 0x0039a0 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_49 0x0039b0 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_50 0x0039bc program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_51 0x0039c8 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_52 0x0039d4 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_53 0x0039da program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_54 0x0039f0 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_55 0x003a02 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_56 0x003a14 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_57 0x003a26 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_58 0x003a38 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_59 0x003a4a program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_60 0x003a52 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __tmplbl_349 0x003a60 program static - __pa_61 0x003a60 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __tmplbl_297 0x003a60 program static - __tmplbl_298 0x003a60 program static - __tmplbl_299 0x003a60 program static - __tmplbl_296 0x003a60 program static - __pa_62 0x003a64 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_63 0x003a6a program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_64 0x003a82 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_65 0x003a9a program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_66 0x003aa6 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_67 0x003abc program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_68 0x003ad2 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_69 0x003ae8 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_70 0x003afe program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_71 0x003b14 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_72 0x003b22 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_73 0x003b2c program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_74 0x003b36 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_75 0x003b40 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_76 0x003b4a program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_77 0x003b50 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_78 0x003b64 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_79 0x003b76 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_80 0x003b88 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_81 0x003b9a program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_82 0x003bac program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_83 0x003bb8 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_84 0x003bca program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_85 0x003bdc program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_86 0x003bee program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_87 0x003c00 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_88 0x003c12 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_89 0x003c24 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_90 0x003c36 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_91 0x003c48 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_92 0x003c5a program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_93 0x003c6c program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_94 0x003c7e program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_95 0x003c90 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_96 0x003c9c program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_97 0x003ca8 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_98 0x003cae program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_99 0x003cba program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_100 0x003cc4 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_101 0x003cce program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_102 0x003cd8 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_103 0x003ce2 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_104 0x003cec program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_105 0x003cfc program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_106 0x003d0c program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_107 0x003d1c program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_108 0x003d2c program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_109 0x003d32 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_110 0x003d42 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_111 0x003d4a program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_112 0x003d52 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_113 0x003d60 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_114 0x003d6e program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_115 0x003d7c program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_116 0x003d8a program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_117 0x003d98 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_118 0x003da6 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_119 0x003db0 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_120 0x003dba program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_121 0x003dc4 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_122 0x003dce program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_123 0x003dd8 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_124 0x003de2 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_125 0x003dec program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_126 0x003df6 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_127 0x003e00 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_128 0x003e56 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_129 0x003e5c program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_130 0x003e68 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_131 0x003ea4 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_132 0x003eaa program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_133 0x003eb4 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_134 0x003eba program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_135 0x003ec4 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_136 0x003ed2 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_137 0x003eea program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_138 0x003efc program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_139 0x003f10 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_140 0x003f2e program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_141 0x003f4c program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_142 0x003f6a program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_143 0x003f80 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_144 0x003f9a program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_145 0x003fa8 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_146 0x003fb4 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_147 0x003fbe program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_148 0x003fc8 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_149 0x003fd2 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_150 0x003fdc program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_151 0x003ff4 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_152 0x00400c program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_153 0x004014 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_154 0x00401e program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_155 0x004026 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_156 0x004030 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_157 0x004046 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_158 0x004054 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __tmplbl_360 0x004060 program static - __tmplbl_359 0x004060 program static - __pa_159 0x004060 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __tmplbl_357 0x004060 program static - __tmplbl_356 0x004060 program static - __pa_160 0x004068 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_161 0x00407a program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_162 0x00408c program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_163 0x004098 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_164 0x0040a4 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_165 0x0040b4 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_166 0x0040c6 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_167 0x0040d8 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __tmplbl_364 0x0040d8 program static - __tmplbl_358 0x0040d8 program static - __pa_168 0x0040dc program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_169 0x0040ec program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_170 0x0040f6 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_171 0x004100 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_172 0x00410a program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_173 0x00411a program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_174 0x004128 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_175 0x004136 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_176 0x004144 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_177 0x004152 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_178 0x004160 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_179 0x00416c program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_180 0x004178 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_181 0x004186 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_182 0x004194 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_183 0x00419c program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_184 0x0041a6 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_185 0x0041b0 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_186 0x0041ba program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_187 0x0041c2 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __tmplbl_352 0x0041c2 program static - __tmplbl_361 0x0041c2 program static - __tmplbl_362 0x0041ca program static - __pa_188 0x0041ca program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __tmplbl_363 0x0041ca program static - __pa_189 0x0041d2 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_190 0x0041da program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_191 0x0041fe program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_192 0x004214 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_193 0x00422e program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_194 0x00423c program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_195 0x004254 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_196 0x004260 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_197 0x004268 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_198 0x004270 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_199 0x004278 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_200 0x004280 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_201 0x00428a program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_202 0x00429c program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_203 0x0042a6 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_204 0x0042b4 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_205 0x0042c2 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_206 0x0042ce program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_207 0x0042da program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_208 0x0042e2 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_209 0x0042e8 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_210 0x0042f2 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_211 0x0042fa program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_212 0x004300 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_213 0x004308 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_214 0x00430e program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_215 0x00431e program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_216 0x00432a program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_217 0x004334 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_218 0x004340 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __pa_219 0x004348 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - low_ISR 0x004352 program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - fill_stack 0x0046c8 program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - ___while_lbl00051 0x004708 program static - ___while_lbl00052 0x004732 program static - ___return_lbl00050 0x004732 program static - check_high_water 0x004746 program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - UserInit 0x0047ac program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - ProcessIO 0x004938 program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - ebb_putc 0x004b68 program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - check_and_send_TX_data 0x004bc6 program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - parse_packet 0x004c12 program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - print_command 0x005208 program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - print_line_ending 0x005244 program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - parse_R_packet 0x00528a program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - parse_CU_packet 0x005298 program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - ___if_lbl00214 0x0052ee program static - __tmplbl_79 0x005302 program static - __tmplbl_78 0x005318 program static - ___else_lbl00217 0x005320 program static - ___if_lbl00216 0x005324 program static - ___else_lbl00304 0x005326 program static - __tmplbl_81 0x005340 program static - __tmplbl_80 0x005356 program static - ___else_lbl00220 0x00535e program static - ___if_lbl00219 0x005362 program static - ___else_lbl00302 0x005364 program static - ___else_lbl00224 0x005384 program static - ___else_lbl00222 0x0053a0 program static - ___if_lbl00221 0x0053a4 program static - ___if_lbl00223 0x0053a4 program static - ___else_lbl00300 0x0053a6 program static - ___if_lbl00225 0x0053d8 program static - ___while_lbl00226 0x0053d8 program static - ___while_lbl00227 0x0053e2 program static - ___else_lbl00298 0x0053ea program static - ___else_lbl00231 0x00540a program static - ___else_lbl00229 0x005426 program static - ___if_lbl00230 0x00542a program static - ___if_lbl00228 0x00542a program static - ___else_lbl00296 0x00542c program static - ___else_lbl00233 0x00544c program static - ___if_lbl00232 0x005452 program static - ___else_lbl00294 0x005454 program static - ___if_lbl00234 0x00547e program static - ___else_lbl00292 0x005480 program static - ___else_lbl00290 0x0054a6 program static - ___else_lbl00236 0x0054ce program static - ___if_lbl00235 0x0054d6 program static - ___else_lbl00288 0x0054d8 program static - ___else_lbl00238 0x005500 program static - ___if_lbl00237 0x005504 program static - ___else_lbl00286 0x005506 program static - ___else_lbl00284 0x00552a program static - ___else_lbl00246 0x00555e program static - ___case_2_lbl00240 0x005574 program static - ___case_1_lbl00242 0x005588 program static - ___default_lbl00243 0x005588 program static - ___case_0_lbl00241 0x005588 program static - ___case_3_lbl00244 0x00558e program static - ___if_lbl00245 0x00559c program static - ___switchexit_lbl00239 0x00559c program static - ___else_lbl00282 0x0055a2 program static - ___else_lbl00250 0x0055c0 program static - ___else_lbl00248 0x0055e4 program static - ___if_lbl00247 0x0055e8 program static - ___if_lbl00249 0x0055e8 program static - ___else_lbl00280 0x0055ea program static - ___else_lbl00254 0x00560a program static - ___else_lbl00252 0x00563a program static - ___if_lbl00253 0x00563e program static - ___if_lbl00251 0x00563e program static - ___else_lbl00278 0x005640 program static - ___else_lbl00258 0x005660 program static - ___else_lbl00256 0x005690 program static - ___if_lbl00257 0x005694 program static - ___if_lbl00255 0x005694 program static - ___else_lbl00276 0x005696 program static - ___else_lbl00262 0x0056b4 program static - ___else_lbl00260 0x0056e2 program static - ___if_lbl00259 0x0056e6 program static - ___if_lbl00261 0x0056e6 program static - ___else_lbl00274 0x0056e8 program static - ___while_lbl00263 0x0056fa program static - ___while_lbl00264 0x005724 program static - ___else_lbl00272 0x005726 program static - ___else_lbl00268 0x005742 program static - ___else_lbl00266 0x005770 program static - ___if_lbl00267 0x005774 program static - ___if_lbl00265 0x005774 program static - ___else_lbl00270 0x005776 program static - ___if_lbl00289 0x00577a program static - ___if_lbl00291 0x00577a program static - ___if_lbl00285 0x00577a program static - ___if_lbl00283 0x00577a program static - ___if_lbl00287 0x00577a program static - ___if_lbl00281 0x00577a program static - ___if_lbl00279 0x00577a program static - ___if_lbl00277 0x00577a program static - ___if_lbl00275 0x00577a program static - ___if_lbl00273 0x00577a program static - ___if_lbl00271 0x00577a program static - ___if_lbl00269 0x00577a program static - ___if_lbl00303 0x00577a program static - ___if_lbl00301 0x00577a program static - ___if_lbl00299 0x00577a program static - ___if_lbl00297 0x00577a program static - ___if_lbl00295 0x00577a program static - ___if_lbl00293 0x00577a program static - ___return_lbl00213 0x005780 program static - parse_QU_packet 0x005794 program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - parse_C_packet 0x005872 program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - AnalogConfigure 0x0058cc program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - parse_AC_packet 0x00599e program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - parse_O_packet 0x0059d2 program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - parse_I_packet 0x005a3e program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - parse_V_packet 0x005a6a program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - parse_A_packet 0x005a78 program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - parse_MW_packet 0x005b3c program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - parse_MR_packet 0x005b72 program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - parse_PD_packet 0x005bb0 program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - parse_PI_packet 0x005ce8 program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - parse_PO_packet 0x005dd2 program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - LongDelay 0x005f0a program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - ___for_lbl00428 0x005f16 program static - ___while_lbl00426 0x005f1e program static - ___for_lbl00424 0x005f2c program static - ___while_lbl00427 0x005f2c program static - ___for_lbl00425 0x005f30 program static - ___return_lbl00423 0x005f30 program static - parse_BL_packet 0x005f3a program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - ___return_lbl00429 0x005f48 program static - parse_RB_packet 0x005f4a program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - ___return_lbl00430 0x005f56 program static - parse_QR_packet 0x005f58 program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - parse_SR_packet 0x005f78 program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - parse_CK_packet 0x005fde program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -populateDeviceStringWithName 0x006114 program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - parse_ST_packet 0x00619a program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - parse_QT_packet 0x006206 program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - extract_string 0x006246 program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - extract_number 0x0062bc program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - extract_digit 0x00652e program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - print_status 0x0065fc program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - BlinkUSBStatus 0x00660e program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - SetPinLATFromRPn 0x0066ea program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - SetPinTRISFromRPn 0x006746 program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __pa_0 0x0067a2 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __pa_1 0x0067a8 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __pa_2 0x0067ae program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __pa_3 0x0067b6 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __pa_4 0x0067bc program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __pa_5 0x0067c4 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __pa_6 0x0067cc program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __pa_7 0x0067da program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __tmplbl_218 0x0067e4 program static - __tmplbl_223 0x0067e4 program static - __tmplbl_219 0x0067e4 program static - __tmplbl_205 0x0067e4 program static - __tmplbl_214 0x0067e4 program static - __tmplbl_213 0x0067e4 program static - __tmplbl_201 0x0067e4 program static - __tmplbl_212 0x0067e4 program static - __tmplbl_204 0x0067e4 program static - __tmplbl_208 0x0067e4 program static - __tmplbl_207 0x0067e4 program static - __tmplbl_203 0x0067e4 program static - __tmplbl_206 0x0067e4 program static - __tmplbl_225 0x0067e4 program static - __tmplbl_200 0x0067e4 program static - __tmplbl_161 0x0067e4 program static - __tmplbl_160 0x0067e4 program static - __tmplbl_159 0x0067e4 program static - __tmplbl_147 0x0067e4 program static - __tmplbl_146 0x0067e4 program static - __pa_8 0x0067e4 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __pa_9 0x0067ec program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __pa_10 0x0067f6 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __pa_11 0x006800 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __pa_12 0x00680a program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __pa_13 0x006818 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __pa_14 0x006830 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __pa_15 0x006838 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __pa_16 0x006844 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __pa_17 0x00684c program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __pa_18 0x006856 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __pa_19 0x00685e program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __pa_20 0x006872 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __pa_21 0x00687e program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __pa_22 0x006886 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __pa_23 0x006890 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __pa_24 0x00689e program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __pa_25 0x0068b0 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __pa_26 0x0068b8 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __pa_27 0x0068c4 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __pa_28 0x0068e6 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __pa_29 0x0068f4 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __pa_30 0x006902 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __pa_31 0x006924 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __pa_32 0x00692e program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __pa_33 0x006934 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __pa_34 0x006942 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __pa_35 0x006948 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __pa_36 0x006964 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __pa_37 0x00696e program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __pa_38 0x006978 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __pa_39 0x006982 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __pa_40 0x00698c program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __pa_41 0x006996 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __pa_42 0x0069ae program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __pa_43 0x0069b6 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __pa_44 0x0069bc program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __pa_45 0x0069c6 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __pa_46 0x0069d2 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __pa_47 0x0069de program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __pa_48 0x0069e8 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __pa_49 0x0069f6 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __pa_50 0x006a04 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __pa_51 0x006a12 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __pa_52 0x006a20 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __pa_53 0x006a2e program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __pa_54 0x006a3c program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __pa_55 0x006a46 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __pa_56 0x006a50 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __pa_57 0x006a5a program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __pa_58 0x006a62 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __pa_59 0x006a6a program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __pa_60 0x006a78 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __pa_61 0x006a82 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __pa_62 0x006a88 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __pa_63 0x006aa2 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __pa_64 0x006aac program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __pa_65 0x006ab4 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __pa_66 0x006aba program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __pa_67 0x006ac0 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __pa_68 0x006aca program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __pa_69 0x006ad6 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __pa_70 0x006ae0 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __pa_71 0x006af6 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __pa_72 0x006b04 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __pa_73 0x006b16 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __pa_74 0x006b1c program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __pa_75 0x006b2c program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __pa_76 0x006b3c program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __pa_77 0x006b46 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __pa_78 0x006b50 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __pa_79 0x006b58 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __pa_80 0x006b5e program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __pa_81 0x006b6a program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __pa_82 0x006b78 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __pa_83 0x006b86 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __pa_84 0x006b92 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __pa_85 0x006ba0 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __pa_86 0x006bac program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __pa_87 0x006bb6 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __pa_88 0x006bc4 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __pa_89 0x006bd0 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __pa_90 0x006bdc program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __pa_91 0x006be6 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __pa_92 0x006bf0 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __pa_93 0x006bfa program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __pa_94 0x006c02 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __pa_95 0x006c0a program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __pa_96 0x006c12 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __pa_97 0x006c20 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __pa_98 0x006c2c program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __pa_99 0x006c32 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __pa_100 0x006c3a program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __pa_101 0x006c44 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __pa_102 0x006c4c program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __pa_103 0x006c54 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __pa_104 0x006c5c program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __pa_105 0x006c64 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __pa_106 0x006c6c program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __pa_107 0x006c74 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __pa_108 0x006c7a program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __pa_109 0x006c88 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __pa_110 0x006c90 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __pa_111 0x006c9a program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __pa_112 0x006ca4 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - USBDeviceInit 0x006cac program extern C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c - USBDeviceTasks 0x006d78 program extern C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c - USBEnableEndpoint 0x006ed2 program extern C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c - USBTransferOnePacket 0x006f1a program extern C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c - USBStallEndpoint 0x006fa6 program extern C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c - USBCancelIO 0x006fd8 program extern C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -USBCtrlEPAllowStatusStage 0x00700e program extern C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c - USBCtrlEPAllowDataStage 0x00705a program extern C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c - USBConfigureEndpoint 0x007098 program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c - USBCtrlEPServiceComplete 0x0070f4 program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c - USBCtrlTrfTxService 0x00714e program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c - USBCtrlTrfRxService 0x0071ce program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c - USBStdSetCfgHandler 0x007296 program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c - USBStdGetDscHandler 0x00730e program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c - USBStdGetStatusHandler 0x0073b4 program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c - USBStallHandler 0x00742a program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c - USBSuspend 0x00744c program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c - USBWakeFromSuspend 0x007462 program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c - USBCtrlEPService 0x00747c program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c - USBCtrlTrfSetupHandler 0x00750a program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c - USBCtrlTrfOutHandler 0x007540 program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c - USBCtrlTrfInHandler 0x00755e program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c - USBCheckStdRequest 0x0075d8 program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c - USBStdFeatureReqHandler 0x007680 program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c - __pa_0 0x0077aa program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c - __pa_1 0x0077b2 program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c - __pa_2 0x0077bc program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c - __pa_3 0x0077c4 program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c - __pa_4 0x0077ce program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c - __pa_5 0x0077d8 program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c - __tmplbl_24 0x0077e2 program static - __tmplbl_40 0x0077e2 program static - __tmplbl_35 0x0077e2 program static - __tmplbl_38 0x0077e2 program static - __pa_6 0x0077e2 program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c - __tmplbl_39 0x0077e2 program static - __pa_7 0x0077ea program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c - __pa_8 0x0077fa program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c - __pa_9 0x007804 program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c - __pa_10 0x007810 program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c - __pa_11 0x007820 program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c - __pa_12 0x00782a program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c - __pa_13 0x00783e program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c - __pa_14 0x007852 program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c - __pa_15 0x00785e program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c - __pa_16 0x007878 program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c - __pa_17 0x007884 program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c - __pa_18 0x007890 program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c - __pa_19 0x007898 program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c - __pa_20 0x0078a0 program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c - __pa_21 0x0078ac program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c - __pa_22 0x0078bc program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c - __pa_23 0x0078ca program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c - __pa_24 0x0078d8 program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c - __pa_25 0x0078e6 program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c - __pa_26 0x0078f4 program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c - __pa_27 0x0078fe program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c - __pa_28 0x007916 program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c - __pa_29 0x007922 program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c - __pa_30 0x00792a program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c - __pa_31 0x00793e program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c - __pa_32 0x007950 program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c - __pa_33 0x00795e program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c - __pa_34 0x007968 program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c - __pa_35 0x007972 program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c - __pa_36 0x007978 program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c - __pa_37 0x007980 program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c - __pa_38 0x007986 program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c - __pa_39 0x007994 program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c - __pa_40 0x0079a2 program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c - __pa_41 0x0079b0 program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c - __pa_42 0x0079ba program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c - __pa_43 0x0079c4 program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c - __pa_44 0x0079cc program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c - __pa_45 0x0079d8 program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c - __pa_46 0x0079e2 program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c - __string_26 0x0079ea program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __string_25 0x007a13 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __string_24 0x007a43 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __string_23 0x007a6c program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __string_22 0x007a9c program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __string_21 0x007ac9 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __string_20 0x007ad3 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __string_19 0x007ad9 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __string_18 0x007adf program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __string_17 0x007aec program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __string_16 0x007b1d program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __string_15 0x007b4e program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __string_14 0x007b7c program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __string_13 0x007ba0 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __string_12 0x007bce program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __string_11 0x007bfa program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __string_10 0x007c1e program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __string_9 0x007c4c program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __string_8 0x007c78 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __string_7 0x007ca9 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __string_6 0x007cae program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __string_5 0x007cb3 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __string_4 0x007cb8 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __string_3 0x007cbd program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __string_2 0x007cc2 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __string_1 0x007cc7 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __string_0 0x007ccc program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __string_26 0x007cd0 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __string_25 0x007cd8 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __string_24 0x007cfa program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __string_23 0x007d02 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __string_22 0x007d0a program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __string_21 0x007d12 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __string_20 0x007d1a program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __string_19 0x007d22 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __string_18 0x007d2a program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __string_17 0x007d32 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __string_16 0x007d3a program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __string_15 0x007d3d program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __string_14 0x007d40 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __string_13 0x007d43 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __string_12 0x007d45 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __string_11 0x007d5f program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __string_10 0x007d88 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __string_9 0x007dae program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __string_8 0x007dcd program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __string_7 0x007de5 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __string_6 0x007e05 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __string_5 0x007e22 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __string_4 0x007e3c program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __string_3 0x007e56 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __string_2 0x007e73 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __string_1 0x007e77 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - RCServo2_Init 0x007e7a program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c -RCServo2_get_channel_from_RPn 0x007f2c program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c - RCServo2_S2_command 0x007f6a program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c - RCServo2_Move 0x008014 program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c - __pa_0 0x0081d4 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c - __pa_1 0x0081dc program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c - __pa_2 0x0081e6 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c - __pa_3 0x0081f6 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c - __pa_4 0x008202 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c - __pa_5 0x00820e program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c - __pa_6 0x00821a program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c - __pa_7 0x008224 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c - __pa_8 0x00822c program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c - __pa_9 0x008234 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c - __pa_10 0x00823c program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c - __pa_11 0x008246 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c - __pa_12 0x008256 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c - USBCheckCDCRequest 0x008264 program extern C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c - CDCInitEP 0x008300 program extern C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c - USBCDCEventHandler 0x008342 program extern C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c - getsUSBUSART 0x00837e program extern C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c - putUSBUSART 0x0083fc program extern C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c - putsUSBUSART 0x008414 program extern C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c - putrsUSBUSART 0x008454 program extern C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c - CDCTxService 0x008496 program extern C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c - __pa_0 0x008570 program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c - __pa_1 0x00858a program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c - __pa_2 0x00859a program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c - __pa_3 0x0085ac program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c - __pa_4 0x0085c6 program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c - __pa_5 0x0085d0 program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c - __pa_6 0x0085d8 program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c - __pa_7 0x0085e6 program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c - __pa_8 0x0085f4 program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c - __pa_9 0x0085fe program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c - __pa_10 0x008610 program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c - __pa_11 0x00861e program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c - ebb_print 0x00862a program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb_print.c - ebb_print_ram 0x00864c program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb_print.c - ebb_print_hex 0x008664 program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb_print.c - ebb_print_uint 0x0086d8 program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb_print.c - ebb_print_int 0x008710 program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb_print.c - __pa_0 0x00877c program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb_print.c - __pa_1 0x008796 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb_print.c - __pa_2 0x0087b0 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb_print.c - __pa_3 0x0087ce program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb_print.c - __pa_4 0x0087e6 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb_print.c - __pa_5 0x0087f0 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb_print.c - __pa_6 0x0087fc program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb_print.c - __pa_7 0x00880c program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb_print.c - __pa_8 0x00881a program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb_print.c - __pa_9 0x008824 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb_print.c - __pa_10 0x00883a program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb_print.c - __pa_11 0x008842 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb_print.c - __pa_12 0x00884e program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb_print.c - WriteBytesFlash 0x00885a program extern E:\3.46\pic18-lt\cxx-framework\src\pmc_common\Flash\WriteBytesFlash.c - ___while_lbl00001 0x008944 program static - ___while_lbl00003 0x008968 program static - ___if_lbl00005 0x0089a2 program static - ___while_lbl00004 0x0089a4 program static - ___if_lbl00006 0x0089c4 program static - ___if_lbl00007 0x0089dc program static - ___while_lbl00002 0x008a20 program static - ___return_lbl00000 0x008a20 program static - main 0x008a38 program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c - InitializeSystem 0x008a48 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c - USBCBSuspend 0x008a9c program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c - USBCBWakeFromSuspend 0x008a9e program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c - USBCB_SOF_Handler 0x008aa0 program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c - USBCBErrorHandler 0x008aa2 program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c - USBCBCheckOtherReq 0x008aa4 program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c - USBCBStdSetDscHandler 0x008aa8 program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c - USBCBInitEP 0x008aaa program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c - USBCBSendResume 0x008aae program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c -USER_USB_CALLBACK_EVENT_HANDLER 0x008af2 program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c - EraseFlash 0x008b86 program extern E:\3.46\pic18-lt\cxx-framework\src\pmc_common\Flash\EraseFlash.c - __pa_0 0x008c70 program static E:\3.46\pic18-lt\cxx-framework\src\pmc_common\Flash\EraseFlash.c - st_version 0x008c7e program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - RPnTRISPort 0x008cad program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - RPnLATPort 0x008cdf program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - RPnBit 0x008d11 program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - _do_cinit 0x008d2a program extern C:\MCC18\src\traditional\startup\c018i.c - test 0x008d44 program static - copy_loop 0x008d9c program static - copy_one_byte 0x008da2 program static - done_copying 0x008db0 program static - ___return_lbl00001 0x008dc6 program static - done 0x008dc6 program static - ReadFlash 0x008dc8 program extern E:\3.46\pic18-lt\cxx-framework\src\pmc_common\Flash\ReadFlash.c - ___while_lbl00001 0x008e10 program static - ___while_lbl00002 0x008e42 program static - ___return_lbl00000 0x008e42 program static - Open1USART 0x008e5a program extern E:\3.46\pic18-lt\cxx-framework\src\pmc_common\USART\u1open.c - FXM3232 0x008ecc program extern E:\3.46\pic18-lt\cxx-framework\src\traditional\math\fxm3232.c - ___return_lbl00000 0x008f3a program static - FXD3232S 0x008f3c program extern E:\3.46\pic18-lt\cxx-framework\src\traditional\math\fxd3232s.asm - DA3232S 0x008f56 program static E:\3.46\pic18-lt\cxx-framework\src\traditional\math\fxd3232s.asm - D3232S 0x008f6c program static E:\3.46\pic18-lt\cxx-framework\src\traditional\math\fxd3232s.asm - D3232SOK 0x008f76 program static E:\3.46\pic18-lt\cxx-framework\src\traditional\math\fxd3232s.asm - D3232SNEG 0x008f7a program static E:\3.46\pic18-lt\cxx-framework\src\traditional\math\fxd3232s.asm - D3232SX 0x008f9a program static E:\3.46\pic18-lt\cxx-framework\src\traditional\math\fxd3232s.asm - device_dsc 0x008fa4 program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\usb_descriptors.c - configDescriptor1 0x008fb6 program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\usb_descriptors.c - USB_CD_Ptr 0x008ff9 program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\usb_descriptors.c - FXD3232U 0x008ffc program extern E:\3.46\pic18-lt\cxx-framework\src\traditional\math\fxd3232u.c - loop 0x00900a program static - _false 0x00903e program static - ___return_lbl00000 0x009042 program static - memset 0x009044 program extern E:\3.46\pic18-lt\cxx-framework\src\traditional\stdclib\memset.asm - jLoop 0x009058 program static E:\3.46\pic18-lt\cxx-framework\src\traditional\stdclib\memset.asm - _2jContinue 0x009064 program static E:\3.46\pic18-lt\cxx-framework\src\traditional\stdclib\memset.asm - _3jEnd 0x00906e program static E:\3.46\pic18-lt\cxx-framework\src\traditional\stdclib\memset.asm - jEnd 0x009076 program static E:\3.46\pic18-lt\cxx-framework\src\traditional\stdclib\memset.asm - Write1USART 0x009078 program extern E:\3.46\pic18-lt\cxx-framework\src\pmc_common\USART\u1write.c - toupper 0x0090a6 program extern E:\3.46\pic18-lt\cxx-framework\src\traditional\stdclib\toupper.asm - jNoMatch 0x0090cc program static E:\3.46\pic18-lt\cxx-framework\src\traditional\stdclib\toupper.asm - __zero_memory 0x0090ce program extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm - zero_block 0x0090dc program static E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm - loop_h 0x0090dc program static E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm - compare_l 0x0090e4 program static E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm - loop_l 0x0090e6 program static E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm - _startup 0x0090ee program extern C:\MCC18\src\traditional\startup\c018i.c - loop 0x0090fe program static - ___return_lbl00000 0x009108 program static - pow2x16 0x00910a program extern E:\3.46\pic18-lt\cxx-framework\src\traditional\math\pow2x16.c - ___return_lbl00000 0x00911e program static - __init 0x009120 program extern E:\3.46\pic18-lt\cxx-framework\src\traditional\stdclib\__init.c + EBB_Init 0x001b66 program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + ___for_lbl00415 0x001b72 program static + ___for_lbl00413 0x001bce program static + ___for_lbl00414 0x001bd2 program static + ___for_lbl00418 0x001caa program static + ___for_lbl00416 0x001cbe program static + ___for_lbl00417 0x001cc2 program static + ___return_lbl00412 0x001cfe program static + parse_SC_packet 0x001d08 program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + parse_LM_packet 0x001e8e program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + parse_L3_packet 0x001eec program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + parse_T3_packet 0x001f62 program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + parse_LT_packet 0x001fa2 program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + process_low_level_move 0x001fde program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + parse_SM_packet 0x0023de program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + parse_HM_packet 0x00250c program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + parse_XM_packet 0x0028b0 program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +process_simple_motor_move 0x002a0e program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + parse_ES_packet 0x002d64 program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + parse_QP_packet 0x002dfe program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + parse_QE_packet 0x002e30 program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + parse_TP_packet 0x002efa program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + parse_SP_packet 0x002f42 program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + process_SP 0x002fb4 program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + parse_EM_packet 0x00302c program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + parse_NI_packet 0x0030a8 program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + parse_ND_packet 0x0030ce program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + parse_SN_packet 0x0030ec program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + parse_QN_packet 0x003128 program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + parse_SL_packet 0x00314c program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + parse_QL_packet 0x003184 program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + parse_QB_packet 0x0031c8 program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + parse_QC_packet 0x0031f0 program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + parse_QG_packet 0x00321e program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + parse_SE_packet 0x003282 program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + process_QM 0x0033c8 program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + parse_QM_packet 0x003452 program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + parse_QS_packet 0x0034d2 program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + clear_StepCounters 0x003536 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + parse_CS_packet 0x00353e program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_0 0x003548 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_1 0x003554 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_2 0x00356a program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_3 0x003570 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_4 0x0035ba program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_5 0x0035f0 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_6 0x0036ba program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_7 0x0036e0 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_8 0x0036fe program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_9 0x00370a program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_10 0x003716 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_11 0x003734 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_12 0x00374a program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_13 0x003754 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_14 0x00375e program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __tmplbl_331 0x00375e program static + __tmplbl_320 0x00375e program static + __tmplbl_294 0x00375e program static + __tmplbl_329 0x00375e program static + __tmplbl_317 0x00375e program static + __tmplbl_339 0x00375e program static + __tmplbl_340 0x00375e program static + __tmplbl_309 0x00375e program static + __tmplbl_304 0x00375e program static + __pa_15 0x003764 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_16 0x00376e program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_17 0x003788 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_18 0x0037a6 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_19 0x0037ae program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_20 0x0037b6 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_21 0x0037be program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_22 0x0037c4 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_23 0x0037d8 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_24 0x0037ec program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_25 0x0037f8 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_26 0x003822 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_27 0x003834 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_28 0x003846 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_29 0x003852 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_30 0x003860 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_31 0x003876 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_32 0x003888 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_33 0x003894 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_34 0x00389a program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_35 0x0038a8 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_36 0x0038b6 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_37 0x0038da program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_38 0x0038fe program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_39 0x003912 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_40 0x003924 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_41 0x003936 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_42 0x003948 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_43 0x00395a program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_44 0x003976 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_45 0x00398e program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_46 0x003998 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_47 0x0039a6 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_48 0x0039c6 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_49 0x0039d6 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_50 0x0039e2 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_51 0x0039ee program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_52 0x0039fa program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_53 0x003a1c program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_54 0x003a22 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_55 0x003a38 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_56 0x003a4a program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_57 0x003a5c program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_58 0x003a6e program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_59 0x003a80 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_60 0x003a92 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_61 0x003a9a program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __tmplbl_297 0x003aa8 program static + __tmplbl_298 0x003aa8 program static + __tmplbl_348 0x003aa8 program static + __pa_62 0x003aa8 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __tmplbl_296 0x003aa8 program static + __tmplbl_295 0x003aa8 program static + __pa_63 0x003aac program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_64 0x003ab2 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_65 0x003aca program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_66 0x003ae2 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_67 0x003aee program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_68 0x003b04 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_69 0x003b1a program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_70 0x003b30 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_71 0x003b46 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_72 0x003b5c program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_73 0x003b6a program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_74 0x003b74 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_75 0x003b7e program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_76 0x003b88 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_77 0x003b92 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_78 0x003b98 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_79 0x003bac program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_80 0x003bbe program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_81 0x003bd0 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_82 0x003bdc program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_83 0x003bee program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_84 0x003c00 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_85 0x003c12 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_86 0x003c24 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_87 0x003c36 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_88 0x003c48 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_89 0x003c5a program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_90 0x003c6c program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_91 0x003c7e program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_92 0x003c90 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_93 0x003c9c program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_94 0x003ca8 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_95 0x003cae program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_96 0x003cba program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_97 0x003cc4 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_98 0x003cce program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_99 0x003cd8 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_100 0x003ce2 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_101 0x003cec program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_102 0x003cfc program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_103 0x003d0c program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_104 0x003d1c program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_105 0x003d2c program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_106 0x003d3c program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_107 0x003d4c program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_108 0x003d52 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_109 0x003d62 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_110 0x003d6a program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_111 0x003d72 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_112 0x003d80 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_113 0x003d8e program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_114 0x003d9c program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_115 0x003daa program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_116 0x003db8 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_117 0x003dc6 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_118 0x003dd0 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_119 0x003dda program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_120 0x003de4 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_121 0x003dee program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_122 0x003df8 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_123 0x003e02 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_124 0x003e0c program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_125 0x003e16 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_126 0x003e20 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_127 0x003e76 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_128 0x003e7c program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_129 0x003e88 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_130 0x003ec4 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_131 0x003eca program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_132 0x003ed4 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_133 0x003eda program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_134 0x003ee4 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_135 0x003ef2 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_136 0x003f0a program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_137 0x003f1c program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_138 0x003f3c program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_139 0x003f50 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_140 0x003f6e program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_141 0x003f8c program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_142 0x003fa2 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_143 0x003fbc program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_144 0x003fca program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_145 0x003fd6 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_146 0x003fe0 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_147 0x003fea program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_148 0x003ff4 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_149 0x003ffe program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_150 0x004016 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_151 0x00402e program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_152 0x004036 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_153 0x004040 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_154 0x004048 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_155 0x004052 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_156 0x004068 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_157 0x004076 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __tmplbl_355 0x004082 program static + __tmplbl_356 0x004082 program static + __pa_158 0x004082 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __tmplbl_358 0x004082 program static + __tmplbl_359 0x004082 program static + __pa_159 0x00408a program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_160 0x00409c program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_161 0x0040ae program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_162 0x0040ba program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_163 0x0040c6 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_164 0x0040d6 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_165 0x0040e8 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __tmplbl_363 0x0040fa program static + __tmplbl_357 0x0040fa program static + __pa_166 0x0040fa program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_167 0x0040fe program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_168 0x00410e program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_169 0x004118 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_170 0x004122 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_171 0x00412c program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_172 0x00413c program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_173 0x00414a program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_174 0x004158 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_175 0x004166 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_176 0x004174 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_177 0x004182 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_178 0x00418e program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_179 0x00419a program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_180 0x0041a8 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_181 0x0041b6 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_182 0x0041be program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_183 0x0041c8 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_184 0x0041d2 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_185 0x0041dc program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __tmplbl_360 0x0041e4 program static + __tmplbl_351 0x0041e4 program static + __pa_186 0x0041e4 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __tmplbl_362 0x0041ec program static + __tmplbl_361 0x0041ec program static + __pa_187 0x0041ec program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_188 0x0041f4 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_189 0x0041fc program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_190 0x004220 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_191 0x004236 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_192 0x004250 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_193 0x00425e program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_194 0x004276 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_195 0x004282 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_196 0x00428a program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_197 0x004292 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_198 0x00429a program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_199 0x0042a2 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_200 0x0042ac program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_201 0x0042be program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_202 0x0042c8 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_203 0x0042d6 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_204 0x0042e4 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_205 0x0042f0 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_206 0x0042fc program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_207 0x004304 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_208 0x00430a program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_209 0x004314 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_210 0x00431c program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_211 0x004324 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_212 0x00432a program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_213 0x00433a program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_214 0x004346 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_215 0x004350 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_216 0x00435c program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __pa_217 0x004364 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + low_ISR 0x00436e program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + fill_stack 0x0046e4 program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + ___while_lbl00051 0x004724 program static + ___while_lbl00052 0x00474e program static + ___return_lbl00050 0x00474e program static + check_high_water 0x004762 program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + UserInit 0x0047c8 program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + ProcessIO 0x004954 program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + ebb_putc 0x004b84 program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + check_and_send_TX_data 0x004be2 program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + parse_packet 0x004c2e program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + print_command 0x005224 program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + print_line_ending 0x005260 program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + parse_R_packet 0x0052a6 program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + parse_CU_packet 0x0052b4 program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + ___if_lbl00214 0x00530a program static + __tmplbl_79 0x00531e program static + __tmplbl_78 0x005334 program static + ___else_lbl00217 0x00533c program static + ___if_lbl00216 0x005340 program static + ___else_lbl00304 0x005342 program static + __tmplbl_81 0x00535c program static + __tmplbl_80 0x005372 program static + ___else_lbl00220 0x00537a program static + ___if_lbl00219 0x00537e program static + ___else_lbl00302 0x005380 program static + ___else_lbl00224 0x0053a0 program static + ___else_lbl00222 0x0053bc program static + ___if_lbl00221 0x0053c0 program static + ___if_lbl00223 0x0053c0 program static + ___else_lbl00300 0x0053c2 program static + ___if_lbl00225 0x0053f4 program static + ___while_lbl00226 0x0053f4 program static + ___while_lbl00227 0x0053fe program static + ___else_lbl00298 0x005406 program static + ___else_lbl00231 0x005426 program static + ___else_lbl00229 0x005442 program static + ___if_lbl00228 0x005446 program static + ___if_lbl00230 0x005446 program static + ___else_lbl00296 0x005448 program static + ___else_lbl00233 0x005468 program static + ___if_lbl00232 0x00546e program static + ___else_lbl00294 0x005470 program static + ___if_lbl00234 0x00549a program static + ___else_lbl00292 0x00549c program static + ___else_lbl00290 0x0054c2 program static + ___else_lbl00236 0x0054ea program static + ___if_lbl00235 0x0054f2 program static + ___else_lbl00288 0x0054f4 program static + ___else_lbl00238 0x00551c program static + ___if_lbl00237 0x005520 program static + ___else_lbl00286 0x005522 program static + ___else_lbl00284 0x005546 program static + ___else_lbl00246 0x00557a program static + ___case_2_lbl00240 0x005590 program static + ___case_1_lbl00242 0x0055a4 program static + ___case_0_lbl00241 0x0055a4 program static + ___default_lbl00243 0x0055a4 program static + ___case_3_lbl00244 0x0055aa program static + ___if_lbl00245 0x0055b8 program static + ___switchexit_lbl00239 0x0055b8 program static + ___else_lbl00282 0x0055be program static + ___else_lbl00250 0x0055dc program static + ___else_lbl00248 0x005600 program static + ___if_lbl00247 0x005604 program static + ___if_lbl00249 0x005604 program static + ___else_lbl00280 0x005606 program static + ___else_lbl00254 0x005626 program static + ___else_lbl00252 0x005656 program static + ___if_lbl00251 0x00565a program static + ___if_lbl00253 0x00565a program static + ___else_lbl00278 0x00565c program static + ___else_lbl00258 0x00567c program static + ___else_lbl00256 0x0056ac program static + ___if_lbl00257 0x0056b0 program static + ___if_lbl00255 0x0056b0 program static + ___else_lbl00276 0x0056b2 program static + ___else_lbl00262 0x0056d0 program static + ___else_lbl00260 0x0056fe program static + ___if_lbl00259 0x005702 program static + ___if_lbl00261 0x005702 program static + ___else_lbl00274 0x005704 program static + ___while_lbl00263 0x005716 program static + ___while_lbl00264 0x005740 program static + ___else_lbl00272 0x005742 program static + ___else_lbl00268 0x00575e program static + ___else_lbl00266 0x00578c program static + ___if_lbl00267 0x005790 program static + ___if_lbl00265 0x005790 program static + ___else_lbl00270 0x005792 program static + ___if_lbl00303 0x005796 program static + ___if_lbl00301 0x005796 program static + ___if_lbl00299 0x005796 program static + ___if_lbl00297 0x005796 program static + ___if_lbl00295 0x005796 program static + ___if_lbl00293 0x005796 program static + ___if_lbl00291 0x005796 program static + ___if_lbl00289 0x005796 program static + ___if_lbl00287 0x005796 program static + ___if_lbl00285 0x005796 program static + ___if_lbl00283 0x005796 program static + ___if_lbl00281 0x005796 program static + ___if_lbl00279 0x005796 program static + ___if_lbl00277 0x005796 program static + ___if_lbl00275 0x005796 program static + ___if_lbl00273 0x005796 program static + ___if_lbl00271 0x005796 program static + ___if_lbl00269 0x005796 program static + ___return_lbl00213 0x00579c program static + parse_QU_packet 0x0057b0 program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + parse_C_packet 0x00588e program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + AnalogConfigure 0x0058e8 program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + parse_AC_packet 0x0059ba program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + parse_O_packet 0x0059ee program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + parse_I_packet 0x005a5a program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + parse_V_packet 0x005a86 program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + parse_A_packet 0x005a94 program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + parse_MW_packet 0x005b58 program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + parse_MR_packet 0x005b8e program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + parse_PD_packet 0x005bcc program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + parse_PI_packet 0x005d04 program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + parse_PO_packet 0x005dee program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + LongDelay 0x005f26 program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + ___for_lbl00428 0x005f32 program static + ___while_lbl00426 0x005f3a program static + ___for_lbl00424 0x005f48 program static + ___while_lbl00427 0x005f48 program static + ___for_lbl00425 0x005f4c program static + ___return_lbl00423 0x005f4c program static + parse_BL_packet 0x005f56 program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + ___return_lbl00429 0x005f64 program static + parse_RB_packet 0x005f66 program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + ___return_lbl00430 0x005f72 program static + parse_QR_packet 0x005f74 program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + parse_SR_packet 0x005f94 program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + parse_CK_packet 0x005ffa program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +populateDeviceStringWithName 0x006130 program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + parse_ST_packet 0x0061b6 program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + parse_QT_packet 0x006222 program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + extract_string 0x006262 program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + extract_number 0x0062d8 program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + extract_digit 0x00654a program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + print_status 0x006618 program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + BlinkUSBStatus 0x00662a program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + SetPinLATFromRPn 0x006706 program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + SetPinTRISFromRPn 0x006762 program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __pa_0 0x0067be program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __pa_1 0x0067c4 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __pa_2 0x0067ca program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __pa_3 0x0067d2 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __pa_4 0x0067d8 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __pa_5 0x0067e0 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __pa_6 0x0067e8 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __pa_7 0x0067f6 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __tmplbl_225 0x006800 program static + __tmplbl_223 0x006800 program static + __tmplbl_219 0x006800 program static + __tmplbl_218 0x006800 program static + __tmplbl_214 0x006800 program static + __tmplbl_213 0x006800 program static + __pa_8 0x006800 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __tmplbl_212 0x006800 program static + __tmplbl_208 0x006800 program static + __tmplbl_207 0x006800 program static + __tmplbl_206 0x006800 program static + __tmplbl_205 0x006800 program static + __tmplbl_204 0x006800 program static + __tmplbl_203 0x006800 program static + __tmplbl_201 0x006800 program static + __tmplbl_200 0x006800 program static + __tmplbl_161 0x006800 program static + __tmplbl_160 0x006800 program static + __tmplbl_159 0x006800 program static + __tmplbl_146 0x006800 program static + __tmplbl_147 0x006800 program static + __pa_9 0x006808 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __pa_10 0x006812 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __pa_11 0x00681c program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __pa_12 0x006826 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __pa_13 0x006834 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __pa_14 0x00684c program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __pa_15 0x006854 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __pa_16 0x006860 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __pa_17 0x006868 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __pa_18 0x006872 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __pa_19 0x00687a program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __pa_20 0x00688e program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __pa_21 0x00689a program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __pa_22 0x0068a2 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __pa_23 0x0068ac program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __pa_24 0x0068ba program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __pa_25 0x0068cc program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __pa_26 0x0068d4 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __pa_27 0x0068e0 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __pa_28 0x006902 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __pa_29 0x006910 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __pa_30 0x00691e program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __pa_31 0x006940 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __pa_32 0x00694a program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __pa_33 0x006950 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __pa_34 0x00695e program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __pa_35 0x006964 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __pa_36 0x006980 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __pa_37 0x00698a program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __pa_38 0x006994 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __pa_39 0x00699e program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __pa_40 0x0069a8 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __pa_41 0x0069b2 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __pa_42 0x0069ca program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __pa_43 0x0069d2 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __pa_44 0x0069d8 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __pa_45 0x0069e2 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __pa_46 0x0069ee program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __pa_47 0x0069fa program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __pa_48 0x006a04 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __pa_49 0x006a12 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __pa_50 0x006a20 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __pa_51 0x006a2e program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __pa_52 0x006a3c program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __pa_53 0x006a4a program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __pa_54 0x006a58 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __pa_55 0x006a62 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __pa_56 0x006a6c program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __pa_57 0x006a76 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __pa_58 0x006a7e program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __pa_59 0x006a86 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __pa_60 0x006a94 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __pa_61 0x006a9e program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __pa_62 0x006aa4 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __pa_63 0x006abe program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __pa_64 0x006ac8 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __pa_65 0x006ad0 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __pa_66 0x006ad6 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __pa_67 0x006adc program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __pa_68 0x006ae6 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __pa_69 0x006af2 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __pa_70 0x006afc program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __pa_71 0x006b12 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __pa_72 0x006b20 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __pa_73 0x006b32 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __pa_74 0x006b38 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __pa_75 0x006b48 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __pa_76 0x006b58 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __pa_77 0x006b62 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __pa_78 0x006b6c program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __pa_79 0x006b74 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __pa_80 0x006b7a program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __pa_81 0x006b86 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __pa_82 0x006b94 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __pa_83 0x006ba2 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __pa_84 0x006bae program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __pa_85 0x006bbc program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __pa_86 0x006bc8 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __pa_87 0x006bd2 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __pa_88 0x006be0 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __pa_89 0x006bec program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __pa_90 0x006bf8 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __pa_91 0x006c02 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __pa_92 0x006c0c program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __pa_93 0x006c16 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __pa_94 0x006c1e program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __pa_95 0x006c26 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __pa_96 0x006c2e program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __pa_97 0x006c3c program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __pa_98 0x006c48 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __pa_99 0x006c4e program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __pa_100 0x006c56 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __pa_101 0x006c60 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __pa_102 0x006c68 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __pa_103 0x006c70 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __pa_104 0x006c78 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __pa_105 0x006c80 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __pa_106 0x006c88 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __pa_107 0x006c90 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __pa_108 0x006c96 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __pa_109 0x006ca4 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __pa_110 0x006cac program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __pa_111 0x006cb6 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __pa_112 0x006cc0 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + USBDeviceInit 0x006cc8 program extern C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c + USBDeviceTasks 0x006d94 program extern C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c + USBEnableEndpoint 0x006eee program extern C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c + USBTransferOnePacket 0x006f36 program extern C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c + USBStallEndpoint 0x006fc2 program extern C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c + USBCancelIO 0x006ff4 program extern C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +USBCtrlEPAllowStatusStage 0x00702a program extern C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c + USBCtrlEPAllowDataStage 0x007076 program extern C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c + USBConfigureEndpoint 0x0070b4 program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c + USBCtrlEPServiceComplete 0x007110 program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c + USBCtrlTrfTxService 0x00716a program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c + USBCtrlTrfRxService 0x0071ea program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c + USBStdSetCfgHandler 0x0072b2 program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c + USBStdGetDscHandler 0x00732a program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c + USBStdGetStatusHandler 0x0073d0 program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c + USBStallHandler 0x007446 program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c + USBSuspend 0x007468 program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c + USBWakeFromSuspend 0x00747e program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c + USBCtrlEPService 0x007498 program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c + USBCtrlTrfSetupHandler 0x007526 program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c + USBCtrlTrfOutHandler 0x00755c program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c + USBCtrlTrfInHandler 0x00757a program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c + USBCheckStdRequest 0x0075f4 program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c + USBStdFeatureReqHandler 0x00769c program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c + __pa_0 0x0077c6 program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c + __pa_1 0x0077ce program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c + __pa_2 0x0077d8 program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c + __pa_3 0x0077e0 program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c + __pa_4 0x0077ea program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c + __pa_5 0x0077f4 program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c + __tmplbl_40 0x0077fe program static + __tmplbl_39 0x0077fe program static + __tmplbl_38 0x0077fe program static + __tmplbl_35 0x0077fe program static + __pa_6 0x0077fe program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c + __tmplbl_24 0x0077fe program static + __pa_7 0x007806 program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c + __pa_8 0x007816 program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c + __pa_9 0x007820 program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c + __pa_10 0x00782c program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c + __pa_11 0x00783c program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c + __pa_12 0x007846 program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c + __pa_13 0x00785a program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c + __pa_14 0x00786e program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c + __pa_15 0x00787a program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c + __pa_16 0x007894 program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c + __pa_17 0x0078a0 program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c + __pa_18 0x0078ac program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c + __pa_19 0x0078b4 program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c + __pa_20 0x0078bc program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c + __pa_21 0x0078c8 program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c + __pa_22 0x0078d8 program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c + __pa_23 0x0078e6 program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c + __pa_24 0x0078f4 program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c + __pa_25 0x007902 program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c + __pa_26 0x007910 program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c + __pa_27 0x00791a program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c + __pa_28 0x007932 program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c + __pa_29 0x00793e program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c + __pa_30 0x007946 program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c + __pa_31 0x00795a program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c + __pa_32 0x00796c program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c + __pa_33 0x00797a program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c + __pa_34 0x007984 program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c + __pa_35 0x00798e program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c + __pa_36 0x007994 program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c + __pa_37 0x00799c program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c + __pa_38 0x0079a2 program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c + __pa_39 0x0079b0 program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c + __pa_40 0x0079be program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c + __pa_41 0x0079cc program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c + __pa_42 0x0079d6 program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c + __pa_43 0x0079e0 program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c + __pa_44 0x0079e8 program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c + __pa_45 0x0079f4 program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c + __pa_46 0x0079fe program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c + __string_26 0x007a06 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __string_25 0x007a2f program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __string_24 0x007a5f program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __string_23 0x007a88 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __string_22 0x007ab8 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __string_21 0x007ae5 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __string_20 0x007aef program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __string_19 0x007af5 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __string_18 0x007afb program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __string_17 0x007b08 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __string_16 0x007b39 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __string_15 0x007b6a program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __string_14 0x007b98 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __string_13 0x007bbc program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __string_12 0x007bea program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __string_11 0x007c16 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __string_10 0x007c3a program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __string_9 0x007c68 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __string_8 0x007c94 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __string_7 0x007cc5 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __string_6 0x007cca program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __string_5 0x007ccf program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __string_4 0x007cd4 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __string_3 0x007cd9 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __string_2 0x007cde program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __string_1 0x007ce3 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __string_0 0x007ce8 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __string_26 0x007cec program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __string_25 0x007cf4 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __string_24 0x007d16 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __string_23 0x007d1e program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __string_22 0x007d26 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __string_21 0x007d2e program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __string_20 0x007d36 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __string_19 0x007d3e program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __string_18 0x007d46 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __string_17 0x007d4e program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __string_16 0x007d56 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __string_15 0x007d59 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __string_14 0x007d5c program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __string_13 0x007d5f program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __string_12 0x007d61 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __string_11 0x007d7b program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __string_10 0x007da4 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __string_9 0x007dca program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __string_8 0x007de9 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __string_7 0x007e01 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __string_6 0x007e21 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __string_5 0x007e3e program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __string_4 0x007e58 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __string_3 0x007e72 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __string_2 0x007e8f program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __string_1 0x007e93 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + RCServo2_Init 0x007e96 program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c +RCServo2_get_channel_from_RPn 0x007f48 program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c + RCServo2_S2_command 0x007f86 program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c + RCServo2_Move 0x008030 program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c + __pa_0 0x0081f0 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c + __pa_1 0x0081f8 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c + __pa_2 0x008202 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c + __pa_3 0x008212 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c + __pa_4 0x00821e program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c + __pa_5 0x00822a program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c + __pa_6 0x008236 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c + __pa_7 0x008240 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c + __pa_8 0x008248 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c + __pa_9 0x008250 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c + __pa_10 0x008258 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c + __pa_11 0x008262 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c + __pa_12 0x008272 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c + USBCheckCDCRequest 0x008280 program extern C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c + CDCInitEP 0x00831c program extern C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c + USBCDCEventHandler 0x00835e program extern C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c + getsUSBUSART 0x00839a program extern C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c + putUSBUSART 0x008418 program extern C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c + putsUSBUSART 0x008430 program extern C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c + putrsUSBUSART 0x008470 program extern C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c + CDCTxService 0x0084b2 program extern C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c + __pa_0 0x00858c program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c + __pa_1 0x0085a6 program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c + __pa_2 0x0085b6 program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c + __pa_3 0x0085c8 program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c + __pa_4 0x0085e2 program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c + __pa_5 0x0085ec program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c + __pa_6 0x0085f4 program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c + __pa_7 0x008602 program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c + __pa_8 0x008610 program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c + __pa_9 0x00861a program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c + __pa_10 0x00862c program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c + __pa_11 0x00863a program static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c + ebb_print 0x008646 program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb_print.c + ebb_print_ram 0x008668 program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb_print.c + ebb_print_hex 0x008680 program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb_print.c + ebb_print_uint 0x0086f4 program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb_print.c + ebb_print_int 0x00872c program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb_print.c + __pa_0 0x008798 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb_print.c + __pa_1 0x0087b2 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb_print.c + __pa_2 0x0087cc program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb_print.c + __pa_3 0x0087ea program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb_print.c + __pa_4 0x008802 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb_print.c + __pa_5 0x00880c program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb_print.c + __pa_6 0x008818 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb_print.c + __pa_7 0x008828 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb_print.c + __pa_8 0x008836 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb_print.c + __pa_9 0x008840 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb_print.c + __pa_10 0x008856 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb_print.c + __pa_11 0x00885e program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb_print.c + __pa_12 0x00886a program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb_print.c + WriteBytesFlash 0x008876 program extern E:\3.46\pic18-lt\cxx-framework\src\pmc_common\Flash\WriteBytesFlash.c + ___while_lbl00001 0x008960 program static + ___while_lbl00003 0x008984 program static + ___if_lbl00005 0x0089be program static + ___while_lbl00004 0x0089c0 program static + ___if_lbl00006 0x0089e0 program static + ___if_lbl00007 0x0089f8 program static + ___while_lbl00002 0x008a3c program static + ___return_lbl00000 0x008a3c program static + main 0x008a54 program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c + InitializeSystem 0x008a64 program static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c + USBCBSuspend 0x008ab8 program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c + USBCBWakeFromSuspend 0x008aba program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c + USBCB_SOF_Handler 0x008abc program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c + USBCBErrorHandler 0x008abe program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c + USBCBCheckOtherReq 0x008ac0 program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c + USBCBStdSetDscHandler 0x008ac4 program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c + USBCBInitEP 0x008ac6 program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c + USBCBSendResume 0x008aca program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c +USER_USB_CALLBACK_EVENT_HANDLER 0x008b0e program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c + EraseFlash 0x008ba2 program extern E:\3.46\pic18-lt\cxx-framework\src\pmc_common\Flash\EraseFlash.c + __pa_0 0x008c8c program static E:\3.46\pic18-lt\cxx-framework\src\pmc_common\Flash\EraseFlash.c + st_version 0x008c9a program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + RPnTRISPort 0x008cc9 program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + RPnLATPort 0x008cfb program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + RPnBit 0x008d2d program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + _do_cinit 0x008d46 program extern C:\MCC18\src\traditional\startup\c018i.c + test 0x008d60 program static + copy_loop 0x008db8 program static + copy_one_byte 0x008dbe program static + done_copying 0x008dcc program static + done 0x008de2 program static + ___return_lbl00001 0x008de2 program static + ReadFlash 0x008de4 program extern E:\3.46\pic18-lt\cxx-framework\src\pmc_common\Flash\ReadFlash.c + ___while_lbl00001 0x008e2c program static + ___return_lbl00000 0x008e5e program static + ___while_lbl00002 0x008e5e program static + Open1USART 0x008e76 program extern E:\3.46\pic18-lt\cxx-framework\src\pmc_common\USART\u1open.c + FXM3232 0x008ee8 program extern E:\3.46\pic18-lt\cxx-framework\src\traditional\math\fxm3232.c + ___return_lbl00000 0x008f56 program static + FXD3232S 0x008f58 program extern E:\3.46\pic18-lt\cxx-framework\src\traditional\math\fxd3232s.asm + DA3232S 0x008f72 program static E:\3.46\pic18-lt\cxx-framework\src\traditional\math\fxd3232s.asm + D3232S 0x008f88 program static E:\3.46\pic18-lt\cxx-framework\src\traditional\math\fxd3232s.asm + D3232SOK 0x008f92 program static E:\3.46\pic18-lt\cxx-framework\src\traditional\math\fxd3232s.asm + D3232SNEG 0x008f96 program static E:\3.46\pic18-lt\cxx-framework\src\traditional\math\fxd3232s.asm + D3232SX 0x008fb6 program static E:\3.46\pic18-lt\cxx-framework\src\traditional\math\fxd3232s.asm + device_dsc 0x008fc0 program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\usb_descriptors.c + configDescriptor1 0x008fd2 program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\usb_descriptors.c + USB_CD_Ptr 0x009015 program extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\usb_descriptors.c + FXD3232U 0x009018 program extern E:\3.46\pic18-lt\cxx-framework\src\traditional\math\fxd3232u.c + loop 0x009026 program static + _false 0x00905a program static + ___return_lbl00000 0x00905e program static + memset 0x009060 program extern E:\3.46\pic18-lt\cxx-framework\src\traditional\stdclib\memset.asm + jLoop 0x009074 program static E:\3.46\pic18-lt\cxx-framework\src\traditional\stdclib\memset.asm + _2jContinue 0x009080 program static E:\3.46\pic18-lt\cxx-framework\src\traditional\stdclib\memset.asm + _3jEnd 0x00908a program static E:\3.46\pic18-lt\cxx-framework\src\traditional\stdclib\memset.asm + jEnd 0x009092 program static E:\3.46\pic18-lt\cxx-framework\src\traditional\stdclib\memset.asm + Write1USART 0x009094 program extern E:\3.46\pic18-lt\cxx-framework\src\pmc_common\USART\u1write.c + toupper 0x0090c2 program extern E:\3.46\pic18-lt\cxx-framework\src\traditional\stdclib\toupper.asm + jNoMatch 0x0090e8 program static E:\3.46\pic18-lt\cxx-framework\src\traditional\stdclib\toupper.asm + __zero_memory 0x0090ea program extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm + zero_block 0x0090f8 program static E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm + loop_h 0x0090f8 program static E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm + compare_l 0x009100 program static E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm + loop_l 0x009102 program static E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm + _startup 0x00910a program extern C:\MCC18\src\traditional\startup\c018i.c + loop 0x00911a program static + ___return_lbl00000 0x009124 program static + pow2x16 0x009126 program extern E:\3.46\pic18-lt\cxx-framework\src\traditional\math\pow2x16.c + ___return_lbl00000 0x00913a program static + __init 0x00913c program extern E:\3.46\pic18-lt\cxx-framework\src\traditional\stdclib\__init.c AllDone 0x000000 data static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c isr_i 0x000001 data static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c AxisActive 0x000002 data static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c @@ -2487,40 +2482,44 @@ USER_USB_CALLBACK_EVENT_HANDLER 0x008af2 program extern C:\Projects\Egg FIFO_out_ptr_low 0x00001a data extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c globalStepCounter1 0x00001b data static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c globalStepCounter2 0x00001f data static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - SIGN 0x000023 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\math\cmath18.asm - __FPFLAGSbits 0x000024 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\math\cmath18.asm - __FPFLAGS 0x000024 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\math\cmath18.asm - __AARGB7 0x000025 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\math\aarg.asm - __REMB3 0x000025 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\math\aarg.asm - __AARGB6 0x000026 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\math\aarg.asm - __REMB2 0x000026 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\math\aarg.asm - __AARGB5 0x000027 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\math\aarg.asm - __REMB1 0x000027 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\math\aarg.asm - __AARGB4 0x000028 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\math\aarg.asm - __REMB0 0x000028 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\math\aarg.asm - __AARGB3 0x000029 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\math\aarg.asm - __AARGB2 0x00002a data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\math\aarg.asm - __AARGB1 0x00002b data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\math\aarg.asm - __AARGB0 0x00002c data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\math\aarg.asm - __AEXP 0x00002d data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\math\aarg.asm - __BARGB3 0x00002e data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\math\barg.asm - __BARGB2 0x00002f data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\math\barg.asm - __BARGB1 0x000030 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\math\barg.asm - __BARGB0 0x000031 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\math\barg.asm - __BEXP 0x000032 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\math\barg.asm - __tmp_0 0x000033 data static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb_print.c - __tmp_0 0x000033 data static E:\3.46\pic18-lt\cxx-framework\src\pmc_common\Flash\WriteBytesFlash.c - __tmp_0 0x000033 data static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __tmp_0 0x000033 data static E:\3.46\pic18-lt\cxx-framework\src\pmc_common\Flash\ReadFlash.c - __tmp_0 0x000033 data static E:\3.46\pic18-lt\cxx-framework\src\pmc_common\USART\u1open.c - __tmp_0 0x000033 data static E:\3.46\pic18-lt\cxx-framework\src\pmc_common\Flash\EraseFlash.c - __tmp_0 0x000033 data static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c - __tmp_0 0x000033 data static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c - __tmp_0 0x000033 data static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - __tmp_0 0x000033 data static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c - __tmp_0 0x000033 data static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c - __tmp_1 0x00003b data static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - __tmp_1 0x00003f data static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + acc_union 0x000023 data static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +gISRTickCountForThisCommand 0x00002b data static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +gISRStepCountForThisCommand 0x00002f data static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +gISRPositionForThisCommand 0x000033 data static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + SIGN 0x000037 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\math\cmath18.asm + __FPFLAGSbits 0x000038 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\math\cmath18.asm + __FPFLAGS 0x000038 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\math\cmath18.asm + __AARGB7 0x000039 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\math\aarg.asm + __REMB3 0x000039 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\math\aarg.asm + __REMB2 0x00003a data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\math\aarg.asm + __AARGB6 0x00003a data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\math\aarg.asm + __REMB1 0x00003b data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\math\aarg.asm + __AARGB5 0x00003b data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\math\aarg.asm + __REMB0 0x00003c data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\math\aarg.asm + __AARGB4 0x00003c data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\math\aarg.asm + __AARGB3 0x00003d data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\math\aarg.asm + __AARGB2 0x00003e data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\math\aarg.asm + __AARGB1 0x00003f data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\math\aarg.asm + __AARGB0 0x000040 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\math\aarg.asm + __AEXP 0x000041 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\math\aarg.asm + __BARGB3 0x000042 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\math\barg.asm + __BARGB2 0x000043 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\math\barg.asm + __BARGB1 0x000044 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\math\barg.asm + __BARGB0 0x000045 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\math\barg.asm + __BEXP 0x000046 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\math\barg.asm + __tmp_0 0x000047 data static E:\3.46\pic18-lt\cxx-framework\src\pmc_common\Flash\EraseFlash.c + __tmp_0 0x000047 data static E:\3.46\pic18-lt\cxx-framework\src\pmc_common\USART\u1open.c + __tmp_0 0x000047 data static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c + __tmp_0 0x000047 data static C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c + __tmp_0 0x000047 data static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + __tmp_0 0x000047 data static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c + __tmp_0 0x000047 data static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c + __tmp_0 0x000047 data static E:\3.46\pic18-lt\cxx-framework\src\pmc_common\Flash\ReadFlash.c + __tmp_0 0x000047 data static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __tmp_0 0x000047 data static E:\3.46\pic18-lt\cxx-framework\src\pmc_common\Flash\WriteBytesFlash.c + __tmp_0 0x000047 data static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb_print.c + __tmp_1 0x00004f data static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + __tmp_1 0x000053 data static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c gRC2msCounter 0x000060 data extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c gRC2Value 0x000061 data extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c gRC2RPn 0x000069 data extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c @@ -2596,48 +2595,38 @@ gRCServoPoweroffCounterReloadMS 0x0000d5 data extern C:\Projects\Egg USART1_Status 0x0000fc data extern E:\3.46\pic18-lt\cxx-framework\src\pmc_common\USART\u1defs.c ISR_A_FIFO 0x000100 data extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c ISR_D_FIFO 0x000120 data extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - gOutputStr 0x000129 data static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb_print.c - gPos 0x000135 data static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb_print.c - i 0x000136 data static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb_print.c - prom 0x000137 data static C:\MCC18\src\traditional\startup\c018i.c - curr_byte 0x00013a data static C:\MCC18\src\traditional\startup\c018i.c - curr_entry 0x00013c data static C:\MCC18\src\traditional\startup\c018i.c - data_ptr 0x00013e data static C:\MCC18\src\traditional\startup\c018i.c + gMoveTemp 0x000129 data static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + gSL_Storage 0x000158 data static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c CurrentCommand 0x000180 data extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - acc_union 0x0001af data static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -gISRTickCountForThisCommand 0x0001b7 data static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -gISRStepCountForThisCommand 0x0001bb data static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -gISRPositionForThisCommand 0x0001bf data static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - USBDeviceState 0x0001c3 data extern C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c - USBActiveConfiguration 0x0001c4 data extern C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c - USBAlternateInterface 0x0001c5 data extern C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c - pBDTEntryEP0OutCurrent 0x0001c6 data extern C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c - pBDTEntryEP0OutNext 0x0001c8 data extern C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c - pBDTEntryOut 0x0001ca data extern C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c - pBDTEntryIn 0x0001d0 data extern C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c - shortPacketStatus 0x0001d6 data extern C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c - controlTransferState 0x0001d7 data extern C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c - inPipes 0x0001d8 data extern C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c - outPipes 0x0001dd data extern C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c - pDst 0x0001e4 data extern C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c - RemoteWakeup 0x0001e6 data extern C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c - USBBusIsSuspended 0x0001e7 data extern C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c - USTATcopy 0x0001e8 data extern C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c - endpoint_number 0x0001e9 data extern C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c - BothEP0OutUOWNsSet 0x0001ea data extern C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c - ep_data_in 0x0001eb data extern C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c - ep_data_out 0x0001ee data extern C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -USBStatusStageTimeoutCounter 0x0001f1 data extern C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -USBDeferStatusStagePacket 0x0001f2 data extern C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -USBStatusStageEnabledFlag1 0x0001f3 data extern C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -USBStatusStageEnabledFlag2 0x0001f4 data extern C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -USBDeferINDataStagePackets 0x0001f5 data extern C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -USBDeferOUTDataStagePackets 0x0001f6 data extern C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c - in_cr 0x0001f7 data static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - button_state 0x0001f8 data static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - button_ctr 0x0001f9 data static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - LEDCount 0x0001fb data static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - LEDState 0x0001fd data static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + DemoModeActive 0x0001af data extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + SolenoidState 0x0001b1 data static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + SolenoidDelay 0x0001b2 data static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + PenState 0x0001b4 data static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + NodeCount 0x0001b5 data static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + QC_ms_timer 0x0001b9 data extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + StoredEngraverPower 0x0001ba data static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + gUseSolenoid 0x0001bc data extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + gLimitChecks 0x0001bd data extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +gStandardizedCommandFormat 0x0001be data extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + gTmpDurationMS 0x0001bf data static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + gTmpIntervals 0x0001c3 data static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + gTmpRate1 0x0001c7 data static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + gTmpRate2 0x0001cb data static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + gTmpSteps1 0x0001cf data static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + gTmpSteps2 0x0001d3 data static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + gTmpAccel1 0x0001d7 data static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + gTmpAccel2 0x0001db data static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + gTmpJerk1 0x0001df data static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + gTmpJerk2 0x0001e3 data static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + gTmpClearAccs 0x0001e7 data static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + gOutputStr 0x0001eb data static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb_print.c + gPos 0x0001f7 data static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb_print.c + i 0x0001f8 data static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb_print.c + in_cr 0x0001f9 data static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + button_state 0x0001fa data static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + button_ctr 0x0001fb data static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + LEDCount 0x0001fd data static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + LEDState 0x0001ff data static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c g_TX_buf 0x000200 data extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c g_RX_command_buf 0x000240 data extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c sd000 0x000280 data extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\usb_descriptors.c @@ -2665,31 +2654,36 @@ USBDeferOUTDataStagePackets 0x0001f6 data extern C:\Projects\EggBot_ control_signal_bitmap 0x00059b data extern C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c BaudRateGen 0x00059c data extern C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c dummy_encapsulated_cmd_response 0x0005a0 data extern C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c + USBDeviceState 0x0005a8 data extern C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c + USBActiveConfiguration 0x0005a9 data extern C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c + USBAlternateInterface 0x0005aa data extern C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c + pBDTEntryEP0OutCurrent 0x0005ab data extern C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c + pBDTEntryEP0OutNext 0x0005ad data extern C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c + pBDTEntryOut 0x0005af data extern C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c + pBDTEntryIn 0x0005b5 data extern C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c + shortPacketStatus 0x0005bb data extern C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c + controlTransferState 0x0005bc data extern C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c + inPipes 0x0005bd data extern C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c + outPipes 0x0005c2 data extern C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c + pDst 0x0005c9 data extern C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c + RemoteWakeup 0x0005cb data extern C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c + USBBusIsSuspended 0x0005cc data extern C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c + USTATcopy 0x0005cd data extern C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c + endpoint_number 0x0005ce data extern C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c + BothEP0OutUOWNsSet 0x0005cf data extern C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c + ep_data_in 0x0005d0 data extern C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c + ep_data_out 0x0005d3 data extern C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +USBStatusStageTimeoutCounter 0x0005d6 data extern C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +USBDeferStatusStagePacket 0x0005d7 data extern C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +USBStatusStageEnabledFlag1 0x0005d8 data extern C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +USBStatusStageEnabledFlag2 0x0005d9 data extern C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +USBDeferINDataStagePackets 0x0005da data extern C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +USBDeferOUTDataStagePackets 0x0005db data extern C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c + prom 0x0005dc data static C:\MCC18\src\traditional\startup\c018i.c + curr_byte 0x0005df data static C:\MCC18\src\traditional\startup\c018i.c + curr_entry 0x0005e1 data static C:\MCC18\src\traditional\startup\c018i.c + data_ptr 0x0005e3 data static C:\MCC18\src\traditional\startup\c018i.c CommandFIFO 0x000600 data extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - gMoveTemp 0x000b24 data static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - DemoModeActive 0x000b53 data extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - comd_counter 0x000b55 data extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - SolenoidState 0x000b57 data static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - SolenoidDelay 0x000b58 data static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - PenState 0x000b5a data static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - NodeCount 0x000b5b data static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - gSL_Storage 0x000b5f data static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - QC_ms_timer 0x000b7f data extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - StoredEngraverPower 0x000b80 data static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - gUseSolenoid 0x000b82 data extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - gLimitChecks 0x000b83 data extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -gStandardizedCommandFormat 0x000b84 data extern C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - gTmpDurationMS 0x000b85 data static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - gTmpIntervals 0x000b89 data static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - gTmpRate1 0x000b8d data static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - gTmpRate2 0x000b91 data static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - gTmpSteps1 0x000b95 data static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - gTmpSteps2 0x000b99 data static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - gTmpAccel1 0x000b9d data static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - gTmpAccel2 0x000ba1 data static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - gTmpJerk1 0x000ba5 data static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - gTmpJerk2 0x000ba9 data static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - gTmpClearAccs 0x000bad data static C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c RPOR0 0x000ec6 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm RPOR1 0x000ec7 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm RPOR2 0x000ec8 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm @@ -2727,36 +2721,36 @@ gStandardizedCommandFormat 0x000b84 data extern C:\Projects\EggBot_G RPINR22 0x000efc data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm RPINR23 0x000efd data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm RPINR24 0x000efe data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm - PPSCON 0x000eff data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm PPSCONbits 0x000eff data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm + PPSCON 0x000eff data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm UEP0bits 0x000f26 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm UEP0 0x000f26 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm UEP1bits 0x000f27 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm UEP1 0x000f27 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm - UEP2 0x000f28 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm UEP2bits 0x000f28 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm + UEP2 0x000f28 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm UEP3 0x000f29 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm UEP3bits 0x000f29 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm - UEP4 0x000f2a data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm UEP4bits 0x000f2a data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm - UEP5 0x000f2b data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm + UEP4 0x000f2a data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm UEP5bits 0x000f2b data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm - UEP6 0x000f2c data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm + UEP5 0x000f2b data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm UEP6bits 0x000f2c data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm + UEP6 0x000f2c data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm UEP7 0x000f2d data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm UEP7bits 0x000f2d data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm - UEP8bits 0x000f2e data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm UEP8 0x000f2e data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm + UEP8bits 0x000f2e data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm UEP9bits 0x000f2f data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm UEP9 0x000f2f data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm UEP10bits 0x000f30 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm UEP10 0x000f30 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm - UEP11bits 0x000f31 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm UEP11 0x000f31 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm - UEP12bits 0x000f32 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm + UEP11bits 0x000f31 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm UEP12 0x000f32 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm - UEP13 0x000f33 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm + UEP12bits 0x000f32 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm UEP13bits 0x000f33 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm + UEP13 0x000f33 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm UEP14bits 0x000f34 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm UEP14 0x000f34 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm UEP15bits 0x000f35 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm @@ -2765,75 +2759,75 @@ gStandardizedCommandFormat 0x000b84 data extern C:\Projects\EggBot_G UIEbits 0x000f36 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm UEIEbits 0x000f37 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm UEIE 0x000f37 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm - UADDR 0x000f38 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm UADDRbits 0x000f38 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm - UCFGbits 0x000f39 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm + UADDR 0x000f38 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm UCFG 0x000f39 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm + UCFGbits 0x000f39 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm PADCFG1bits 0x000f3c data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm PADCFG1 0x000f3c data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm REFOCONbits 0x000f3d data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm REFOCON 0x000f3d data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm - RTCCALbits 0x000f3e data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm RTCCAL 0x000f3e data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm + RTCCALbits 0x000f3e data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm RTCCFG 0x000f3f data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm RTCCFGbits 0x000f3f data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm - ODCON3 0x000f40 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm ODCON3bits 0x000f40 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm + ODCON3 0x000f40 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm ODCON2bits 0x000f41 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm ODCON2 0x000f41 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm ODCON1bits 0x000f42 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm ODCON1 0x000f42 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm ANCON0 0x000f48 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm ANCON0bits 0x000f48 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm - ANCON1bits 0x000f49 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm ANCON1 0x000f49 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm - DSWAKEL 0x000f4a data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm + ANCON1bits 0x000f49 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm DSWAKELbits 0x000f4a data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm + DSWAKEL 0x000f4a data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm DSWAKEHbits 0x000f4b data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm DSWAKEH 0x000f4b data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm - DSCONLbits 0x000f4c data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm DSCONL 0x000f4c data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm - DSCONHbits 0x000f4d data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm + DSCONLbits 0x000f4c data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm DSCONH 0x000f4d data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm + DSCONHbits 0x000f4d data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm DSGPR0 0x000f4e data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm DSGPR1 0x000f4f data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm - TCLKCON 0x000f52 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm TCLKCONbits 0x000f52 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm + TCLKCON 0x000f52 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm CVRCON 0x000f53 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm CVRCONbits 0x000f53 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm PMSTATL 0x000f54 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm PMSTATLbits 0x000f54 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm - PMSTATH 0x000f55 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm PMSTATHbits 0x000f55 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm + PMSTATH 0x000f55 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm PMEL 0x000f56 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm PMELbits 0x000f56 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm - PMEHbits 0x000f57 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm PMEH 0x000f57 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm + PMEHbits 0x000f57 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm PMDIN2L 0x000f58 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm PMDIN2H 0x000f59 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm PMDOUT2L 0x000f5a data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm PMDOUT2H 0x000f5b data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm - PMMODEL 0x000f5c data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm PMMODELbits 0x000f5c data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm - PMMODEH 0x000f5d data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm + PMMODEL 0x000f5c data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm PMMODEHbits 0x000f5d data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm - PMCONLbits 0x000f5e data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm + PMMODEH 0x000f5d data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm PMCONL 0x000f5e data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm + PMCONLbits 0x000f5e data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm PMCONH 0x000f5f data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm PMCONHbits 0x000f5f data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm - UFRM 0x000f60 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm - UFRML 0x000f60 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm UFRMLbits 0x000f60 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm + UFRML 0x000f60 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm + UFRM 0x000f60 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm UFRMH 0x000f61 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm UFRMHbits 0x000f61 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm UIR 0x000f62 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm UIRbits 0x000f62 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm - UEIR 0x000f63 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm UEIRbits 0x000f63 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm - USTATbits 0x000f64 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm + UEIR 0x000f63 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm USTAT 0x000f64 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm - UCONbits 0x000f65 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm + USTATbits 0x000f64 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm UCON 0x000f65 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm + UCONbits 0x000f65 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm DMABCHbits 0x000f66 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm DMABCH 0x000f66 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm DMABCL 0x000f67 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm @@ -2845,39 +2839,39 @@ gStandardizedCommandFormat 0x000b84 data extern C:\Projects\EggBot_G TXADDRL 0x000f6b data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm PMDIN1L 0x000f6c data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm PMDIN1H 0x000f6d data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm - PMADDRL 0x000f6e data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm PMDOUT1L 0x000f6e data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm - PMADDRHbits 0x000f6f data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm + PMADDRL 0x000f6e data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm PMADDRH 0x000f6f data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm PMDOUT1H 0x000f6f data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm + PMADDRHbits 0x000f6f data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm + CMSTAT 0x000f70 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm + CMSTATUS 0x000f70 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm CMSTATUSbits 0x000f70 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm CMSTATbits 0x000f70 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm - CMSTATUS 0x000f70 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm - CMSTAT 0x000f70 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm SSP2CON2bits 0x000f71 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm SSP2CON2 0x000f71 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm - SSP2CON1 0x000f72 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm SSP2CON1bits 0x000f72 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm + SSP2CON1 0x000f72 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm SSP2STAT 0x000f73 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm SSP2STATbits 0x000f73 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm - SSP2ADD 0x000f74 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm SSP2ADDbits 0x000f74 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm + SSP2ADD 0x000f74 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm SSP2BUF 0x000f75 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm - T4CONbits 0x000f76 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm T4CON 0x000f76 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm + T4CONbits 0x000f76 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm PR4 0x000f77 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm TMR4 0x000f78 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm - T3CONbits 0x000f79 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm T3CON 0x000f79 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm + T3CONbits 0x000f79 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm TMR3L 0x000f7a data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm TMR3H 0x000f7b data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm - BAUDCON2bits 0x000f7c data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm BAUDCON2 0x000f7c data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm + BAUDCON2bits 0x000f7c data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm SPBRGH2 0x000f7d data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm BAUDCON1bits 0x000f7e data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm - BAUDCONbits 0x000f7e data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm BAUDCON1 0x000f7e data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm BAUDCON 0x000f7e data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm + BAUDCONbits 0x000f7e data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm BAUDCTL 0x000f7e data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm BAUDCTLbits 0x000f7e data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm SPBRGH 0x000f7f data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm @@ -2890,14 +2884,14 @@ gStandardizedCommandFormat 0x000b84 data extern C:\Projects\EggBot_G PORTC 0x000f82 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm PORTDbits 0x000f83 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm PORTD 0x000f83 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm - PORTE 0x000f84 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm PORTEbits 0x000f84 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm + PORTE 0x000f84 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm HLVDCONbits 0x000f85 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm HLVDCON 0x000f85 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm - DMACON2bits 0x000f86 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm DMACON2 0x000f86 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm - DMACON1 0x000f88 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm + DMACON2bits 0x000f86 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm DMACON1bits 0x000f88 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm + DMACON1 0x000f88 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm LATA 0x000f89 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm LATAbits 0x000f89 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm LATB 0x000f8a data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm @@ -2910,48 +2904,48 @@ gStandardizedCommandFormat 0x000b84 data extern C:\Projects\EggBot_G LATE 0x000f8d data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm ALRMVALL 0x000f8e data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm ALRMVALH 0x000f8f data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm - ALRMRPTbits 0x000f90 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm ALRMRPT 0x000f90 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm + ALRMRPTbits 0x000f90 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm ALRMCFG 0x000f91 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm ALRMCFGbits 0x000f91 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm - TRISAbits 0x000f92 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm TRISA 0x000f92 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm + TRISAbits 0x000f92 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm TRISBbits 0x000f93 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm TRISB 0x000f93 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm - TRISCbits 0x000f94 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm TRISC 0x000f94 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm - TRISD 0x000f95 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm + TRISCbits 0x000f94 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm TRISDbits 0x000f95 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm - TRISE 0x000f96 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm + TRISD 0x000f95 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm TRISEbits 0x000f96 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm - T3GCONbits 0x000f97 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm + TRISE 0x000f96 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm T3GCON 0x000f97 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm + T3GCONbits 0x000f97 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm RTCVALL 0x000f98 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm RTCVALH 0x000f99 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm - T1GCON 0x000f9a data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm T1GCONbits 0x000f9a data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm - OSCTUNEbits 0x000f9b data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm + T1GCON 0x000f9a data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm OSCTUNE 0x000f9b data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm - RCSTA2bits 0x000f9c data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm + OSCTUNEbits 0x000f9b data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm RCSTA2 0x000f9c data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm - PIE1 0x000f9d data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm + RCSTA2bits 0x000f9c data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm PIE1bits 0x000f9d data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm + PIE1 0x000f9d data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm PIR1 0x000f9e data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm PIR1bits 0x000f9e data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm IPR1bits 0x000f9f data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm IPR1 0x000f9f data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm - PIE2 0x000fa0 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm PIE2bits 0x000fa0 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm + PIE2 0x000fa0 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm PIR2 0x000fa1 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm PIR2bits 0x000fa1 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm IPR2bits 0x000fa2 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm IPR2 0x000fa2 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm - PIE3bits 0x000fa3 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm PIE3 0x000fa3 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm + PIE3bits 0x000fa3 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm PIR3 0x000fa4 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm PIR3bits 0x000fa4 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm - IPR3bits 0x000fa5 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm IPR3 0x000fa5 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm + IPR3bits 0x000fa5 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm EECON1bits 0x000fa6 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm EECON1 0x000fa6 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm EECON2 0x000fa7 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm @@ -2961,9 +2955,9 @@ gStandardizedCommandFormat 0x000b84 data extern C:\Projects\EggBot_G RCREG2 0x000faa data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm SPBRG2 0x000fab data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm RCSTAbits 0x000fac data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm - RCSTA1bits 0x000fac data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm - RCSTA1 0x000fac data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm RCSTA 0x000fac data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm + RCSTA1 0x000fac data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm + RCSTA1bits 0x000fac data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm TXSTA1bits 0x000fad data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm TXSTA1 0x000fad data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm TXSTA 0x000fad data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm @@ -2972,46 +2966,46 @@ gStandardizedCommandFormat 0x000b84 data extern C:\Projects\EggBot_G TXREG 0x000fae data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm RCREG1 0x000faf data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm RCREG 0x000faf data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm - SPBRG 0x000fb0 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm SPBRG1 0x000fb0 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm - CTMUICON 0x000fb1 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm + SPBRG 0x000fb0 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm CTMUICONbits 0x000fb1 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm + CTMUICON 0x000fb1 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm CTMUCONLbits 0x000fb2 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm CTMUCONL 0x000fb2 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm - CTMUCONH 0x000fb3 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm CTMUCONHbits 0x000fb3 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm - ECCP2CONbits 0x000fb4 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm + CTMUCONH 0x000fb3 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm CCP2CON 0x000fb4 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm CCP2CONbits 0x000fb4 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm ECCP2CON 0x000fb4 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm - CCPR2L 0x000fb5 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm + ECCP2CONbits 0x000fb4 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm CCPR2 0x000fb5 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm + CCPR2L 0x000fb5 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm CCPR2H 0x000fb6 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm - ECCP2DEL 0x000fb7 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm - ECCP2DELbits 0x000fb7 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm PWM2CON 0x000fb7 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm PWM2CONbits 0x000fb7 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm - ECCP2AS 0x000fb8 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm + ECCP2DEL 0x000fb7 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm + ECCP2DELbits 0x000fb7 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm ECCP2ASbits 0x000fb8 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm + ECCP2AS 0x000fb8 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm PSTR2CONbits 0x000fb9 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm PSTR2CON 0x000fb9 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm - CCP1CONbits 0x000fba data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm CCP1CON 0x000fba data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm - ECCP1CONbits 0x000fba data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm + CCP1CONbits 0x000fba data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm ECCP1CON 0x000fba data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm - CCPR1L 0x000fbb data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm + ECCP1CONbits 0x000fba data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm CCPR1 0x000fbb data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm + CCPR1L 0x000fbb data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm CCPR1H 0x000fbc data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm - ECCP1DELbits 0x000fbd data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm ECCP1DEL 0x000fbd data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm - PWM1CONbits 0x000fbd data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm + ECCP1DELbits 0x000fbd data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm PWM1CON 0x000fbd data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm - ECCP1AS 0x000fbe data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm + PWM1CONbits 0x000fbd data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm ECCP1ASbits 0x000fbe data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm - PSTR1CON 0x000fbf data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm + ECCP1AS 0x000fbe data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm PSTR1CONbits 0x000fbf data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm - WDTCON 0x000fc0 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm + PSTR1CON 0x000fbf data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm WDTCONbits 0x000fc0 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm + WDTCON 0x000fc0 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm ADCON1bits 0x000fc1 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm ADCON1 0x000fc1 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm ADCON0 0x000fc2 data extern E:\3.46\pic18-lt\cxx-framework\src\traditional\proc\p18f46j50.asm diff --git a/EBB_firmware/app.X/dist/EBBv13_with_bootloader/production/app.X.production.cof b/EBB_firmware/app.X/dist/EBBv13_with_bootloader/production/app.X.production.cof index 5997845..a6462b7 100644 Binary files a/EBB_firmware/app.X/dist/EBBv13_with_bootloader/production/app.X.production.cof and b/EBB_firmware/app.X/dist/EBBv13_with_bootloader/production/app.X.production.cof differ diff --git a/EBB_firmware/app.X/dist/EBBv13_with_bootloader/production/app.X.production.hex b/EBB_firmware/app.X/dist/EBBv13_with_bootloader/production/app.X.production.hex index 275ad10..5b427e5 100644 --- a/EBB_firmware/app.X/dist/EBBv13_with_bootloader/production/app.X.production.hex +++ b/EBB_firmware/app.X/dist/EBBv13_with_bootloader/production/app.X.production.hex @@ -1,2103 +1,2104 @@ :020000040000FA -:0610000077EF48F012003A +:0610000085EF48F012002C :0610080028EF08F01200C1 -:06101800A9EF21F0120017 -:06102A000300A29100008A -:10103000F701000007000000A0910000FA00000086 -:101040000200000022910000800200007E000000EB +:06101800B7EF21F0120009 +:06102A000300BE9100006E +:10103000F901000007000000BC910000FA00000068 +:10104000020000003E910000800200007E000000CF :10105000DACFE4FFE9CFE4FFEACFE4FFF3CFE4FF28 :10106000F4CFE4FFE6529E90FE0ECF6E300ECE6EB1 :1010700009B28C820080010180A933D0045004E1C0 :101080005F0E831481118C6E02A016D009A402D0C9 -:1010900048EC1EF034EC20F0B2AF0ED0B29F818D40 -:1010A0004EEC1EF009A404D0BB2BBC23BD23BE23F1 -:1010B00091EC1DF001E1029003A00BD03DEC20F07B -:1010C000B6AF07D0B69FA9EC1EF05DEC1EF001E1B3 +:1010900048EC1EF045EC20F026AE0ED0269E818D49 +:1010A0004EEC1EF009A404D02F2A30223122322225 +:1010B000B5EC1DF001E1029003A00BD04EEC20F046 +:1010C0002AAE07D02A9EB9EC1EF05DEC1EF001E1BD :1010D0000390010E021444E1010E031401E176D0E5 :1010E0003FD080AB3FD002A01FD009A402D048EC73 -:1010F0001EF048EC1CF0B2AF17D07F0EB215B26FE5 -:10110000818D4EEC1EF009A404D0BB2BBC23BD2363 -:10111000BE238AAF03D0818F8C8E02D0819F8C9E9C -:1011200091EC1DF001E1029003A014D05AEC1CF0E8 -:10113000B6AF10D07F0EB615B66FA9EC1EF08EAF0D +:1010F0001EF05BEC1CF026AE17D07F0E2614266E79 +:10110000818D4EEC1EF009A404D02F2A302231220A +:1011100032228AAF03D0818F8C8E02D0819F8C9E29 +:10112000B5EC1DF001E1029003A014D06DEC1CF0B1 +:101130002AAE10D07F0E2A142A6EB9EC1EF08EAFA4 :1011400003D0818B8C8A02D0819B8C9A5DEC1EF03F :1011500001E10390010E021403E1010E031436E0D5 :10116000009034D080AD32D002A030D000904EEC50 -:101170001EF091EC1DF001E1029009A402D048ECB0 -:101180001EF048EC1CF0B2AF12D07F0EB215B26F59 -:10119000818D09A405D0BB2B000EBC23BD23BE232B -:1011A0008AAF03D0818F8C8E02D0819F8C9E5AECA7 -:1011B0001CF0B6AF0BD07F0EB615B66F81898EAF1F +:101170001EF0B5EC1DF001E1029009A402D048EC8C +:101180001EF05BEC1CF026AE12D07F0E2614266EED +:10119000818D09A405D02F2A000E3022312232225F +:1011A0008AAF03D0818F8C8E02D0819F8C9E6DEC94 +:1011B0001CF02AAE0BD07F0E2A142A6E81898EAFC6 :1011C00003D0818B8C8A02D0819B8C9A500E811522 :1011D00042E0045005E10F0E831481118C6E0ED095 :1011E00081AF02D08B8401D08B9481AB02D08984F3 :1011F00001D0899481BD8B8C81B9898A81AD19D048 :1012000081AF0CD01B06000E1C5A1D5A1E5A09A491 -:1012100010D0BF07C05BC15BC25B0BD01B2A000EA6 -:101220001C221D221E2209A404D0BF2BC023C123CF -:10123000C22381A90DD081AB06D01F06000E205A13 +:1012100010D03306345A355A365A0BD01B2A000EDA +:101220001C221D221E2209A404D0332A3422352276 +:10123000362281A90DD081AB06D01F06000E205AA0 :10124000215A225A05D01F2A000E202221222222B2 -:10125000AF0E8117DAD080A35AD005A03AD0AA05E4 -:101260000A6EA851A9111AE18AEC1DF0EF50000195 -:10127000EA6A8025E96E8151EA22EF6AA2EC20F049 -:10128000EE6AED6AA9EC20F0EE6AED6A8AEC1DF0D8 -:10129000EF6ACAEC20F0EE6AED6A1BD0A2EC20F0F7 -:1012A000ABC1EEFFACC1EDFFA9EC20F0A8C1EEFF91 -:1012B000A9C1EDFF8AEC1DF0A7C1EFFFCAEC20F039 -:1012C000EE50ED1006E1CAEC20F0A8C1EEFFA9C176 -:1012D000EDFF00018A510101A75D19E10001845170 -:1012E0000101A8190DE1000185510101A91908E1C9 -:1012F0000B01010E5A6F576B825109E08A9807D093 -:101300000B015A6B010E576F825101E08A88030E60 -:10131000010180150EE062EC1EF001E176D082073B -:10132000000E835B845B855B62EC1EF06EE00090D8 -:101330006CD080A529D0865122E0ADC13FF0AEC16E -:1013400040F0D89040323F32D89040323F323F5048 -:10135000BB6E80CB41F081CB42F0040ED890413679 -:101360004236E804FBE1300E4116000E4216CF0E65 -:10137000BA1441103F6E42C040F0E85003D0BB6A3F -:10138000CF0EBA14BA6E40D080A73FD0815100086A -:1013900023E2045002E18D9001D08C92810503E19B -:1013A0008D848D82898C020E815D03E18D848D8216 -:1013B000899C030E815D03E18D948D82899C040ECE -:1013C000815D03E18D848D92899C050E815D09E12B -:1013D0008D948D92899C05D0045002E18D8001D0BE -:1013E0008C82A751000806E2045002E18B9207D0DC -:1013F000899205D0045002E18B8201D08982B2EC3F -:101400001DF0BBEC1DF00E90008009A47ED2010EF1 -:10141000001404E1080E091401E177D2700E0101F5 -:10142000801501E172D2098EADA2FED7540EAE6EC8 -:10143000ADA2FED72C0EAE6EB7C10FF0B8C110F042 -:10144000B9C111F0BAC112F07DEC21F005E3ADA2F3 -:10145000FED7300E132405D0ADA2FED7410E1324C3 -:10146000F60FDAEC1FF005E3ADA2FED7300E132421 -:1014700005D0ADA2FED7410E1324F60F34EC21F0B7 -:1014800005E3ADA2FED7300E132405D0ADA2FED7E2 -:10149000410E1324F60FDFEC1FF005E3ADA2FED7DB -:1014A000300E132405D0ADA2FED7410E1324F60F43 -:1014B00038EC21F005E3ADA2FED7300E132405D0A1 -:1014C000ADA2FED7410E1324F60FE4EC1FF005E3A6 -:1014D000ADA2FED7300E132405D0ADA2FED7410E2B -:1014E0001324F60F3CEC21F005E3ADA2FED7300E3D -:1014F000132405D0ADA2FED7410E1324F60FE9EC5C -:101500001FF005E3ADA2FED7300E132405D0ADA227 -:10151000FED7410E1324F60FAE6EADA2FED72C0EF1 -:10152000AE6EADA2FED7530EAE6EADA2FED72C0EA0 -:10153000AE6EBBC10FF0BCC110F0BDC111F0BEC199 -:1015400012F07DEC21F005E3ADA2FED7300E13249E -:1015500005D0ADA2FED7410E1324F60FDAEC1FF032 -:1015600005E3ADA2FED7300E132405D0ADA2FED701 -:10157000410E1324F60F34EC21F005E3ADA2FED7A3 -:10158000300E132405D0ADA2FED7410E1324F60F62 -:10159000DFEC1FF005E3ADA2FED7300E132405D01B -:1015A000ADA2FED7410E1324F60F38EC21F005E36F -:1015B000ADA2FED7300E132405D0ADA2FED7410E4A -:1015C0001324F60FE4EC1FF005E3ADA2FED7300EB6 -:1015D000132405D0ADA2FED7410E1324F60F3CEC28 -:1015E00021F005E3ADA2FED7300E132405D0ADA245 -:1015F000FED7410E1324F60FE9EC1FF005E3ADA270 -:10160000FED7300E132405D0ADA2FED7410E132411 -:10161000F60FAE6EADA2FED72C0EAE6EADA2FED70B -:10162000430EAE6EADA2FED72C0EAE6EAFC10FF064 -:10163000B0C110F0B1C111F0B2C112F07DEC21F0D7 -:1016400005E3ADA2FED7300E132405D0ADA2FED720 -:10165000410E1324F60FDAEC1FF005E3ADA2FED71E -:10166000300E132405D0ADA2FED7410E1324F60F81 -:1016700034EC21F005E3ADA2FED7300E132405D0E3 -:10168000ADA2FED7410E1324F60FDFEC1FF005E3E9 -:10169000ADA2FED7300E132405D0ADA2FED7410E69 -:1016A0001324F60F38EC21F005E3ADA2FED7300E7F -:1016B000132405D0ADA2FED7410E1324F60FE4EC9F -:1016C0001FF005E3ADA2FED7300E132405D0ADA266 -:1016D000FED7410E1324F60F3CEC21F005E3ADA23A -:1016E000FED7300E132405D0ADA2FED7410E132431 -:1016F000F60FE9EC1FF005E3ADA2FED7300E132480 -:1017000005D0ADA2FED7410E1324F60FAE6EADA2EA -:10171000FED72C0EAE6EADA2FED7520EAE6EADA2AF -:10172000FED72C0EAE6E87C10FF088C110F089C1B4 -:1017300011F08AC112F07DEC21F005E3ADA2FED7D5 -:10174000300E132405D0ADA2FED7410E1324F60FA0 -:10175000DAEC1FF005E3ADA2FED7300E132405D05E -:10176000ADA2FED7410E1324F60F34EC21F005E3B1 -:10177000ADA2FED7300E132405D0ADA2FED7410E88 -:101780001324F60FDFEC1FF005E3ADA2FED7300EF9 -:10179000132405D0ADA2FED7410E1324F60F38EC6A -:1017A00021F005E3ADA2FED7300E132405D0ADA283 -:1017B000FED7410E1324F60FE4EC1FF005E3ADA2B3 -:1017C000FED7300E132405D0ADA2FED7410E132450 -:1017D000F60F3CEC21F005E3ADA2FED7300E13244A -:1017E00005D0ADA2FED7410E1324F60FE9EC1FF091 -:1017F00005E3ADA2FED7300E132405D0ADA2FED76F -:10180000410E1324F60FAE6EADA2FED72C0EAE6EB7 -:10181000ADA2FED7500EAE6EADA2FED72C0EAE6EB0 -:10182000BFC10FF0C0C110F0C1C111F0C2C112F0B0 -:101830007DEC21F005E3ADA2FED7300E132405D0D8 -:10184000ADA2FED7410E1324F60FDAEC1FF005E32C -:10185000ADA2FED7300E132405D0ADA2FED7410EA7 -:101860001324F60F34EC21F005E3ADA2FED7300EC1 -:10187000132405D0ADA2FED7410E1324F60FDFECE2 -:101880001FF005E3ADA2FED7300E132405D0ADA2A4 -:10189000FED7410E1324F60F38EC21F005E3ADA27C -:1018A000FED7300E132405D0ADA2FED7410E13246F -:1018B000F60FE4EC1FF005E3ADA2FED7300E1324C3 -:1018C00005D0ADA2FED7410E1324F60F3CEC21F05B -:1018D00005E3ADA2FED7300E132405D0ADA2FED78E -:1018E000410E1324F60FE9EC1FF005E3ADA2FED77D -:1018F000300E132405D0ADA2FED7410E1324F60FEF -:10190000AE6EADA2FED70A0EAE6E0C5019E081503D -:101910000B6EE8500D18E81C0C1412E00BC0DCF044 -:101920000E80026A036A0080146A156A166A016AE8 -:101930001C0E015C05E20150EAEC1CF0012AF8D70C -:1019400000A0ECD00101806B145001E1CFD009B2AE -:101950008C8006B08C940001A85102E0010EA86FA3 -:10196000165052EC1FF0EF50176E17A803D0EDEC95 -:1019700020F004D017AA14D000EC1FF076EC20F071 -:10198000CDEC1DF076EC20F0040EC0EC1BF0EECF99 -:1019900093F1EECF94F1EECF95F1EFCF96F108D021 -:1019A00017AC10D000EC1FF076EC20F0CDEC1DF061 -:1019B0008DEC20F0020EC0EC1BF076EC1CF085ECF8 -:1019C00020F045D017A223D05DEC1FF0A2EC1AF056 -:1019D000280EC0EC1BF0EECFA8F1EDCFA9F1A2ECE0 -:1019E0001AF0270EC0EC1BF0EFCFA7F1A2EC1AF013 -:1019F0002A0EC0EC1BF0EFCFAAF1A2EC1AF02B0ECE -:101A0000C0EC1BF0EECFABF1EDCFACF120D017A0C6 -:101A100003D05DEC1FF01BD017A40ED05DEC1FF0BF -:101A200085EC20F0A2EC1AF02D0EC0EC1BF0EECFEE -:101A3000ADF1EDCFAEF10BD0A2EC1AF0EFCF80F10B -:101A40008DEC20F0270EC0EC1BF0EFCFA7F1700E4D -:101A50000101801531E086A909D082C1AFF183C1AF -:101A6000B0F184C1B1F185C1B2F11AD086A104D020 -:101A7000AF6BB06BB16BB26B86A304D0B36BB46BBE -:101A8000B56BB66B86A505D0AF69B069B1697F0E3D -:101A9000B26F86A705D0B369B469B5697F0EB66F1A -:101AA00091EC1DF002E0028001D002905DEC1EF08E -:101AB00002E0038001D0039009A40CD0B76BB86B8F -:101AC000B96BBA6BBB6BBC6BBD6BBE6BBF6BC06BDA -:101AD000C16BC26B1650EAEC1CF0162A1850165C4B -:101AE00001E3166A14501AE0140618D00001A80584 -:101AF0000CE10001E80EAB6F030EAC6FA9C0ADF0B6 -:101B0000AAC0AEF00001020EA86F0101826B836BC8 -:101B1000846B856B06B08C8409B2898280AE0780A5 -:101B200008A002D081A00780045003E18C9C8C980F -:101B300002D08B9C899A09AE06D09E90FE0ECF6E85 -:101B4000300ECE6E099E09A203D089928C908C92A1 -:101B5000E552E5CFF4FFE5CFF3FFE5CFEAFFE5CFB0 -:101B6000E9FFE5CFDAFF1100D9CFE6FFE1CFD9FFDA -:101B7000E652DF6A020EDF5C2DE2DF50040DF3CF88 -:101B8000E9FFF4CFEAFF870EE926010EEA22010EF3 -:101B9000EE6EEE6AEE6AEE6ADF50040DF3CFE9FFF7 -:101BA000F4CFEAFF8F0EE926010EEA22EE6AEE6A12 -:101BB000EE6AEE6ADF50040DF3CFE9FFF4CFEAFFDF -:101BC0009F0EE926010EEA22EE6AEE6AEE6AEE6ADE -:101BD000DF2AD0D70101806B0101816B0101826B8B -:101BE000836B846B856B0101A86BA96B0101A76BEB -:101BF0000101AA6B0101AB6BAC6B0690096ACD8247 -:101C0000CD9ECD9CCD9ACD98CD96CD94CF6ACE6AFF -:101C10009F809E909D80CD8092809F9C010EE66E5D -:101C2000E66A66EC2CF0E552E552010EE66E0B0E0C -:101C3000E66E66EC2CF0E552E5528D8496948D822A -:101C40009692898C929C8D8096908B8294928C9C9B -:101C5000959C8C9E959E8C9895988C9A959A949E1E -:101C6000828E000000000000000000000000000064 +:10125000AF0E8117D4D080A358D005A03AD0AA05EC +:101260000A6EA851A9111AE1AEEC1DF0EF50000171 +:10127000EA6A8025E96E8151EA22EF6AB3EC20F038 +:10128000EE6AED6ABAEC20F0EE6AED6AAEEC1DF0A3 +:10129000EF6ADBEC20F0EE6AED6A1BD0B3EC20F0D5 +:1012A000ABC1EEFFACC1EDFFBAEC20F0A8C1EEFF80 +:1012B000A9C1EDFFAEEC1DF0A7C1EFFFDBEC20F004 +:1012C000EE50ED1006E1DBEC20F0A8C1EEFFA9C165 +:1012D000EDFF00018A510101A75D17E10001845172 +:1012E0000101A8190CE1000185510101A91907E1CB +:1012F000010EB46FB16BBC5108E08A9806D0B46B94 +:10130000010EB16FBC5101E08A88030E80150DE01B +:1013100062EC1EF074E08207000E835B845B855BE9 +:1013200062EC1EF06CE000906AD080A529D0865156 +:1013300022E0ADC153F0AEC154F0D89054325332D4 +:10134000D890543253325350BB6EBAC155F0BBC122 +:1013500056F0040ED89055365636E804FBE1300EB0 +:101360005516000E5616CF0EBA145510536E56C0B1 +:1013700054F0E85003D0BB6ACF0EBA14BA6E3ED018 +:1013800080A73DD08151000823E2045002E18D90F6 +:1013900001D08C92810503E18D848D82898C020EAF +:1013A000815D03E18D848D82899C030E815D03E163 +:1013B0008D948D82899C040E815D03E18D848D92D4 +:1013C000899C050E815D09E18D948D92899C05D0E3 +:1013D000045002E18D8001D08C82A751000806E202 +:1013E000045002E18B9207D0899205D0045002E1AB +:1013F0008B8201D08982FDEC1CF00E90008009A444 +:1014000083D2010E001404E1080E091401E17CD21C +:10141000700E0101801501E177D2098EADA2FED7D1 +:10142000540EAE6EADA2FED72C0EAE6E2BC00FF0DA +:101430002CC010F02DC011F02EC012F02E386AEC26 +:101440001FF005E3ADA2FED7300E132405D0ADA2E8 +:10145000FED7410E1324F60FEBEC1FF005E3ADA20F +:10146000FED7300E132405D0ADA2FED7410E1324B3 +:10147000F60F45EC21F005E3ADA2FED7300E1324A4 +:1014800005D0ADA2FED7410E1324F60FF0EC1FF0ED +:1014900005E3ADA2FED7300E132405D0ADA2FED7D2 +:1014A000410E1324F60F49EC21F005E3ADA2FED75F +:1014B000300E132405D0ADA2FED7410E1324F60F33 +:1014C000F5EC1FF005E3ADA2FED7300E132405D0D6 +:1014D000ADA2FED7410E1324F60F4DEC21F005E32B +:1014E000ADA2FED7300E132405D0ADA2FED7410E1B +:1014F0001324F60FFAEC1FF005E3ADA2FED7300E71 +:10150000132405D0ADA2FED7410E1324F60FAE6E04 +:10151000ADA2FED72C0EAE6EADA2FED7530EAE6EB0 +:10152000ADA2FED72C0EAE6E2FC00FF030C010F063 +:1015300031C011F032C012F032386AEC1FF005E30E +:10154000ADA2FED7300E132405D0ADA2FED7410EBA +:101550001324F60FEBEC1FF005E3ADA2FED7300E1F +:10156000132405D0ADA2FED7410E1324F60F45EC8F +:1015700021F005E3ADA2FED7300E132405D0ADA2B5 +:10158000FED7410E1324F60FF0EC1FF005E3ADA2D9 +:10159000FED7300E132405D0ADA2FED7410E132482 +:1015A000F60F49EC21F005E3ADA2FED7300E13246F +:1015B00005D0ADA2FED7410E1324F60FF5EC1FF0B7 +:1015C00005E3ADA2FED7300E132405D0ADA2FED7A1 +:1015D000410E1324F60F4DEC21F005E3ADA2FED72A +:1015E000300E132405D0ADA2FED7410E1324F60F02 +:1015F000FAEC1FF005E3ADA2FED7300E132405D0A0 +:10160000ADA2FED7410E1324F60FAE6EADA2FED7EB +:101610002C0EAE6EADA2FED7430EAE6EADA2FED7BF +:101620002C0EAE6E23C00FF024C010F025C011F0B8 +:1016300026C012F026386AEC1FF005E3ADA2FED7F3 +:10164000300E132405D0ADA2FED7410E1324F60FA1 +:10165000EBEC1FF005E3ADA2FED7300E132405D04E +:10166000ADA2FED7410E1324F60F45EC21F005E3A1 +:10167000ADA2FED7300E132405D0ADA2FED7410E89 +:101680001324F60FF0EC1FF005E3ADA2FED7300EE9 +:10169000132405D0ADA2FED7410E1324F60F49EC5A +:1016A00021F005E3ADA2FED7300E132405D0ADA284 +:1016B000FED7410E1324F60FF5EC1FF005E3ADA2A3 +:1016C000FED7300E132405D0ADA2FED7410E132451 +:1016D000F60F4DEC21F005E3ADA2FED7300E13243A +:1016E00005D0ADA2FED7410E1324F60FFAEC1FF081 +:1016F00005E3ADA2FED7300E132405D0ADA2FED770 +:10170000410E1324F60FAE6EADA2FED72C0EAE6EB8 +:10171000ADA2FED7520EAE6EADA2FED72C0EAE6EAF +:1017200087C10FF088C110F089C111F08AC112F091 +:1017300012386AEC1FF005E3ADA2FED7300E132479 +:1017400005D0ADA2FED7410E1324F60FEBEC1FF02F +:1017500005E3ADA2FED7300E132405D0ADA2FED70F +:10176000410E1324F60F45EC21F005E3ADA2FED7A0 +:10177000300E132405D0ADA2FED7410E1324F60F70 +:10178000F0EC1FF005E3ADA2FED7300E132405D018 +:10179000ADA2FED7410E1324F60F49EC21F005E36C +:1017A000ADA2FED7300E132405D0ADA2FED7410E58 +:1017B0001324F60FF5EC1FF005E3ADA2FED7300EB3 +:1017C000132405D0ADA2FED7410E1324F60F4DEC25 +:1017D00021F005E3ADA2FED7300E132405D0ADA253 +:1017E000FED7410E1324F60FFAEC1FF005E3ADA26D +:1017F000FED7300E132405D0ADA2FED7410E132420 +:10180000F60FAE6EADA2FED72C0EAE6EADA2FED719 +:10181000500EAE6EADA2FED72C0EAE6E33C00FF0E2 +:1018200034C010F035C011F036C012F036386AEC12 +:101830001FF005E3ADA2FED7300E132405D0ADA2F4 +:10184000FED7410E1324F60FEBEC1FF005E3ADA21B +:10185000FED7300E132405D0ADA2FED7410E1324BF +:10186000F60F45EC21F005E3ADA2FED7300E1324B0 +:1018700005D0ADA2FED7410E1324F60FF0EC1FF0F9 +:1018800005E3ADA2FED7300E132405D0ADA2FED7DE +:10189000410E1324F60F49EC21F005E3ADA2FED76B +:1018A000300E132405D0ADA2FED7410E1324F60F3F +:1018B000F5EC1FF005E3ADA2FED7300E132405D0E2 +:1018C000ADA2FED7410E1324F60F4DEC21F005E337 +:1018D000ADA2FED7300E132405D0ADA2FED7410E27 +:1018E0001324F60FFAEC1FF005E3ADA2FED7300E7D +:1018F000132405D0ADA2FED7410E1324F60FAE6E11 +:10190000ADA2FED70A0EAE6E0C5019E081500B6EE0 +:10191000E8500D18E81C0C1412E00BC0DCF00E802F +:10192000026A036A0080146A156A166A016A200E48 +:10193000015C05E201500EEC1DF0012AF8D700A071 +:10194000ECD00101806B145001E1CFD009B28C8042 +:1019500006B08C940001A85102E0010EA86F165049 +:1019600062EC1FF0EF50176E17A803D0FEEC20F0CA +:1019700004D017AA14D010EC1FF087EC20F0DFEC95 +:101980001DF087EC20F0040ED3EC1BF0EECF93F1AA +:10199000EECF94F1EECF95F1EFCF96F108D017ACE2 +:1019A00010D010EC1FF087EC20F0DFEC1DF09EEC67 +:1019B00020F0020ED3EC1BF089EC1CF096EC20F02A +:1019C00045D017A223D06DEC1FF0B5EC1AF0280E0D +:1019D000D3EC1BF0EECFA8F1EDCFA9F1B5EC1AF0E6 +:1019E000270ED3EC1BF0EFCFA7F1B5EC1AF02A0EBF +:1019F000D3EC1BF0EFCFAAF1B5EC1AF02B0ED3EC21 +:101A00001BF0EECFABF1EDCFACF120D017A003D09F +:101A10006DEC1FF01BD017A40ED06DEC1FF096ECF0 +:101A200020F0B5EC1AF02D0ED3EC1BF0EECFADF19B +:101A3000EDCFAEF10BD0B5EC1AF0EFCF80F19EEC0C +:101A400020F0270ED3EC1BF0EFCFA7F1700E0101B1 +:101A5000801531E086A909D082C123F083C124F02A +:101A600084C125F085C126F01AD086A104D0236A4E +:101A7000246A256A266A86A304D0276A286A296A06 +:101A80002A6A86A505D02368246825687F0E266EFD +:101A900086A705D02768286829687F0E2A6EB5ECCE +:101AA0001DF002E0028001D002905DEC1EF002E029 +:101AB000038001D0039009A40CD02B6A2C6A2D6AF4 +:101AC0002E6A2F6A306A316A326A336A346A356A3A +:101AD000366A16500EEC1DF0162A1850165C01E3FB +:101AE000166A14501AE0140618D00001A8050CE17B +:101AF0000001E80EAB6F030EAC6FA9C0ADF0AAC039 +:101B0000AEF00001020EA86F0101826B836B846B43 +:101B1000856B06B08C8409B2898280AE078008A0EC +:101B200002D081A00780045003E18C9C8C9802D0E5 +:101B30008B9C899A09AE06D09E90FE0ECF6E300E19 +:101B4000CE6E099E09A203D089928C908C92E552A8 +:101B5000E5CFF4FFE5CFF3FFE5CFEAFFE5CFE9FFFF +:101B6000E5CFDAFF1100D9CFE6FFE1CFD9FFE6528A +:101B7000DF6A020EDF5C2DE2DF50040DF3CFE9FFD8 +:101B8000F4CFEAFF870EE926010EEA22010EEE6E7F +:101B9000EE6AEE6AEE6ADF50040DF3CFE9FFF4CF90 +:101BA000EAFF8F0EE926010EEA22EE6AEE6AEE6A7D +:101BB000EE6ADF50040DF3CFE9FFF4CFEAFF9F0E8A +:101BC000E926010EEA22EE6AEE6AEE6AEE6ADF2A82 +:101BD000D0D70101806B0101816B0101826B836BA6 +:101BE000846B856B0101A86BA96B0101A76B0101D7 +:101BF000AA6B0101AB6BAC6B0690096ACD82CD9EDE +:101C0000CD9CCD9ACD98CD96CD94CF6ACE6A9F804B +:101C10009E909D80CD8092809F9C010EE66EE66A2C +:101C200074EC2CF0E552E552010EE66E0B0EE66EFA +:101C300074EC2CF0E552E5528D8496948D82969248 +:101C4000898C929C8D8096908B8294928C9C959C92 +:101C50008C9E959E8C9895988C9A959A949E828E3F +:101C60000000000000000000000000000000000074 :101C70000000000000000000000000000000000064 -:101C80000000000000000000948E829E0B01010EF7 -:101C9000826F05808A989398899692960B01010E1F -:101CA000576F046A0B01010E5A6FDF6A200EDF5C6A -:101CB00009E2DF50EA6A5F0FE96E0B0EEA22EF6A73 -:101CC000DF2AF4D70B015B6B5C6B5D6B5E6B076AA5 -:101CD0000B01846B0B01010E836F146A156A166A7F -:101CE000010E186E050E196E1A6A9380F19E088017 -:101CF000939681960B6A0C6A0D6A0E9086EC1AF028 -:101D0000E552E552E7CFD9FF12009FEC1BF0030E1E -:101D1000B4EC1CF055EC1FF0E66AD950010F80ECD2 -:101D200020F0030E0AEC20F001E0ABD0DF0420E14C -:101D3000CEEC20F007E10B01010E826F0590EDEC77 -:101D40001CF00ED010EC1CF0010EEE1805E1ED5069 -:101D500003E10B01826B03D00B01010E826F058042 -:101D6000000EE66EE66A5ACBE6FF54EC1EF087D012 -:101D7000020EDF5C2DE1CEEC20F008E1046A9690C3 -:101D80009492959C959E9598959A1BD010EC1CF07A -:101D9000010EEE180CE1ED500AE1010E76EC1EF09A -:101DA00094949294949C929A9592929268D010EC0A -:101DB0001CF0020EEE1863E1ED5061E1020E76ECCC -:101DC0001EF094849284948C928A9582928257D049 -:101DD000040EDF5C07E1010EDBCF84F0020EDBCFE7 -:101DE00085F04DD0050EDF5C07E1010EDBCF82F000 -:101DF000020EDBCF83F043D0080EDF5C0FE110EC66 -:101E00001CF0040ED880EE54000EED5403E2040ED4 -:101E1000B0EC1EF0010EDBCF7EF031D0090EDF5C9E -:101E20000FE110EC1CF0060ED880EE54000EED54BD -:101E300003E2060EB0EC1EF0010EDBCF7FF01FD0E8 -:101E40000A0EDF5C03E1B7EC1EF009D00B0EDF5C7D -:101E500003E1B7EC1EF013D00C0EDF5C07E1010EBE -:101E6000DBCF88F0020EDBCF89F009D00D0EDF5CEE -:101E700006E1CEEC20F002E0088001D00890CCEC26 -:101E80001BF0030EE15C02E2E16AE5529CEF1BF0FD -:101E9000FFEC20F087EC21F02AEC21F0DF6E00014E -:101EA000975123E10B01835119E08D518E118F1150 -:101EB000901103E1D8EC1EF003E096EC1DF00EE16A -:101EC000915192119311941103E1DDEC1EF003E0A6 -:101ED0009BEC1DF003E10001978D07D067EC1EF02D -:101EE00053EC1DF0E66A6CEC1EF030EF1DF0FFECD9 -:101EF00020F0A50EE66E0B0E2BEC1FF087EC21F008 -:101F00000AEC21F02DE10B01835123E08D518E115C -:101F10008F11901108E1D8EC1EF005E1A551A61132 -:101F2000A711A81103E096EC1DF013E19151921155 -:101F30009311941108E1DDEC1EF005E1A551A61105 -:101F4000A711A81103E09BEC1DF003E10001978DA0 -:101F500007D067EC1EF0DFCFE6FFE66A6CEC1EF000 -:101F600030EF1DF017EC21F0A50EE66E0B0E2BECFA -:101F70001FF0910EE66E0B0E0AEC21F011E10B0141 -:101F8000835106E0A0EC1DF003E10001978D08D01D -:101F9000D6EC1DF0DFCFE6FF010EE66E6CEC1EF016 -:101FA00030EF1DF017EC21F0910EE66E0B0E2AECCF -:101FB00021F0DF6E0001975111E10B01835106E022 -:101FC000A0EC1DF003E10001978D08D0D6EC1DF0C8 -:101FD00053EC1DF0010EE66E6CEC1EF030EF1DF0C0 -:101FE0009FEC1BF0050ED0EC1CF00EB0E7D109B44D -:101FF00005D01DEC1CF002E2DEEC1CF0FE0EDB5006 -:1020000026E10B01800E98150EE0800E901511E16F -:10201000DCEC1DF08D6D8E1F8E238F1F8F23901F84 -:1020200090237EEC1EF0800E9C1511E0800E94151E -:1020300003E00001978DC2D1E5EC1DF0916D921F78 -:102040009223931F9323941F942386EC1EF00B017D -:10205000256BE2EC1EF001EC1DF0020E25EC1DF0EC -:1020600029500B018D5D336E2A508E59346E2B50E2 -:102070008F59356E2C509059366EA5CB29F0A6CBD2 -:102080002AF0A7CB2BF0A8CB2CF0060E25EC1DF0E8 -:10209000335029240B018D6F34502A208E6F355018 -:1020A0002B208F6F36502C20906F0AEC1DF0020E03 -:1020B00025EC1DF029500B01915D336E2A50925989 -:1020C000346E2B509359356E2C509459366EA9CBE3 -:1020D00029F0AACB2AF0ABCB2BF0ACCB2CF0060E20 -:1020E00025EC1DF0335029240B01916F34502A2028 -:1020F000926F35502B20936F36502C20946F2A6BA3 -:1021000009A42CD0FD0EDB500BE1100E2A6FADCBD5 -:1021100026FBAECB27FBAFCB28FBB0CB29FB80D077 -:1021200088EC1FF002E6FEEC1BF00FE378EC1BF0EE -:102130000EE1C0EC1FF002E6FEEC1BF006E378ECCB -:102140001BF005E1800EA81502E057EC1EF0040E0E -:10215000DB5002E02A8564D02A8162D0ADCB33F017 -:10216000010EEEEC1DF01DE088EC1FF002E6FEEC27 -:102170001BF00FE378EC1BF00EE1C0EC1FF002E661 -:10218000FEEC1BF006E378EC1BF005E1800EA815D1 -:1021900002E057EC1EF0040EDB5002E02A8501D06D -:1021A0002A81ADCB33F0020EEEEC1DF039E0040EC7 -:1021B000DB6AF1EC1EF09151EE24336E9251EE2069 -:1021C000346E9351EE20356E94514AEC1BF002E6CA -:1021D000FEEC1BF01DE378EC1BF01CE1A90EE96E90 -:1021E0000B0EEA6EA151EE24336EA251EE20346E36 -:1021F000A351EE20356EA4514AEC1BF002E6FEEC32 -:102200001BF006E378EC1BF005E1800EAC1502E054 -:1022100057EC1EF0040EDB5002E02A8701D02A831F -:10222000ECEC1EF0EE509D5D9D6FEE509E599E6F42 -:10223000EE509F599F6FEE50A059A06FA90EE96E06 -:102240000B0EEA6EEE50A15DA16FEE50A259A26F87 -:10225000EE50A359A36FEE50A459A46F0001D90505 -:1022600002E18D908B928DCB2BFB8ECB2CFB8FCBF9 -:102270002DFB90CB2EFBFE0EDB5009E089CB33FB10 -:102280008ACB34FB8BCB35FB8CCB36FB02D0F7EC07 -:102290001DF09DCB43FB9ECB44FB9FCB45FBA0CBCE -:1022A00046FBA5CB3BFBA6CB3CFBA7CB3DFBA8CB82 -:1022B0003EFB91CB2FFB92CB30FB93CB31FB94CBEE -:1022C00032FBFE0EDB5006E00B01376B386B396BCF -:1022D0003A6B02D000EC1EF0A1CB47FBA2CB48FB2F -:1022E000A3CB49FBA4CB4AFBA9CB3FFBAACB40FB2A -:1022F000ABCB41FBACCB42FBFE0EDB5003E00B0152 -:10230000400E02D00B01200E246F1850145CFDE229 -:102310000EB005D0E5EC1AF001E3156A142A09AAFB -:102320004BD094EC20F092EC1BF0A6EC1FF0C20E08 -:10233000336E7C0E97EC1AF043CBE6FF44CBE6FFFE -:1023400045CBE6FF46CBE6FF92EC1BF0BD0E336EAD -:102350007C0E97EC1AF03BCBE6FF3CCBE6FF3DCB87 -:10236000E6FF3ECBE6FF92EC1BF09BEC20F092ECFC -:102370001BF0B30E336E7C0EEEEC1FF0AE0E336E20 -:102380007C0E97EC1AF047CBE6FF48CBE6FF49CB33 -:10239000E6FF4ACBE6FF92EC1BF0A90E336E7C0EF3 -:1023A00097EC1AF03FCBE6FF40CBE6FF41CBE6FFD0 -:1023B00042CBE6FF6DEC21F0CCEC1BF0050EE15CAE -:1023C00002E2E16AE5529CEF1BF07EEC1FF0950EF5 -:1023D000E66E0B0E30EC21F0990EE66E0B0E2EEC35 -:1023E0001FF00B01835101E17BD0855186118711CC -:1023F000881102E10001978D0001975101E075D02D -:10240000D880FF0E0B018EEC1EF004E2780E336EC6 -:102410007C0E5CD0A1EC1EF002E6CFEC1BF003E2D8 -:1024200035EC1DF004D028EC1CF0A4EC1BF0E3EC20 -:102430001BF002E66CEC1CF004E24C0E336E7C0EDA -:1024400045D05DEC1BF004E21E0E336E7C0E3ED0D8 -:10245000CAEC1AF0E8AE02D02D3402D07FEC1CF0AA -:1024600007E3B1EC1BF004E0FA0E336E7B0E2ED0C6 -:102470000B01A5EC1EF002E6D9EC1BF003E241ECE7 -:102480001DF004D088EC1CF0A4EC1BF0E3EC1BF076 -:1024900002E66CEC1CF004E2CE0E336E7B0E16D01E -:1024A0005DEC1BF004E2A00E336E7B0E0FD0CAEC85 -:1024B0001AF0E8AE02D02D3402D07FEC1CF009E314 -:1024C000B1EC1BF006E07C0E336E7B0ED3EC20F0FB -:1024D00009D01DEC1CF004E2AD6BAE6BAF6BB06BC2 -:1024E0008CDAE66A22EC29F0E552040EE15C02E2A5 -:1024F000E16AE5529CEF1BF09FEC1BF0050EE12614 -:10250000010EDF6EDB6A020EDB6A030EDB6A040E6D -:10251000DB6A62EC1FF0010EE66EA50EE66E0B0E96 -:1025200030EC21F0A90EE66E0B0EA0EC21F00B01B1 -:10253000835106E0A0EC1DF003E10001978DA7D1C7 -:102540001850145CFDE2DF040AE1F29E010162EC26 -:102550001EF003E1805101E1DF6AF28EF4D71BC067 -:1025600029F01CC02AF01DC02BF01EC02CF096ECE8 -:102570001EF00B01A525956F2650A621966F2750BA -:10258000A721976F2850A821986F1FC029F020C05D -:102590002AF021C02BF022C02CF096EC1EF00B018B -:1025A000A925996F2650AA219A6F2750AB219B6FBE -:1025B0002850AC219C6F800E981506E01BEC1EF095 -:1025C000000E7EEC1EF002D01BEC1EF0800E9C155F -:1025D00006E024EC1EF0000E86EC1EF002D024EC87 -:1025E0001EF0A035000EA01909E6D880FF0E9D55FB -:1025F000FF0E9E55FF0E9F55000EA0550EE3A4350D -:10260000000EA41909E6D880FF0EA155FF0EA255B1 -:10261000FF0EA355000EA45504E24E0E336E7B0E42 -:102620009DD0E7EC1EF0030EEBCFF3FFA451F3189F -:10263000E8AE02D0F33408D0EE50A15DEE50A259BE -:10264000EE50A359EE50A45901E380D046EC20F09F -:1026500061EC21F004E21D0E336E7B0E7FD0B9ECED -:102660001CF00B01A419E8AE02D0A43508D0A1518A -:10267000295CA2512A58A3512B58A4512C5801E28D -:10268000E8D0DDEC1EF001E1E4D04CEC20F00B01D1 -:10269000A1EC1EF002E6CFEC1BF006E2A5EC1EF06A -:1026A00002E6D9EC1BF01DE3800E981506E0A5ECC0 -:1026B0001EF002E6D9EC1BF009E3A1EC1EF002E6E5 -:1026C000CFEC1BF008E2800E9C1505E088EC1CF0B6 -:1026D0009AEC1CF012D0800E98150FE0800E9C151D -:1026E0000CE0010E99CBDBFF020E9ACBDBFF030E51 -:1026F0009BCBDBFF040E9CCBDBFF95CB8DFB96CBFE -:102700008EFB97CB8FFB98CB90FB010EDBCF95FB1D -:10271000020EDBCF96FB030EDBCF97FB040EDBCF65 -:1027200098FB52EC20F00B018D5D956FEE508E59A9 -:10273000966FEE508F59976FEE509059986F996B36 -:102740009A6B9B6B9C6B13EC1DF07DD04CEC20F0D6 -:1027500061EC21F006E2EC0E336E7A0ED3EC20F041 -:1027600093D0B9EC1CF00B01A019E8AE02D0A03553 -:1027700008D09D51295C9E512A589F512B58A05139 -:102780002C5867E3D8EC1EF064E046EC20F00B0117 -:10279000A5EC1EF002E6D9EC1BF006E2A1EC1EF05F -:1027A00002E6CFEC1BF01DE3800E9C1506E0A1ECC9 -:1027B0001EF002E6CFEC1BF009E3A5EC1EF002E6EA -:1027C000D9EC1BF008E2800E981505E028EC1CF00F -:1027D0009AEC1CF012D0800E9C150FE0800E98151C -:1027E0000CE0010E95CBDBFF020E96CBDBFF030E58 -:1027F00097CBDBFF040E98CBDBFF99CB91FB9ACBF9 -:1028000092FB9BCB93FB9CCB94FB010EDBCF99FB04 -:10281000020EDBCF9AFB030EDBCF9BFB040EDBCF5C -:102820009CFB52EC20F00B01915D996FEE50925998 -:102830009A6FEE5093599B6FEE5094599C6FD8EC61 -:1028400020F01CEC1DF041EC1CF05AEC20F0A5EC43 -:102850001AF00A0E0B01855D000E8659000E87598D -:10286000000E885905E20A0E856F866B876B886BB0 -:1028700009AA05D0DF0E336E7A0E34EC1FF00B017F -:10288000DEEC1CF0BAD8E66A22EC29F0E552050E1F -:10289000E15C02E2E16AE5529CEF1BF07EEC1FF086 -:1028A0009D0EE66E0B0E2AEC21F01DEC1CF002E2F0 -:1028B000DEEC1CF0835107E08551861187118811E9 -:1028C00002E10001978DF1EC1EF00B019D51EE2409 -:1028D000956F9E51EE20966F9F51EE20976FA051FD -:1028E000EE20986FF1EC1EF0EE509D5D996FEE506A -:1028F0009E599A6FEE509F599B6FEE50A0599C6F56 -:10290000A1EC1EF002E6CFEC1BF003E235EC1DF06B -:1029100004D028EC1CF0A4EC1BF00B0183512AE03E -:10292000D880FF0E8EEC1EF004E2780E336E7C0E23 -:1029300052D0E3EC1BF002E66CEC1CF004E24C0E0F -:10294000336E7C0E48D05DEC1BF004E21E0E336E3D -:102950007C0E41D0CAEC1AF0E8AE02D02D3402D081 -:102960007FEC1CF007E3B1EC1BF004E0FA0E336ED1 -:102970007B0E31D00B01A5EC1EF002E6D9EC1BF06A -:1029800003E241EC1DF004D088EC1CF0A4EC1BF039 -:102990000B01835123E0E3EC1BF002E66CEC1CF02E -:1029A00004E2CE0E336E7B0E16D05DEC1BF004E21B -:1029B000A00E336E7B0E0FD0CAEC1AF0E8AE02D038 -:1029C0002D3402D07FEC1CF009E3B1EC1BF006E0E3 -:1029D0007C0E336E7B0ED3EC20F005D000019751B6 -:1029E00005E10BD8E66A22EC29F0E552040EE15C21 -:1029F00002E2E16AE5529CEF1BF080EC21F0D0ECA2 -:102A00001CF00EB093D109AA05D0C90E336E7A0E10 -:102A100034EC1FF01DEC1CF002E2DEEC1CF0ADCB40 -:102A20002AFB96EC1DF026E19BEC1DF023E1010E44 -:102A3000246F85CB26FB86CB27FB87CB28FB88CB57 -:102A400029FB40EC21F025C026FB26C027FB27C030 -:102A500028FB28C029FBD880000E0B012554000E4E -:102A60002654190E2754000E285401E355D1E2ECE8 -:102A70001EF052D1E2EC1EF0256B0001D90502E1F7 -:102A80008D908B920B01800E981505E0800E25111C -:102A9000256FDCEC1DF0800E9C1505E0200E251145 -:102AA000256FE5EC1DF009AA29D0E40E955D550EC1 -:102AB0009659000E9759000E985920E228EC1CF008 -:102AC000FB0E2E6E020E2F6E306A316A66EC47F0F6 -:102AD0000B018551255C865126588751275888510E -:102AE00028580CE29C0E336E7A0E1EEC21F0C4ECDA -:102AF0001BF00B0167EC1EF0D8EC20F096EC1DF0FB -:102B000063E0D8909851000A08E6FF0E955DFF0E2D -:102B10009659010E9759000E985924E2E9EC1BF0E2 -:102B20002DEC1EF003E016EC1CF0FDE163EC20F050 -:102B30002DEC1EF003E016EC1CF0FDE1B0EC20F0F3 -:102B4000F5AE02D036EC1EF0A8EC1CF016E25EECFE -:102B50001DF003E016EC1CF0FDE187EC1BF069ECC6 -:102B60001DF009D028EC1CF0CDEC1FF029EC1DF075 -:102B7000FDE1B5EC1FF0DD52DD5274EC1DF005E215 -:102B80006C0E336E7A0E97EC1FF0A0EC1DF008E18E -:102B900096EC1DF005E0430E336E7A0EB6EC20F095 -:102BA000A5EC1DF009E27FEC1DF003E016EC1CF033 -:102BB000FDE1C0EC1CF00AD0100E1F0B07E00B016A -:102BC00029EC1DF0FDE102D067EC1EF0A8EC1DF031 -:102BD00005E389698A698B697F0E8C6F89CB2BFB32 -:102BE0008ACB2CFB8BCB2DFB8CCB2EFBF7EC1DF07B -:102BF000436B446B456B466B9BEC1DF062E0D890D9 -:102C00009C51000A08E6FF0E995DFF0E9A59010ECD -:102C10009B59000E9C5924E2E9EC1BF03FEC1EF09E -:102C200003E016EC1CF0FDE163EC20F03FEC1EF03D -:102C300003E016EC1CF0FDE1B0EC20F0F5AE02D0A4 -:102C400036EC1EF0A8EC1CF016E25EEC1DF003E082 -:102C500016EC1CF0FDE187EC1BF069EC1DF009D0CF -:102C600088EC1CF0CDEC1FF029EC1DF0FDE1B5EC7B -:102C70001FF0DD52DD5274EC1DF005E2130E336ED1 -:102C80007A0E97EC1FF0A0EC1DF008E19BEC1DF014 -:102C900005E0EA0E336E790EB6EC20F0A5EC1DF0DF -:102CA00009E27FEC1DF003E016EC1CF0FDE1C0EC46 -:102CB0001CF007D0100E1F0B04E00B0129EC1DF0D7 -:102CC000FDE1A8EC1DF005E389698A698B697F0E37 -:102CD0008C6F89CB2FFB8ACB30FB8BCB31FB8CCB22 -:102CE00032FB00EC1EF0476B486B496B4A6B100ED1 -:102CF000246F09AA11D094EC20F097EC1BF0A6ECFD -:102D00001FF09BEC20F097EC1BF0AE0E336E7C0EA8 -:102D1000EEEC1FF0C4EC1BF01850145CFDE20EB09A -:102D200005D0E5EC1AF001E3156A142A040EE15C03 -:102D300002E2E16AE5529CEF1BF09FEC1BF0030EF0 -:102D400006EC20F0CCEC1EF00AEC20F03CE1F29E08 -:102D5000100E0101805D06E0200E805D03E0400E54 -:102D6000805D03E1DE52010EDD6E145003E0DE52A1 -:102D7000010EDD6E806B020EDB6A1C0EF36E020E1E -:102D8000DBCFF4FFF350F45C07E2020EDB50EAEC19 -:102D90001CF0020EDB2AF1D7156A166A146ADF04EA -:102DA00009E1045003E18D808B8204D0040402E128 -:102DB0008C828982F28E67EC21F084B102D0C4EC5F -:102DC0001BF0CCEC1BF0030EE15C02E2E16AE55281 -:102DD0009CEF1BF00FEC20F05ACB33F0346A356ACD -:102DE000366A33AE03D034683568366833C0E6FFE0 -:102DF00023EC20F097EC1BF00B0184B102D0C4EC63 -:102E00001BF0CCEF1BF09FEC1BF0030E06EC20F048 -:102E10008450040B08E18450020B05E18050400B04 -:102E200002E1010E23D08450040B09E08450020B10 -:102E300006E18050400B03E1020EF36E19D084507E -:102E4000040B08E18450020B05E08050400B02E1C6 -:102E5000040E0CD08450040B08E08450020B05E0F3 -:102E60008050400B02E1080E01D0100EF36E020EEE -:102E7000F3CFDBFF045008E184B003D0020EDB5037 -:102E8000DF6E82B210D009D004040DE183B203D00A -:102E9000020EDB50DF6E80B206D0020EDB50E76E12 -:102EA000010EE7CFDBFFDFCF33F013EC20F0E4ECD3 -:102EB0001CF067EC21F084B102D0C4EC1BF0CCEC28 -:102EC0001BF0030EE15C02E2E16AE5529CEF1BF0AD -:102ED0009FEC1BF0020EE126DE6ADD6A84EC21F035 -:102EE000CCEC1EF0030E0AEC20F00FE10B015A05AA -:102EF00004E1F6EC1EF0E66A04D0F6EC1EF0010EDA -:102F0000E66E54EC1EF0CCEC1BF0020EE15C02E22B -:102F1000E16AE5529CEF1BF07BEC20F04DEC1DF0DC -:102F200071EC21F0030EFDDA53EC21F0DDEC20F022 -:102F30000001975124E1030EDB50070802E24DEC3B -:102F40001DF0DF50010802E2010EDF6E030EDB50C0 -:102F5000030F00018A5D07E0EDEC1CF0030EDB506F -:102F6000030F00018A6F010EDBCFE6FF020EDBCFFD -:102F7000E6FFDFCFE6FF54EC1EF0CCEC1BF0050EB5 -:102F8000E15C02E2E16AE552D7D380EC21F0E12670 -:102F9000FE0EDB040BE184C0DEFF85C0DDFF020E08 -:102FA00086C0DBFF030E87C0DBFF0AD082C0DEFFD6 -:102FB00083C0DDFF020E88C0DBFF030E89C0DBFF8C -:102FC0008986D5C0D1F0D6C0D2F0D7C0D3F0D8C052 -:102FD000D4F0FC0EDBCFE6FFFD0EDBCFE6FF020EEA -:102FE000DBCFE6FF030EDBCFE6FF8AC0E6FFF6ECA1 -:102FF0001EF0BCEC20F0040EE15C02E2E16AE55256 -:103000009BD380EC21F0E12655EC1FF0E76E020E19 -:10301000E7CFDBFF000197512CE1020EDB5029E1E5 -:1030200031EC1CF0010E7DDAE76E030EE7CFDBFF1B -:10303000000197511EE1030EDB501BE11850145C98 -:10304000FDE2155052EC1FF0EE52DFCFEFFF37ECF0 -:103050001CF0270E95DB010EDBCFEFFF37EC1CF0E9 -:10306000080EEF6E152A1850155C01E3156A142A34 -:1030700093DB040EE15C02E2E16AE5525DD384EC8D -:1030800021F0FE0E0B015B5DFF0E5C59FF0E5D59DA -:10309000FF0E5E5905E25B2B000E5C235D235E2371 -:1030A000CCEF1BF084EC21F00B015B515C115D1146 -:1030B0005E1105E05B07000E5C5B5D5B5E5BCCEF69 -:1030C0001BF03DDB050EE12684EC21F0D8EC1CF072 -:1030D000070EDDEC20F0DB500BE1DFCF5BFB010ED8 -:1030E000DBCF5CFB020EDBCF5DFB030EDBCF5EFBB9 -:1030F00053DB050EE15C02E2E16AE5521DD30FEC01 -:1031000020F05BCBE6FF5CCBE6FF5DCBE6FF5ECB62 -:10311000E6FF0DDB0B0184B102D032EC1DF0CCEFE9 -:103120001BF00DDB020E74EC21F071EC21F0010EAE -:103130000AEC20F00CE1010EDB501F0803E2DE5226 -:103140001F0EDD6E99EC1EF0DFCFEFFF25DB020EC8 -:10315000E15C02E2E16AE552EFD2F1DA020E06EC3E -:1031600020F07FDB010E0AEC20F013E1010EDB50B2 -:103170001F0803E2DE521F0EDD6E99EC1EF0EFCF4A -:1031800033F013EC20F00B0184B102D032EC1DF0CF -:1031900003DB020EE15C02E2E16AE552CDD20FEC04 -:1031A00020F00750336E346A356A366AE66E23ECD7 -:1031B00020F0BDDA0B0184B102D032EC1DF007B073 -:1031C0000790CCEF1BF09DBCFED70FEC20F000C1A8 -:1031D00033F001C134F0D4EC1FF016C133F017C145 -:1031E00034F07ADA9FDA0B0184B102D032EC1DF0B0 -:1031F000CCEF1BF0E9EC20F0D2D8DF6E0FEC20F022 -:103200000F0EDF14DF6E0B015A5103E0100EDF10BA -:10321000DF6E07A003D0200EDF10DF6E0001A75184 -:1032200004E0400EDF10DF6EA76B0EA003D0800E0F -:10323000DF10DF6E020EE66EDFCF33F0346A4CDA59 -:1032400032EC43F0376E050EE15E375032EC1DF084 -:1032500007B0079030EF1DF07BEC20F0030EDB6A27 -:1032600071EC21F0030EDDEC20F053EC21F00AECC0 -:1032700020F001E08ED0D4DAFF0ED880EE54030E99 -:10328000ED5405E2010EDB68030EFBEC1EF0DF508F -:10329000010802E2010EDF6E030EDB50010802E2BC -:1032A0004DEC1DF0DF0409E1040EDB50030805E1DD -:1032B0000B01806B020E816F06D0010EDBCF80FB0D -:1032C000020EDBCF81FBCAB415D0CB68FC0ECA144A -:1032D0000009CA6E9D920F0152815293F00EBA14EA -:1032E0000C09BA6E3F0EBA140009BA6E0E010E0E2A -:1032F000CC6FCA84030EDB502AE1DF5023E080CB81 -:1033000033F081CB34F0D89034323332D890343229 -:1033100033323350BB6E80CB35F081CB36F0040EA8 -:10332000D89035363636E804FBE1300E3516000EFF -:103330003616CF0EBA1400013510336E36C034F095 -:10334000E85003D0BB6ACF0EBA14BA6E21D0185021 -:10335000145CFDE2155052EC1FF02D0E11DA80CBFB -:10336000EEFF81CBEDFF83DA020E0ADAEE6AEE6A37 -:10337000EE6AEE6A7CDA060E03DADFCFEFFF77DA69 -:10338000040EEF6E152A1850155C01E3156A142A15 -:1033900003DA050EE15C02E2E16AE552CDD180EC90 -:1033A00021F0E2DA030EDB6AF29E010162EC1EF00C -:1033B00002E0010EDF6E805102E0010EDF6E14505C -:1033C00006E0010EDF6EF36E030EF3CFDBFFDF507E -:1033D00005E0A7DB03E0DE52010EDD6EDF5006E004 -:1033E0005DEC1EF003E0010EFBEC1EF0F28E030E0E -:1033F000DBCFE6FF020EDB50E824346E010EDB501B -:10340000040DF3CF33F0DF50080DF35033103410B8 -:10341000E552E710336E040EE15C02E2E16AE55228 -:10342000E16E3350E1EF20F07BEC20F0030EDB6A1D -:10343000B6DF71EC1EF0010EE66EE66E04EC29F0CC -:10344000E552E552040EDBB028DB040EDBA203D00C -:10345000010EFBEC1EF0040EDBA403D0DE52010EC5 -:10346000DD6E040EDBA602D0010EDF6EDFCF33F07F -:10347000346AD4EC1FF0010EDBCF33F0346AD4ECA5 -:103480001FF0020EDBCF33F0346AD4EC1FF0030ED2 -:10349000DBCF33F0346A20D96DEC21F0050EE15C0E -:1034A00002E2E16AE55248D14AD9080EE1260FEC62 -:1034B00020F0F29E1BC0DFFF010E1CC0DBFF020EDE -:1034C0001DC0DBFF030E1EC0DBFF040E1FC0DBFFB1 -:1034D000050E20C0DBFF060E21C0DBFF070E22C059 -:1034E000DBFFF28ED9CFE9FFFAEC1FF06DDAD9508D -:1034F000040FE96EFAEC1FF00B0184A145D94CD9F9 -:10350000080EE15C02E2E16AE55216D1F29E2ADB86 -:10351000010131DBF28E120084EC21F0F7DFCCEFF9 -:103520001BF0E66E5EEC31F0E55230EF20F0346EC9 -:10353000356A33C0E6FFE66E35C0E6FF15EC43F0B2 -:1035400030EF20F016506CEF20F066EC47F025C00D -:1035500033F026C034F027C035F028C036F025C03F -:1035600029F026C02AF027C02BF028C02CF089CBE8 -:103570002EF08ACB2FF08BCB30F08CCB31F0FEECE1 -:1035800047F029C085FB2AC086FB2BC087FB2CC0D7 -:1035900088FB120085CB33F086CB34F087CB35F037 -:1035A00088CB36F0C3EC20F075EC1FF0FEEC47F052 -:1035B00029C033F02AC034F02BC035F02CC036F0CF -:1035C00018EC20F036502D181200155052EC1FF058 -:1035D00024CBEEFF25CBEEFF26CBEEFF27CBEEFF75 -:1035E00028CBEEFF29CBEEFF2ACBEEFF2BCBEEFF55 -:1035F0002CCBEEFF2DCBEEFF2ECBEEFF2FCBEEFF35 -:1036000030CBEEFF31CBEEFF32CBEEFF33CBEEFF14 -:1036100034CBEEFF35CBEEFF36CBEEFF37CBEEFFF4 -:1036200038CBEEFF39CBEEFF3ACBEEFF3BCBEEFFD4 -:103630003CCBEEFF3DCBEEFF3ECBEEFF3FCBEEFFB4 -:1036400040CBEEFF41CBEEFF42CBEEFF43CBEEFF94 -:1036500044CBEEFF45CBEEFF46CBEEFF47CBEEFF74 -:1036600048CBEEFF49CBEEFF4ACBEEFF4BCBEEFF54 -:103670004CCBEEFF4DCBEEFF4ECBEEFF4FCBEEFF34 -:1036800050CBEEFF51CBEEFF52CBEEFF152A185078 -:10369000155C1200EE20366E33C0DFFF010E34C021 -:1036A000DBFF020E35C0DBFF030E36C0DBFF4EEC46 -:1036B00021F0D890EB50000A120045EC21F0DFCF4A -:1036C00029F0010EDBCF2AF0020EDBCF2BF0030E28 -:1036D000DBCF2CF069EF1FF0356A366A33C0E6FFA6 -:1036E00023EF20F0E66A04EC29F0E552E5521200DF -:1036F0004EEC21F0EECF33F0EECF34F0EECF35F0DC -:10370000EFCF36F0335034103510361012005AEC2B -:1037100020F08DCB2EF08ECB2FF08FCB30F090CBD6 -:1037200031F0120088EC43F0E55230EF20F06CEC01 -:1037300043F0E55230EF20F0E16EE1EF20F0D9CF19 -:10374000E6FFE1CFD9FF12002AEC20F025C0DEFF12 -:1037500026C0DEFF27C0DEFF28C0DDFFDD52DD52C0 -:1037600012004EEC21F0EECF37F0EECF38F0EECF76 -:1037700039F0EFCF3AF03750381039103A101200C4 -:10378000E926000EEA221200020EE66EE5EF20F0B6 -:10379000136EE85009081200E66AE5EF20F0D880C1 -:1037A000000E9555000E9655000E9755000E985533 -:1037B0001200D880000E9955000E9A55000E9B55A8 -:1037C000000E9C55120018EC20F02D34000E2D1820 -:1037D000120085CB8DFB86CB8EFB87CB8FFB88CBF6 -:1037E00090FB40EC21F025C08DFB26C08EFB27C04E -:1037F0008FFB28C090FB0F0E1F0B1200000EEE5C1B -:10380000000EEE58000EEE58000EEE58120029C0C1 -:1038100089FB2AC08AFB2BC08BFB2CC08CFB1200BF -:10382000D950010FE96EDACFEAFF1200D890333693 -:10383000343635363636E8061200D880030E0B01D2 -:10384000AD55000EAE55000EAF55000EB05512002E -:1038500095CB29F096CB2AF097CB2BF098CB2CF078 -:103860001200010EE66ED950010F80EF20F01550C6 -:103870006CEF20F00A50E96EEA6AD890E936EA3631 -:103880001200E80E2E6E030E2F6E306A316A12009F -:1038900097519F279851A0239951A1239A51A22370 -:1038A0009F518727A0518823A1518923A2518A23A0 -:1038B00034EF20F09B51A3279C51A4239D51A523B5 -:1038C0009E51A623A3518B27A4518C23A5518D2350 -:1038D000A6518E233DEF20F0D880FF0E2A54FF0E14 -:1038E0002B54FF0E2C54000E2D541200EECF82F1FB -:1038F000EECF83F1EECF84F1EFCF85F112002A50A5 -:10390000335C2B5034582C5035582D5036581200FB -:1039100099CB29F09ACB2AF09BCB2BF09CCB2CF0A7 -:10392000120089CB29F08ACB2AF08BCB2BF08CCBE1 -:103930002CF012008FDB010E25C0DBFF020E26C02B -:10394000DBFF030E27C0DBFF040E28C0DBFF1200E5 -:1039500025C091FB26C092FB27C093FB28C094FB97 -:10396000D8801E0E0B01BAD374EC21F0020EDB6A74 -:103970001200BBDAC3EC20F0FEEC47F02C50120032 -:103980004EEC21F03350EE240B01896F3450EE20C1 -:103990008A6F3550EE208B6F3650EE208C6F120000 -:1039A000E126DE6ADE6ADE6ADD6ADD52DD52120081 -:1039B000E66AD9CFE6FFDACFE6FF1200030EAD6F5D -:1039C000AE6BAF6BB06B12002C0EE66EB4EC25F054 -:1039D000E552120067DAEF6A1200000EE66EE66A40 -:1039E000E66EE66A8AC0E6FFE66EE66ABCEF20F0A5 -:1039F000EECF8BF1EECF8CF1EECF8DF1EFCF8EF1DC -:103A000012009DCB29F09ECB2AF09FCB2BF0A0CBB0 -:103A10002CF01200A1CB29F0A2CB2AF0A3CB2BF0E3 -:103A2000A4CB2CF012009DCB33F09ECB34F09FCB77 -:103A300035F0A0CB36F01200A1CB33F0A2CB34F09E -:103A4000A3CB35F0A4CB36F01200A4EC21F09EEF0E -:103A500047F0D89089378A378B378C37E8061200C1 -:103A6000E552AFD3010EE66EB0D395CBDFFF010E6A -:103A700096CBDBFF020E97CBDBFF030E98CBDBFF71 -:103A8000120099CBDFFF010E9ACBDBFF020E9BCB1E -:103A9000DBFF030E9CCBDBFF1200010EF36E030E67 -:103AA000F3CFDBFF1200A56BA66BA76BA86BA96B0E -:103AB000AA6BAB6BAC6BDFCFE6FF1200100E1F0BD7 -:103AC00091CB33F092CB34F093CB35F094CB36F0EE -:103AD00012009EEC47F029C0DEFF2AC0DEFF2BC09B -:103AE000DEFF2CC0DDFF1200D880000E0B018955CF -:103AF000800E8A55000E8B55000E8C551200100E4C -:103B00001F0B89CB33F08ACB34F08BCB35F08CCBC9 -:103B100036F012000A50EA6A690FE96E000EEA22D6 -:103B200012008F519011911192111200955196111E -:103B300097119811120099519A119B119C11120022 -:103B400089518A118B118C111200D8801E0EC6D299 -:103B5000FF0E0B01895DFF0E8A59FF0E8B597F0EF8 -:103B60008C5912001B6A1C6A1D6A1E6A1F6A206A31 -:103B7000216A226A1200AF6BB06BB16BB26BB36B90 -:103B8000B46BB56BB66B1200EECF9BF1EECF9CF130 -:103B9000EECF9DF1EFCF9EF11200EECF8FF1EECF81 -:103BA00090F1EECF91F1EFCF92F1120001DB996B22 -:103BB0009A6B9B6B9C6B1200000E956D961F962363 -:103BC000971F9723981F98231200000E996D9A1F34 -:103BD0009A239B1F9B239C1F9C2312003316346A3D -:103BE000356A366A3350341035103610120095CBD2 -:103BF00033FB96CB34FB97CB35FB98CB36FB1200CF -:103C000099CB37FB9ACB38FB9BCB39FB9CCB3AFB50 -:103C100012002BCBE6FF2CCBE6FF2DCBE6FF2ECB05 -:103C2000E6FF12002FCBE6FF30CBE6FF31CBE6FFFD -:103C300032CBE6FF120095CB9DFB96CB9EFB97CB3C -:103C40009FFB98CBA0FB120099CBA1FB9ACBA2FBC8 -:103C50009BCBA3FB9CCBA4FB120095CB33F096CB64 -:103C600034F097CB35F098CB36F01200000E256C6F -:103C7000261E2622271E2722281E2822120099CB24 -:103C800033F09ACB34F09BCB35F09CCB36F012005E -:103C9000B72B000EB823B923BA2312008F07000EEA -:103CA000905B915B925B1200C5EC17F0D9D1010ECD +:101C8000000000000000948E829E0101010EBC6FD6 +:101C900005808A989398899692960101010EB16FFA +:101CA000046A0101010EB46FDF6A200EDF5C09E2F5 +:101CB000DF50EA6A580FE96E010EEA22EF6ADF2A66 +:101CC000F4D70101B56BB66BB76BB86B076A01014E +:101CD000BE6B0101010EBD6F146A156A166A010E12 +:101CE000186E050E196E1A6A9380F19E08809396FD +:101CF00081960B6A0C6A0D6A0E909BEC1AF0E55205 +:101D0000E552E7CFD9FF1200B2EC1BF0030EC7EC8F +:101D10001CF065EC1FF0E66AD950010F91EC20F041 +:101D2000030E1BEC20F001E0ABD0DF0420E1DFEC80 +:101D300020F007E10101010EBC6F059011EC1DF0D0 +:101D40000ED023EC1CF0010EEE1805E1ED5003E17E +:101D50000101BC6B03D00101010EBC6F0580000EB8 +:101D6000E66EE66AB4C1E6FF54EC1EF087D0020EC0 +:101D7000DF5C2DE1DFEC20F008E1046A969094929C +:101D8000959C959E9598959A1BD023EC1CF0010E7E +:101D9000EE180CE1ED500AE1010E76EC1EF0949481 +:101DA0009294949C929A9592929268D023EC1CF013 +:101DB000020EEE1863E1ED5061E1020E76EC1EF0CA +:101DC00094849284948C928A9582928257D0040E45 +:101DD000DF5C07E1010EDBCF84F0020EDBCF85F084 +:101DE0004DD0050EDF5C07E1010EDBCF82F0020E65 +:101DF000DBCF83F043D0080EDF5C0FE123EC1CF057 +:101E0000040ED880EE54000EED5403E2040EC0EC34 +:101E10001EF0010EDBCF7EF031D0090EDF5C0FE14A +:101E200023EC1CF0060ED880EE54000EED5403E2B5 +:101E3000060EC0EC1EF0010EDBCF7FF01FD00A0EA5 +:101E4000DF5C03E1C7EC1EF009D00B0EDF5C03E1A1 +:101E5000C7EC1EF013D00C0EDF5C07E1010EDBCFE8 +:101E600088F0020EDBCF89F009D00D0EDF5C06E1B1 +:101E7000DFEC20F002E0088001D00890DFEC1BF0DE +:101E8000030EE15C02E2E16AE552AFEF1BF010ECF9 +:101E900021F095EC21F03BEC21F0DF6E0001975131 +:101EA00023E10101BD5119E0C751C811C911CA117F +:101EB00003E1E8EC1EF003E0BAEC1DF00EE1CB51BB +:101EC000CC11CD11CE1103E1EDEC1EF003E0BFEC1F +:101ED0001DF003E10001978D07D067EC1EF077EC51 +:101EE0001DF0E66A6CEC1EF054EF1DF010EC21F0D2 +:101EF000DF0EE66E010E3BEC1FF095EC21F01BECC3 +:101F000021F02DE10101BD5123E0C751C811C911D4 +:101F1000CA1108E1E8EC1EF005E1DF51E011E11122 +:101F2000E21103E0BAEC1DF013E1CB51CC11CD115D +:101F3000CE1108E1EDEC1EF005E1DF51E011E111F9 +:101F4000E21103E0BFEC1DF003E10001978D07D023 +:101F500067EC1EF0DFCFE6FFE66A6CEC1EF054EF94 +:101F60001DF028EC21F0DF0EE66E010E3BEC1FF0B9 +:101F7000CB0EE66E010E1BEC21F011E10101BD510B +:101F800006E0C4EC1DF003E10001978D08D0E8ECF9 +:101F90001DF0DFCFE6FF010EE66E6CEC1EF054EF95 +:101FA0001DF028EC21F0CB0EE66E010E3BEC21F08B +:101FB000DF6E0001975111E10101BD5106E0C4EC53 +:101FC0001DF003E10001978D08D0E8EC1DF077ECDF +:101FD0001DF0010EE66E6CEC1EF054EF1DF0B2EC3D +:101FE0001BF0050EE3EC1CF00EB0F2D109B405D0E5 +:101FF00030EC1CF002E2F1EC1CF0FE0EDB5028E1AC +:102000000101800ED2150FE0800ECA1512E1000EFC +:1020100086EC1EF0C76DC81FC823C91FC923CA1F7D +:10202000CA237EEC1EF0800ED61512E0800ECE156F +:1020300003E00001978DCCD1000E96EC1EF0CB6D25 +:10204000CC1FCC23CD1FCD23CE1FCE238EEC1EF074 +:1020500001012A6BF2EC1EF025EC1DF0020E49EC9A +:102060001DF03D500101C75D476E3E50C859486E96 +:102070003F50C959496E4050CA594A6EDFC13DF0C0 +:10208000E0C13EF0E1C13FF0E2C140F0060E49EC94 +:102090001DF047503D240101C76F48503E20C86FD6 +:1020A00049503F20C96F4A504020CA6F2EEC1DF0A6 +:1020B000020E49EC1DF03D500101CB5D476E3E50D4 +:1020C000CC59486E3F50CD59496E4050CE594A6E5A +:1020D000E3C13DF0E4C13EF0E5C13FF0E6C140F0B0 +:1020E000060E49EC1DF047503D240101CB6F4850CE +:1020F0003E20CC6F49503F20CD6F4A504020CE6FDC +:1021000001012F6B09A42ED0FD0EDB500BE1100E48 +:102110002F6FE7C12BF1E8C12CF1E9C12DF1EAC124 +:102120002EF187D08EEC1FF002E611EC1CF00FE3CD +:102130008BEC1BF00EE1D1EC1FF002E611EC1CF071 +:1021400006E38BEC1BF005E1800EE21502E057EC94 +:102150001EF0040EDB5003E001012F856AD001015F +:102160002F8167D0E7C147F0010EEEEC1DF01FE0B4 +:102170008EEC1FF002E611EC1CF00FE38BEC1BF071 +:102180000EE1D1EC1FF002E611EC1CF006E38BEC43 +:102190001BF005E1800EE21502E057EC1EF0040E84 +:1021A000DB5003E001012F8502D001012F81E7C13F +:1021B00047F0020EEEEC1DF03CE0040EDB6A01EC91 +:1021C0001FF00101CB51EE24476ECC51EE20486E3A +:1021D000CD51EE20496ECE515DEC1BF002E611ECC4 +:1021E0001CF01DE38BEC1BF01CE1E30EE96E010E0D +:1021F000EA6EDB51EE24476EDC51EE20486EDD5175 +:10220000EE20496EDE515DEC1BF002E611EC1CF095 +:1022100006E38BEC1BF005E1800EE61502E057ECBF +:102220001EF0040EDB5003E001012F8702D00101F4 +:102230002F83FCEC1EF0EE500101D75DD76FEE50FE +:10224000D859D86FEE50D959D96FEE50DA59DA6FA4 +:10225000E30EE96E010EEA6EEE50DB5DDB6FEE50D1 +:10226000DC59DC6FEE50DD59DD6FEE50DE59DE6F6C +:102270000001D90502E18D908B92C7C130F1C8C130 +:1022800031F1C9C132F1CAC133F1FE0EDB5009E0B0 +:10229000C3C138F1C4C139F1C5C13AF1C6C13BF17E +:1022A00002D0F7EC1DF0D7C148F1D8C149F1D9C12E +:1022B0004AF1DAC14BF1DFC140F1E0C141F1E1C1C6 +:1022C00042F1E2C143F1CBC134F1CCC135F1CDC112 +:1022D00036F1CEC137F1FE0EDB5006E001013C6B5A +:1022E0003D6B3E6B3F6B02D000EC1EF0DBC14CF14E +:1022F000DCC14DF1DDC14EF1DEC14FF1E3C144F16E +:10230000E4C145F1E5C146F1E6C147F1FE0EDB50FF +:1023100003E00101400E02D00101200E296F185088 +:10232000145CFDE20EB005D0F8EC1AF001E3156A7A +:10233000142A09AA4BD0A5EC20F0A5EC1BF0B7ECB1 +:102340001FF0DE0E476E7C0EAAEC1AF048C1E6FFC5 +:1023500049C1E6FF4AC1E6FF4BC1E6FFA5EC1BF011 +:10236000D90E476E7C0EAAEC1AF040C1E6FF41C1BF +:10237000E6FF42C1E6FF43C1E6FFA5EC1BF0ACEC73 +:1023800020F0A5EC1BF0CF0E476E7C0EFFEC1FF08B +:10239000CA0E476E7C0EAAEC1AF04CC1E6FF4DC186 +:1023A000E6FF4EC1E6FF4FC1E6FFA5EC1BF0C50EF0 +:1023B000476E7C0EAAEC1AF044C1E6FF45C1E6FF69 +:1023C00046C1E6FF47C1E6FF7EEC21F0DFEC1BF0E3 +:1023D000050EE15C02E2E16AE552AFEF1BF09EEC14 +:1023E0001FF0CF0EE66E010E41EC21F0D30EE66E2B +:1023F000010E3EEC1FF00101BD5101E17BD0BF5148 +:10240000C011C111C21102E10001978D0001975165 +:1024100001E075D0D880FF0E01019EEC1EF004E2B1 +:10242000940E476E7C0E5CD0B1EC1EF002E6E2EC3E +:102430001BF003E259EC1DF004D03BEC1CF0B7ECB0 +:102440001BF0F6EC1BF002E67FEC1CF004E2680ED9 +:10245000476E7C0E45D070EC1BF004E23A0E476EDE +:102460007C0E3ED0DDEC1AF0E8AE02D0413402D052 +:1024700092EC1CF007E3C4EC1BF004E0160E476E70 +:102480007C0E2ED00101B5EC1EF002E6ECEC1BF048 +:1024900003E265EC1DF004D09BEC1CF0B7EC1BF0E4 +:1024A000F6EC1BF002E67FEC1CF004E2EA0E476E4D +:1024B0007B0E16D070EC1BF004E2BC0E476E7B0E58 +:1024C0000FD0DDEC1AF0E8AE02D0413402D092EC2D +:1024D0001CF009E3C4EC1BF006E0980E476E7B0E7F +:1024E000E4EC20F009D030EC1CF004E2E76BE86B80 +:1024F000E96BEA6B8CDAE66A30EC29F0E552040EFF +:10250000E15C02E2E16AE552AFEF1BF0B2EC1BF0D6 +:10251000050EE126010EDF6EDB6A020EDB6A030E9A +:10252000DB6A040EDB6A72EC1FF0010EE66EDF0E52 +:10253000E66E010E41EC21F0E30EE66E010EAEEC0C +:1025400021F00101BD5106E0C4EC1DF003E10001E2 +:10255000978DA7D11850145CFDE2DF040AE1F29ECA +:10256000010162EC1EF003E1805101E1DF6AF28EAD +:10257000F4D71BC03DF01CC03EF01DC03FF01EC094 +:1025800040F0A6EC1EF00101DF25CF6F3A50E021AC +:10259000D06F3B50E121D16F3C50E221D26F1FC080 +:1025A0003DF020C03EF021C03FF022C040F0A6EC3C +:1025B0001EF00101E325D36F3A50E421D46F3B5064 +:1025C000E521D56F3C50E621D66F800ED21506E08E +:1025D0001BEC1EF0000E7EEC1EF002D01BEC1EF079 +:1025E000800ED61506E024EC1EF0000E8EEC1EF0D8 +:1025F00002D024EC1EF0DA35000EDA1909E6D88094 +:10260000FF0ED755FF0ED855FF0ED955000EDA55DF +:102610000EE3DE35000EDE1909E6D880FF0EDB552D +:10262000FF0EDC55FF0EDD55000EDE5504E26A0E8E +:10263000476E7B0E9DD0F7EC1EF0030EEBCFF3FF41 +:10264000DE51F318E8AE02D0F33408D0EE50DB5D73 +:10265000EE50DC59EE50DD59EE50DE5901E380D0EA +:1026600057EC20F072EC21F004E2390E476E7B0E3D +:102670007FD0CCEC1CF00101DE19E8AE02D0DE35D3 +:1026800008D0DB513D5CDC513E58DD513F58DE51F6 +:10269000405801E2E8D0EDEC1EF001E1E4D05DEC41 +:1026A00020F00101B1EC1EF002E6E2EC1BF006E2C4 +:1026B000B5EC1EF002E6ECEC1BF01DE3800ED2152B +:1026C00006E0B5EC1EF002E6ECEC1BF009E3B1EC21 +:1026D0001EF002E6E2EC1BF008E2800ED61505E0E3 +:1026E0009BEC1CF0ADEC1CF012D0800ED2150FE06C +:1026F000800ED6150CE0010ED3C1DBFF020ED4C153 +:10270000DBFF030ED5C1DBFF040ED6C1DBFFCFC15B +:10271000C7F1D0C1C8F1D1C1C9F1D2C1CAF1010E0E +:10272000DBCFCFF1020EDBCFD0F1030EDBCFD1F147 +:10273000040EDBCFD2F163EC20F00101C75DCF6F57 +:10274000EE50C859D06FEE50C959D16FEE50CA59EA +:10275000D26FD36BD46BD56BD66B37EC1DF07DD0BD +:102760005DEC20F072EC21F006E2080E476E7B0E65 +:10277000E4EC20F093D0CCEC1CF00101DA19E8AEC7 +:1027800002D0DA3508D0D7513D5CD8513E58D951E6 +:102790003F58DA51405867E3E8EC1EF064E057EC2C +:1027A00020F00101B5EC1EF002E6ECEC1BF006E2B5 +:1027B000B1EC1EF002E6E2EC1BF01DE3800ED61534 +:1027C00006E0B1EC1EF002E6E2EC1BF009E3B5EC2A +:1027D0001EF002E6ECEC1BF008E2800ED21505E0DC +:1027E0003BEC1CF0ADEC1CF012D0800ED6150FE0C7 +:1027F000800ED2150CE0010ECFC1DBFF020ED0C15E +:10280000DBFF030ED1C1DBFF040ED2C1DBFFD3C15E +:10281000CBF1D4C1CCF1D5C1CDF1D6C1CEF1010EF1 +:10282000DBCFD3F1020EDBCFD4F1030EDBCFD5F13A +:10283000040EDBCFD6F163EC20F00101CB5DD36F4A +:10284000EE50CC59D46FEE50CD59D56FEE50CE59D5 +:10285000D66FE9EC20F040EC1DF054EC1CF06BEC72 +:1028600020F0B8EC1AF00A0E0101BF5D000EC0594D +:10287000000EC159000EC25905E20A0EBF6FC06BAF +:10288000C16BC26B09AA05D0FB0E476E7A0E44ECF1 +:102890001FF00101F1EC1CF0BAD8E66A30EC29F027 +:1028A000E552050EE15C02E2E16AE552AFEF1BF092 +:1028B0009EEC1FF0D70EE66E010E3BEC21F030ECE3 +:1028C0001CF002E2F1EC1CF0BD5107E0BF51C01159 +:1028D000C111C21102E10001978D01EC1FF001014D +:1028E000D751EE24CF6FD851EE20D06FD951EE20C2 +:1028F000D16FDA51EE20D26F01EC1FF0EE50D75DB0 +:10290000D36FEE50D859D46FEE50D959D56FEE50E1 +:10291000DA59D66FB1EC1EF002E6E2EC1BF003E2EE +:1029200059EC1DF004D03BEC1CF0B7EC1BF001019E +:10293000BD512AE0D880FF0E9EEC1EF004E2940EFA +:10294000476E7C0E52D0F6EC1BF002E67FEC1CF0DA +:1029500004E2680E476E7C0E48D070EC1BF004E277 +:102960003A0E476E7C0E41D0DDEC1AF0E8AE02D094 +:10297000413402D092EC1CF007E3C4EC1BF004E0FD +:10298000160E476E7C0E31D00101B5EC1EF002E64A +:10299000ECEC1BF003E265EC1DF004D09BEC1CF0AA +:1029A000B7EC1BF00101BD5123E0F6EC1BF002E691 +:1029B0007FEC1CF004E2EA0E476E7B0E16D070EC42 +:1029C0001BF004E2BC0E476E7B0E0FD0DDEC1AF05C +:1029D000E8AE02D0413402D092EC1CF009E3C4EC22 +:1029E0001BF006E0980E476E7B0EE4EC20F005D05D +:1029F0000001975105E10BD8E66A30EC29F0E55269 +:102A0000040EE15C02E2E16AE552AFEF1BF08EECEE +:102A100021F0E3EC1CF00EB09ED109AA05D0E50E22 +:102A2000476E7A0E44EC1FF030EC1CF002E2F1EC41 +:102A30001CF0E7C12FF1BAEC1DF027E1BFEC1DF04F +:102A400024E10101010E296FBFC12BF1C0C12CF19E +:102A5000C1C12DF1C2C12EF151EC21F039C02BF1D1 +:102A60003AC02CF13BC02DF13CC02EF1D880000EB5 +:102A700001013954000E3A54190E3B54000E3C54D7 +:102A800001E35FD1F2EC1EF05CD10101F2EC1EF02B +:102A90002A6B0001D90502E18D908B920101800E15 +:102AA000D21508E0800E01012A112A6F000E0101E3 +:102AB00086EC1EF0800ED61508E0200E01012A11CA +:102AC0002A6F000E010196EC1EF009AA29D0E40E2F +:102AD000CF5D550ED059000ED159000ED25920E2CB +:102AE0003BEC1CF0FB0E426E020E436E446A456ADC +:102AF00074EC47F00101BF51395CC0513A58C151E3 +:102B00003B58C2513C580CE2B80E476E7A0E2FEC7F +:102B100021F0D7EC1BF0010167EC1EF0E9EC20F08E +:102B2000BAEC1DF063E0D890D251000A08E6FF0E1F +:102B3000CF5DFF0ED059010ED159000ED25924E2BB +:102B4000FCEC1BF02DEC1EF003E029EC1CF0FDE189 +:102B500074EC20F02DEC1EF003E029EC1CF0FDE1FC +:102B6000C1EC20F0F5AE02D036EC1EF0BBEC1CF050 +:102B700016E282EC1DF003E029EC1CF0FDE19AEC7A +:102B80001BF08DEC1DF009D03BEC1CF0DEEC1FF0CF +:102B90004DEC1DF0FDE1C6EC1FF0DD52DD5298EC6E +:102BA0001DF005E2880E476E7A0EA8EC1FF0C4EC0B +:102BB0001DF008E1BAEC1DF005E05F0E476E7A0EDD +:102BC000C7EC20F0C9EC1DF009E2A3EC1DF003E016 +:102BD00029EC1CF0FDE1D3EC1CF00AD0100E1F0B09 +:102BE00007E001014DEC1DF0FDE102D067EC1EF0A5 +:102BF000CCEC1DF005E3C369C469C5697F0EC66FDF +:102C0000C3C130F1C4C131F1C5C132F1C6C133F124 +:102C1000F7EC1DF00101486B496B4A6B4B6B0101EE +:102C2000BFEC1DF062E0D890D651000A08E6FF0E16 +:102C3000D35DFF0ED459010ED559000ED65924E2AA +:102C4000FCEC1BF03FEC1EF003E029EC1CF0FDE176 +:102C500074EC20F03FEC1EF003E029EC1CF0FDE1E9 +:102C6000C1EC20F0F5AE02D036EC1EF0BBEC1CF04F +:102C700016E282EC1DF003E029EC1CF0FDE19AEC79 +:102C80001BF08DEC1DF009D09BEC1CF0DEEC1FF06E +:102C90004DEC1DF0FDE1C6EC1FF0DD52DD5298EC6D +:102CA0001DF005E22F0E476E7A0EA8EC1FF0C4EC63 +:102CB0001DF008E1BFEC1DF005E0060E476E7A0E30 +:102CC000C7EC20F0C9EC1DF009E2A3EC1DF003E015 +:102CD00029EC1CF0FDE1D3EC1CF007D0100E1F0B0B +:102CE00004E001014DEC1DF0FDE1CCEC1DF005E32D +:102CF000C369C469C5697F0EC66FC3C134F1C4C15D +:102D000035F1C5C136F1C6C137F100EC1EF0010145 +:102D10004C6B4D6B4E6B4F6B100E296F09AA11D087 +:102D2000A5EC20F0AAEC1BF0B7EC1FF0ACEC20F007 +:102D3000AAEC1BF0CA0E476E7C0EFFEC1FF0D7EC1E +:102D40001BF01850145CFDE20EB005D0F8EC1AF040 +:102D500001E3156A142A040EE15C02E2E16AE5521D +:102D6000AFEF1BF0B2EC1BF0030E17EC20F0DCEC25 +:102D70001EF01BEC20F03CE1F29E100E0101805D84 +:102D800006E0200E805D03E0400E805D03E1DE5230 +:102D9000010EDD6E145003E0DE52010EDD6E806B1D +:102DA000020EDB6A200EF36E020EDBCFF4FFF3504F +:102DB000F45C07E2020EDB500EEC1DF0020EDB2A83 +:102DC000F1D7156A166A146ADF0409E1045003E1B9 +:102DD0008D808B8204D0040402E18C828982F28E81 +:102DE00078EC21F0BEB102D0D7EC1BF0DFEC1BF089 +:102DF000030EE15C02E2E16AE552AFEF1BF020EC6A +:102E000020F0B4C147F0486A496A4A6A47AE03D025 +:102E1000486849684A6847C0E6FF34EC20F0AAECED +:102E20001BF00101BEB102D0D7EC1BF0DFEF1BF0AD +:102E3000B2EC1BF0030E17EC20F08450040B08E1F9 +:102E40008450020B05E18050400B02E1010E23D0BB +:102E50008450040B09E08450020B06E18050400BC3 +:102E600003E1020EF36E19D08450040B08E1845084 +:102E7000020B05E08050400B02E1040E0CD08450A0 +:102E8000040B08E08450020B05E08050400B02E187 +:102E9000080E01D0100EF36E020EF3CFDBFF0450CC +:102EA00008E184B003D0020EDB50DF6E82B210D096 +:102EB00009D004040DE183B203D0020EDB50DF6EB3 +:102EC00080B206D0020EDB50E76E010EE7CFDBFFCB +:102ED000DFCF47F024EC20F0F7EC1CF078EC21F089 +:102EE000BEB102D0D7EC1BF0DFEC1BF0030EE15CAF +:102EF00002E2E16AE552AFEF1BF0B2EC1BF0020E0A +:102F0000E126DE6ADD6A92EC21F0DCEC1EF0030EB5 +:102F10001BEC20F00FE10101B40504E106EC1FF009 +:102F2000E66A04D006EC1FF0010EE66E54EC1EF0CB +:102F3000DFEC1BF0020EE15C02E2E16AE552AFEF6A +:102F40001BF08CEC20F071EC1DF082EC21F0030EF4 +:102F5000FBDA64EC21F0EEEC20F00001975124E163 +:102F6000030EDB50070802E271EC1DF0DF50010890 +:102F700002E2010EDF6E030EDB50030F00018A5DDB +:102F800007E011EC1DF0030EDB50030F00018A6F08 +:102F9000010EDBCFE6FF020EDBCFE6FFDFCFE6FF61 +:102FA00054EC1EF0DFEC1BF0050EE15C02E2E16A7E +:102FB000E552D5D38EEC21F0E126FE0EDB040BE1C9 +:102FC00084C0DEFF85C0DDFF020E86C0DBFF030E7E +:102FD00087C0DBFF0AD082C0DEFF83C0DDFF020EA8 +:102FE00088C0DBFF030E89C0DBFF8986D5C0D1F026 +:102FF000D6C0D2F0D7C0D3F0D8C0D4F0FC0EDBCF0F +:10300000E6FFFD0EDBCFE6FF020EDBCFE6FF030E91 +:10301000DBCFE6FF8AC0E6FF06EC1FF0CDEC20F028 +:10302000040EE15C02E2E16AE55299D38EEC21F0F4 +:10303000E12665EC1FF0E76E020EE7CFDBFF000133 +:1030400097512CE1020EDB5029E144EC1CF0010EFB +:103050007BDAE76E030EE7CFDBFF000197511EE13D +:10306000030EDB501BE11850145CFDE2155062ECBE +:103070001FF0EE52DFCFEFFF4AEC1CF0270E93DB80 +:10308000010EDBCFEFFF4AEC1CF0080EEF6E152AA5 +:103090001850155C01E3156A142A91DB040EE15CFB +:1030A00002E2E16AE5525BD392EC21F0FE0E0101EF +:1030B000B55DFF0EB659FF0EB759FF0EB85905E2C0 +:1030C000B52B000EB623B723B823DFEF1BF092EC2D +:1030D00021F00101B551B611B711B81105E0B507DE +:1030E000000EB65BB75BB85BDFEF1BF03BDB050E9A +:1030F000E12692EC21F0EBEC1CF0070EEEEC20F058 +:10310000DB500BE1DFCFB5F1010EDBCFB6F1020EE4 +:10311000DBCFB7F1030EDBCFB8F151DB050EE15C7D +:1031200002E2E16AE5521BD320EC20F0B5C1E6FFD4 +:10313000B6C1E6FFB7C1E6FFB8C1E6FF0BDB010190 +:10314000BEB102D056EC1DF0DFEF1BF00BDB020E20 +:1031500085EC21F082EC21F0010E1BEC20F00CE15B +:10316000010EDB501F0803E2DE521F0EDD6EA9ECDC +:103170001EF0DFCFEFFF23DB020EE15C02E2E16A2B +:10318000E552EDD2EFDA020E17EC20F07DDB010EF6 +:103190001BEC20F013E1010EDB501F0803E2DE52AE +:1031A0001F0EDD6EA9EC1EF0EFCF47F024EC20F0EF +:1031B0000101BEB102D056EC1DF001DB020EE15C54 +:1031C00002E2E16AE552CBD220EC20F00750476ED4 +:1031D000486A496A4A6AE66E34EC20F0BBDA0101BB +:1031E000BEB102D056EC1DF007B00790DFEF1BF028 +:1031F0009DBCFED720EC20F000C147F001C148F093 +:10320000E5EC1FF016C147F017C148F078DA9DDAF7 +:103210000101BEB102D056EC1DF0DFEF1BF0FAEC5D +:1032200020F0D2D8DF6E20EC20F00F0EDF14DF6E1E +:103230000101B45103E0100EDF10DF6E07A003D0D0 +:10324000200EDF10DF6E0001A75104E0400EDF10FA +:10325000DF6EA76B0EA003D0800EDF10DF6E020EB4 +:10326000E66EDFCF47F0486A4ADA40EC43F04B6E37 +:10327000050EE15E4B5056EC1DF007B0079054EF81 +:103280001DF08CEC20F0030EDB6A82EC21F0030EC3 +:10329000EEEC20F064EC21F01BEC20F001E08ED08D +:1032A000D2DAFF0ED880EE54030EED5405E2010E83 +:1032B000DB68030E0BEC1FF0DF50010802E2010E89 +:1032C000DF6E030EDB50010802E271EC1DF0DF043B +:1032D00009E1040EDB50030805E10101BA6B020E9F +:1032E000BB6F06D0010EDBCFBAF1020EDBCFBBF114 +:1032F000CAB415D0CB68FC0ECA140009CA6E9D92E0 +:103300000F0152815293F00EBA140C09BA6E3F0E9F +:10331000BA140009BA6E0E010E0ECC6FCA84030EE9 +:10332000DB502AE1DF5023E0BAC147F0BBC148F0CF +:10333000D89048324732D890483247324750BB6E17 +:10334000BAC149F0BBC14AF0040ED89049364A369A +:10335000E804FBE1300E4916000E4A16CF0EBA14EF +:1033600000014910476E4AC048F0E85003D0BB6ADC +:10337000CF0EBA14BA6E21D01850145CFDE215506D +:1033800062EC1FF02D0E0FDABAC1EEFFBBC1EDFFEC +:1033900081DA020E08DAEE6AEE6AEE6AEE6A7ADA2C +:1033A000060E01DADFCFEFFF75DA040EEF6E152A95 +:1033B0001850155C01E3156A142A01DA050EE15C68 +:1033C00002E2E16AE552CBD18EEC21F0E0DA030EA5 +:1033D000DB6AF29E010162EC1EF002E0010EDF6E7C +:1033E000805102E0010EDF6E145006E0010EDF6E28 +:1033F000F36E030EF3CFDBFFDF5005E0B6DB03E037 +:10340000DE52010EDD6EDF5006E05DEC1EF003E0E3 +:10341000010E0BEC1FF0F28E030EDBCFE6FF020E67 +:10342000DB50E824486E010EDB50040DF3CF47F06B +:10343000DF50080DF35047104810E552E710476E73 +:10344000040EE15C02E2E16AE552E16E4750F2EF00 +:1034500020F08CEC20F0030EDB6AB6DF71EC1EF07E +:10346000010EE66EE66E12EC29F0E552E552040E0E +:10347000DBB037DB040EDBA203D0010E0BEC1FF038 +:10348000040EDBA403D0DE52010EDD6E040EDBA6BB +:1034900002D0010EDF6EDFCF47F0486AE5EC1FF087 +:1034A000010EDBCF47F0486AE5EC1FF0020EDBCFE0 +:1034B00047F0486AE5EC1FF0030EDBCF47F0486A9F +:1034C0001ED97EEC21F0050EE15C02E2E16AE552D4 +:1034D00046D148D9080EE12620EC20F0F29E1BC010 +:1034E000DFFF010E1CC0DBFF020E1DC0DBFF030E61 +:1034F0001EC0DBFF040E1FC0DBFF050E20C0DBFF7C +:10350000060E21C0DBFF070E22C0DBFFF28ED9CFF3 +:10351000E9FF0BEC20F06BDAD950040FE96E0BECED +:1035200020F00101BEA143D94AD9080EE15C02E2B4 +:10353000E16AE55214D1F29E60DAF28E120092EC4A +:1035400021F0F9DFDFEF1BF0E66E6CEC31F0E552B5 +:1035500041EF20F0486E496A47C0E6FFE66E49C079 +:10356000E6FF23EC43F041EF20F016507DEF20F012 +:1035700074EC47F039C047F03AC048F03BC049F01E +:103580003CC04AF039C03DF03AC03EF03BC03FF08D +:103590003CC040F0C3C142F0C4C143F0C5C144F0D7 +:1035A000C6C145F00CEC48F03DC0BFF13EC0C0F1D3 +:1035B0003FC0C1F140C0C2F11200BFC147F0C0C15D +:1035C00048F0C1C149F0C2C14AF0D4EC20F085EC0A +:1035D0001FF00CEC48F03DC047F03EC048F03FC043 +:1035E00049F040C04AF029EC20F04A50411812003E +:1035F000155062EC1FF029C1EEFF2AC1EEFF2BC16E +:10360000EEFF2CC1EEFF2DC1EEFF2EC1EEFF2FC14C +:10361000EEFF30C1EEFF31C1EEFF32C1EEFF33C12C +:10362000EEFF34C1EEFF35C1EEFF36C1EEFF37C10C +:10363000EEFF38C1EEFF39C1EEFF3AC1EEFF3BC1EC +:10364000EEFF3CC1EEFF3DC1EEFF3EC1EEFF3FC1CC +:10365000EEFF40C1EEFF41C1EEFF42C1EEFF43C1AC +:10366000EEFF44C1EEFF45C1EEFF46C1EEFF47C18C +:10367000EEFF48C1EEFF49C1EEFF4AC1EEFF4BC16C +:10368000EEFF4CC1EEFF4DC1EEFF4EC1EEFF4FC14C +:10369000EEFF50C1EEFF51C1EEFF52C1EEFF53C12C +:1036A000EEFF54C1EEFF55C1EEFF56C1EEFF57C10C +:1036B000EEFF152A1850155C1200EE204A6E47C026 +:1036C000DFFF010E48C0DBFF020E49C0DBFF030E27 +:1036D0004AC0DBFF5FEC21F0D890EB50000A1200EB +:1036E00056EC21F0DFCF3DF0010EDBCF3EF0020EB5 +:1036F000DBCF3FF0030EDBCF40F079EF1FF0496ADC +:103700004A6A47C0E6FF34EF20F0E66A12EC29F07F +:10371000E552E55212005FEC21F0EECF47F0EECF1C +:1037200048F0EECF49F0EFCF4AF04750481049102B +:103730004A1012006BEC20F0C7C142F0C8C143F040 +:10374000C9C144F0CAC145F0120096EC43F0E552FD +:1037500041EF20F07AEC43F0E55241EF20F0E16ECA +:10376000F2EF20F0D9CFE6FFE1CFD9FF12003BEC1A +:1037700020F039C0DEFF3AC0DEFF3BC0DEFF3CC0B8 +:10378000DDFFDD52DD5212005FEC21F0EECF4BF099 +:10379000EECF4CF0EECF4DF0EFCF4EF04B504C1043 +:1037A0004D104E101200E926000EEA221200020E01 +:1037B000E66EF6EF20F0136EE85009081200E66A94 +:1037C000F6EF20F0D880000ECF55000ED055000E39 +:1037D000D155000ED2551200D880000ED355000EE0 +:1037E000D455000ED555000ED655120029EC20F008 +:1037F0004134000E41181200BFC1C7F1C0C1C8F169 +:10380000C1C1C9F1C2C1CAF151EC21F039C0C7F13F +:103810003AC0C8F13BC0C9F13CC0CAF10F0E1F0B42 +:103820001200000EEE5C000EEE58000EEE58000E78 +:10383000EE5812003DC0C3F13EC0C4F13FC0C5F117 +:1038400040C0C6F11200D950010FE96EDACFEAFF8D +:103850001200D8904736483649364A36E8061200F4 +:10386000D880030E0101E755000EE855000EE9551A +:10387000000EEA551200CFC13DF0D0C13EF0D1C1DB +:103880003FF0D2C140F01200010EE66ED950010F98 +:1038900091EF20F015507DEF20F00A50E96EEA6AB2 +:1038A000D890E936EA361200E80E426E030E436EF7 +:1038B000446A456A120097519F279851A023995155 +:1038C000A1239A51A2239F518727A0518823A15158 +:1038D0008923A2518A2345EF20F09B51A3279C51B5 +:1038E000A4239D51A5239E51A623A3518B27A45108 +:1038F0008C23A5518D23A6518E234EEF20F0D88026 +:10390000FF0E3E54FF0E3F54FF0E4054000E415434 +:103910001200EECF82F1EECF83F1EECF84F1EFCF44 +:1039200085F112003E50475C3F504858405049587E +:1039300041504A581200D3C13DF0D4C13EF0D5C128 +:103940003FF0D6C140F01200C3C13DF0C4C13EF00B +:10395000C5C13FF0C6C140F012008DDB010E39C079 +:10396000DBFF020E3AC0DBFF030E3BC0DBFF040EA1 +:103970003CC0DBFF120039C0CBF13AC0CCF13BC0F8 +:10398000CDF13CC0CEF1D8801E0E0101B8D385EC3C +:1039900021F0020EDB6A1200B8DAD4EC20F00CEC55 +:1039A00048F0405012005FEC21F04750EE24010136 +:1039B000C36F4850EE20C46F4950EE20C56F4A5087 +:1039C000EE20C66F1200E126DE6ADE6ADE6ADD6A7C +:1039D000DD52DD521200E66AD9CFE6FFDACFE6FF0C +:1039E0001200030EE76FE86BE96BEA6B12002C0E16 +:1039F000E66EC2EC25F0E55212001B6A1C6A1D6AD5 +:103A00001E6A1F6A206A216A226A236A246A256A5A +:103A1000266A276A286A296A2A6A120053DAEF6A34 +:103A20001200000EE66EE66AE66EE66A8AC0E6FFFF +:103A3000E66EE66ACDEF20F0EECF8BF1EECF8CF1A3 +:103A4000EECF8DF1EFCF8EF11200D7C13DF0D8C18E +:103A50003EF0D9C13FF0DAC140F01200DBC13DF0C9 +:103A6000DCC13EF0DDC13FF0DEC140F01200D7C145 +:103A700047F0D8C148F0D9C149F0DAC14AF0120084 +:103A8000DBC147F0DCC148F0DDC149F0DEC14AF0DE +:103A90001200B2EC21F0ACEF47F0D890C337C43736 +:103AA000C537C637E8061200E5529CD3010EE66E14 +:103AB0009DD3CFC1DFFF010ED0C1DBFF020ED1C10C +:103AC000DBFF030ED2C1DBFF1200D3C1DFFF010E0B +:103AD000D4C1DBFF020ED5C1DBFF030ED6C1DBFF75 +:103AE0001200010EF36E030EF3CFDBFF1200DF6B4B +:103AF000E06BE16BE26BE36BE46BE56BE66BDFCFF6 +:103B0000E6FF1200100E1F0BCBC147F0CCC148F0EE +:103B1000CDC149F0CEC14AF01200ACEC47F03DC037 +:103B2000DEFF3EC0DEFF3FC0DEFF40C0DDFF120013 +:103B3000D880000E0101C355800EC455000EC55536 +:103B4000000EC6551200100E1F0BC3C147F0C4C1B2 +:103B500048F0C5C149F0C6C14AF012000A50EA6AED +:103B6000690FE96E000EEA2212008F519011911137 +:103B700092111200CF51D011D111D2111200D35194 +:103B8000D411D511D6111200C351C411C511C611DB +:103B90001200D8801E0EB3D2FF0E0101C35DFF0ECE +:103BA000C459FF0EC5597F0EC6591200EECF9BF1C6 +:103BB000EECF9CF1EECF9DF1EFCF9EF11200EECF54 +:103BC0008FF1EECF90F1EECF91F1EFCF92F11200A5 +:103BD00000DBD36BD46BD56BD66B12004716486AEB +:103BE000496A4A6A4750481049104A101200CFC12A +:103BF00038F1D0C139F1D1C13AF1D2C13BF1120053 +:103C0000D3C13CF1D4C13DF1D5C13EF1D6C13FF1A4 +:103C1000120030C1E6FF31C1E6FF32C1E6FF33C119 +:103C2000E6FF120034C1E6FF35C1E6FF36C1E6FF0C +:103C300037C1E6FF1200CFC1D7F1D0C1D8F1D1C151 +:103C4000D9F1D2C1DAF11200D3C1DBF1D4C1DCF178 +:103C5000D5C1DDF1D6C1DEF11200CFC147F0D0C130 +:103C600048F0D1C149F0D2C14AF01200000E396CBF +:103C70003A1E3A223B1E3B223C1E3C221200D3C17C +:103C800047F0D4C148F0D5C149F0D6C14AF012007E +:103C90002B2A000E2C222D222E2212008F07000E1E +:103CA000905B915B925B1200DAEC17F0EAD1010EA7 :103CB000F36E040EF3CFDBFF1200935194119511B4 -:103CC0009611120082518311841185111200896BA3 -:103CD0008A6B8B6B8C6B1200F0EC0FF0E552E552A7 +:103CC0009611120082518311841185111200C36B69 +:103CD000C46BC56BC66B1200EFEC0FF0E552E552FA :103CE0001200E76E040EE7CFDBFF1200046E968031 -:103CF0009482958C958E9588958A12009D6D9E1F55 -:103D00009E239F1F9F23A01FA0231200A16DA21F0F -:103D1000A223A31FA323A41FA42312008555FF0ED3 -:103D20008655FF0E8755000E8855120093D92550F1 -:103D30001200010EDB50EA6A5F0FE96E0B0EEA22F9 -:103D400012009835000E981912009C35000E9C192F -:103D5000120081899307000E945B955B965B1200BD -:103D6000F36E010EF3CFDBFF020EDB6A1200010ED1 -:103D7000DBCF86F0020EDBCF87F012000B01896BE0 -:103D8000800E8A6F8B6B8C6B12000B01010E896F9A -:103D90008A6B8B6B8C6B1200010EE66ED9CFE6FF3F -:103DA000DACFE6FF1200610EE926000EEA221200C9 -:103DB0009D519E119F11A0111200A151A211A3119A -:103DC000A4111200266B276B286B296B12009D0E25 -:103DD000E96E0B0EEA6E1200A50EE96E0B0EEA6E8E -:103DE0001200A10EE96E0B0EEA6E1200DECFE6FFA6 -:103DF000DDCFE6FF1200F36E020EF3CFDBFF120001 -:103E0000ECD9A2EC1AF01F0EBBDCEECF9FF1EECF87 -:103E1000A0F1EECFA1F1EFCFA2F1A2EC1AF01F0EAC -:103E200084DAEECFA3F1EECFA4F1EECFA5F1EFCF80 -:103E3000A6F1A2EC1AF0170EA3DCEECF97F1EECFAD -:103E400098F1EECF99F1EFCF9AF1A2EC1AF0170E9C -:103E50006CDAC4EF1DF074DAE66A120001DAAD0E16 -:103E6000E66E0B0E79EF21F0E9D9D90E336E7A0E9A -:103E700097EC1AF095CBE6FF96CBE6FF97CBE6FFE3 -:103E800098CBE6FF4FDCD30E336E7A0E97EC1AF028 -:103E900099CBE6FF9ACBE6FF9BCBE6FF9CCBE6FFF8 -:103EA0006DEF21F02F0D000105D22EDA81DD010E1C -:103EB00091EF1AF00F0BC8EF1BF03CDA020E60DC3A -:103EC00076EF1CF021DAE66A890EE66E0B0E79EFCA -:103ED00021F0FEEC47F0D880190E2954000E2A5428 -:103EE000000E2B54000E2C54120085CB29F086CBEB -:103EF0002AF087CB2BF088CB2CF0120001DA50DDB2 -:103F000003DAE66A850EE66E0B0EF3D9E66A120056 -:103F1000040EDB6A5CDF8D51EE24336E8E51EE2091 -:103F2000346E8F51EE20356E90514AEF1BF097ECB6 -:103F30001AF089CBE6FF8ACBE6FF8BCBE6FF8CCB72 -:103F4000E6FF97EC1BF020DCBEEF1EF0C70E336ED1 -:103F50007C0E97EC1AF033CBE6FF34CBE6FF35CB83 -:103F6000E6FF36CBE6FF97EF1BF0190EEDD9D9DC53 -:103F7000FEEC47F04CDCDE6ADE6ADE6ADD6A1200C7 -:103F80002BDF9D51EE24336E9E51EE20346E9F51F7 -:103F9000EE20356EA0514AEF1BF077D9FEEC47F0CA -:103FA00036DC0F0E0B0112006CEC1BF092EC1BF0D8 -:103FB000E4EF1CF0AE6E0F0E1214C8EF1BF0AE6EE5 -:103FC0000F0E1114C8EF1BF0AE6E0F0E1014C8EFD9 -:103FD0001BF0AE6E0F0E0F14C8EF1BF097EC1AF02B -:103FE00037CBE6FF38CBE6FF39CBE6FF3ACBE6FF2F -:103FF00097EF1BF0DACFEAFFEECFE6FFEECFE6FF5A -:10400000EECFE6FFEFCFE6FF92EF1BF06DD9E66E45 -:1040100072EF1BF091EC1AF0000197511200010EA3 -:10402000E66E72EF1BF0346A6CEC1BF097EF1BF03E -:10403000DECF2AF0DECF2BF0DECF2CF0DDCF2DF05F -:10404000DD52DD52120034C0E6FF35C0E6FF36C057 -:10405000E6FF12002E682F683068316866EF47F07F -:10406000E552E552E55212008751AF278851B0233F -:104070008951B1238A51B22312008B51B3278C513D -:10408000B4238D51B5238E51B6231200CCDC41EC04 -:104090001CF0B7DCA5EF1AF0CFDC41EC1CF0BADC69 -:1040A000A5EF1AF00B018ADCFDEC14F010EC1CF00B -:1040B000EE50120033C029F034C02AF035C02BF086 -:1040C00036C02CF0120087EC1BF09EEC47F007EC9A -:1040D0001CF00F0E1F0B12002F0DECD08555000E9B -:1040E0008655000E8755000E88551200A2EC1AF076 -:1040F0000F0EC0EF1BF09FEC1BF0050EB4EF1CF091 -:10410000E66E000EDA20E66E1200A2EC1AF0060E41 -:10411000C0EC1BF0EFCF86F11200A2EC1AF0EE52C9 -:10412000EFCF81F1A2EF1AF0CC0E336E7C0E97EC3C -:104130001AF009EF1EF0B80E336E7C0E97EC1AF0F1 -:1041400012EF1EF03AEC1CF0750EE926000EEA2282 -:1041500012003AEC1CF06D0EE926000EEA22120065 -:1041600087EC1BF090CBF5FF9EEF47F097EC1AF031 -:10417000C4EC1BF0C5EF1EF00AEC40F0336E070EE6 -:10418000E15E335012001F0E2E6E050E2F6E306A48 -:10419000316A12003AEC1CF0D3EF1EF010EC1CF068 -:1041A000EE50ED10120097EC1AF0020EE66E1200BF -:1041B000956B966B976B986B120091EC1AF071EF00 -:1041C0001EF0E552E7CFD9FF120022EC29F0E552AC -:1041D00012009FEC1BF0E6521200ACD8070EC0ECA8 -:1041E0001BF0EECF87F1EECF88F1EECF89F1EFCF64 -:1041F0008AF1A2EC1AF0070E98D8F8EF1CF0E9DF6C -:1042000083D8E66A8D0EE66E0B0E25DE950EE66E01 -:104210000B0E85D020DEA10EE66E0B0E1CDEA90E65 -:10422000E66E0B0E1BDEDF6E000197511200D1DF30 -:1042300049DEE66A8D0EE66E0B0E71D097EC1AF031 -:1042400085CBE6FF86CBE6FF87CBE6FF88CBE6FF94 -:1042500097EF1BF000DEA10EE66E0B0E2EEF1FF0A7 -:104260006FD8010EE66E1200AE6E11385AEF1FF0D5 -:10427000AE6E10385AEF1FF0AE6E0F385AEF1FF0C7 -:10428000190E62D832DE66EF47F085CB2EF086CB72 -:104290002FF087CB30F088CB31F01200D9CFE9FF77 -:1042A000DACFEAFF1200010EE66ED950030F28DFC5 -:1042B000010E1200FA51F324E96EFB51F420EA6E6C -:1042C000120091EC1CF041EC1CF069EF1FF0010EA4 -:1042D000DBCF33F0A8DE0B01120092EC1BF0C4EF31 -:1042E0001BF0E3DD31EF1CF0E126DF6A010EDB6A33 -:1042F0001200E66E070E91EF1AF012385AEF1FF017 -:104300009FEC1BF0040E1200E66A72EF1BF0910E98 -:10431000E66E0B0EA0DD990EE66E0B0E12009BDD15 -:104320009D0EE66E0B0E2BEF1FF0C0EC1BF0040E83 -:10433000C0EF1BF0A2EC1AF0EFCF80F1A2EF1AF061 -:10434000E66E060E91EF1AF02E6E2F6A306A316A11 -:02435000120059 -:0E435200D8CFE4FFE0CFE4FFE46EDACFE4FF63 -:10436000E9CFE4FFEACFE4FFF3CFE4FFF4CFE4FFCB -:10437000E6528BEC35F0A4A641D1A4960001602B47 -:1043800000017F510001605D01E29BD0606B000184 -:10439000A4EC34F0EF6A79907B6A7A6A00017D2B95 -:1043A00000017E5100017D5D01E37D6B1DEC36F067 -:1043B000EA22EE50ED1001E184D010EC36F0EECFA1 -:1043C0003DF0EFCF3EF03D503B1802E13E503C182F -:1043D0005DE060EC35F0EA22EE50ED1051E010ECBB -:1043E00036F00001EE503B5CE26FEE503C58E36F5C -:1043F000E83422E2E2510008000EE3551DE200011C -:1044000060EC35F01CEC34F000013C50E319E8AEF0 -:1044100002D0E33504D0E2513B5CE3513C580AE260 -:10442000000160EC35F031EC35F03B50EE263C50AD -:10443000ED222CD0000124D0E2C03BF0E3C03CF0E0 -:104440003B6C3C1E000E3C22000160EC35F0EA2281 -:10445000EECF3DF0EFCF3EF03E503C18E8AE02D03C -:104460003C3404D03B503D5C3C503E5809E260EC8B -:1044700035F031EC35F03B50EE5E3C50ED5A06D055 -:1044800010EC36F03BC0EEFF3CC0EDFFA4EC34F086 -:10449000120EEF6EF29E0001ACEC35F03CC03BF02A -:1044A0003C6A3B50B66EACEC35F03B50B56EF00E4E -:1044B000B4140009B46EF00EB4140909B46E798016 -:1044C000F28E0001000ED8808D55000E8E552EE222 -:1044D0009B2B000E9C238D519B5D8E519C5926E396 -:1044E0009B6B9C6B030E915D1FE28F51EA6A200F5C -:1044F000E96E010EEA2280CFEFFF8F51EA6A230FA7 -:10450000E96E010EEA2281CFEFFF8F51EA6A260F92 -:10451000E96E010EEA2282CFEFFF8F2B030E8F5D33 -:1045200001E38F6B912B02D08D6B8E6B000ED880C8 -:104530009255000E93551CE2000ED880A155000E36 -:10454000A25516E29D2B000E9E2392519D5D935124 -:104550009E590EE39D6B9E6B030E965D07E2942BB6 -:10456000030E945D01E3946B962B02D0926B936BD8 -:10457000A151A2110BE0050EA05D07E3C18C9E9C2A -:104580009D8CC280C282A06B01D0A02B0B017F51F9 -:1045900001E07F070001D151D211D311D4110BE0FA -:1045A000D107000ED25BD35BD45BD151D211D311B2 -:1045B000D41101E18996020EA85D20E1AB51AC1146 -:1045C0001DE0AB07000EAC5BAB51AC1117E1AD5178 -:1045D000AE1114E0AD07000EAE5BAD51AE110AE1B5 -:1045E000045003E18D808B8202D08C828982030E7D -:1045F000A86F04D0E80EAB6F030EAC6F9EAC4FD02B -:104600009E9CC1AC07D0C19C010E0001A36FA46B9E -:104610009F6B2AD0C4503D6E3E6E3D6AC350000170 -:104620003D103B6E3EC03CF000019F51E96EEA6ACE -:104630007BEC35F0EA223BC0EEFF3CC0EDFF0B0EF9 -:104640009F5D0EE19F51E96EEA6A7BEC35F01CEC50 -:1046500034F0A5513B5CA6513C5802E2010EA76F15 -:10466000D890A337A4379F2B100E9F5D0EE2A35165 -:10467000A1153B6EA451A2153C6E3B503C1005E1C8 -:104680009F2BD890A337A437EFD7100E9F5D02E37E -:104690009D9C05D09F51040DF328C26EC282E55245 -:1046A000E552E7CFD9FFE552E5CFF4FFE5CFF3FFC1 -:1046B000E5CFEAFFE5CFE9FFE5CFDAFFE550E5CF4B -:1046C000E0FFE5CFD8FF1000D9CFE6FFE1CFD9FF5B -:1046D000020EE126DE6ADD6AE2CFE4F0E1CFE5F02A -:1046E000E4C033F033C034F0336A0001E551000117 -:1046F0003310E66F34C0E7F0E6C0DEFFE7C0DDFF51 -:10470000080EDE26000EDD22D9CFE9FFDACFEAFF60 -:10471000BF0ED880EE540E0EED540BE3DECFE9FF52 -:10472000DDCFEAFFEE0EEF6EDF2A010E01E3DB2A9A -:10473000EBD7020EE15C02E2E16AE552E16EE5527E -:10474000E7CFD9FF120026EC36F0BF0EF36E010E54 -:10475000F3CFDBFF0E0EF36E020EF3CFDBFFF28C16 -:10476000010EDBCFE9FF020EDBCFEAFFEF50EE08D0 -:1047700006E1010EDB06020EF3E2DB06F1D7F4ECF4 -:1047800034F000013350E05D3450E15906E2010E8F -:10479000DBCFE0F0020EDBCFE1F0F28C030EE15C48 -:1047A00002E2E16AE552E16EF2EF33F02EEC36F010 -:1047B000896A92680001A16BA26B8A6A93688B6A0E -:1047C00094688C968C9495969594928E010ED06FE9 -:1047D000976B956B946B966B906B8F6B916B8D6BEE -:1047E0008E6B926B936B9B6B9C6B9D6B9E6B9F6BAD -:1047F00076827680769C769A76887696FA0E776EB2 -:10480000DE6ADD6AB7EC34F0100E335C000E34580B -:1048100013E2BCEC34F0010ED890E936EA36E80633 -:10482000FBE1000EE926010EEA22EE6AED6ADF2ABC -:10483000010EE8E3DB2AE6D70001CA6BCB6BC86B3D -:10484000C96BDE6ADD6AC3EC35F00AE2BCEC34F019 -:10485000000EE926020E1EEC35F0F5E3DB2AF3D755 -:10486000DE6ADD6AC3EC35F00AE2BCEC34F0400EDF -:10487000E926020E1EEC35F0F5E3DB2AF3D7DE6AFB -:10488000DD6AB7EC34F0000E335C010E34580AE2F6 -:10489000BCEC34F0000EE926030E1EEC35F0F1E31B -:1048A000DB2AEFD70001CC6BCD6BCE6BCF6B986B57 -:1048B000996B9A6B0F01498FBE0EC16ED08E7694A4 -:1048C000A386A596B4EC0DF03DEC3FF076848AEC1F -:1048D00030F00001DC6BDD6BDE6BDF6BD16BD26B1C -:1048E000D36BD46B600ED56FEA0ED66FD76BD86BD7 -:1048F000010ED96FE06BE16BA56BA66BA96BAA6B80 -:10490000AB6BAC6BAD6BAE6BA86BA76B95929590D8 -:1049100092929490929A020EE66EE66A1C0EE66EF1 -:104920002DEC47F019EC36F0020EE15C02E2E16A90 -:10493000E552E16EF2EF33F0EDEC33F0050EE126D7 -:10494000FBEC34F007EC33F00001915100080AE26F -:104950001FEC2DF00001902B030E905D01E1906B98 -:104960009107F2D7965100080AE23CEC2DF00001C5 -:10497000952B030E955D01E1956B9607F3D7200EFD -:104980000101E76EC319E8AE02D0E73402D0E75068 -:10499000C35D01E2E1D06550020B01E0DDD0400EC5 -:1049A000E66E400EE66E020EE66EBFEC41F019ECCC -:1049B00036F0E76E020EE7CFDBFFDB50000870E257 -:1049C000030EDB6A020EDB50F36E030EC1EC34F013 -:1049D00067E2030EDB50EA6A400FE96E020EEA223C -:1049E000040EEFCFDBFF09A805D0DBCFE6FF3CECE0 -:1049F00048F0E5520101F75119E10D0E336E040E36 -:104A0000DB50335C06E00A0E346E040EDB50345C7F -:104A10000DE1010EF76F0001DBEC34F00D0EEF6ECF -:104A2000CA2BF7D80001CA6BCB6B2AD0040EDB501F -:104A300008080EE10001CA5100080AE2CA07DBECCF -:104A400034F0EF6A770E336E7E0ED1EC33F018D06F -:104A5000040EDB500D0814E0040EDB500A0810E0D1 -:104A6000200EF36E040EC1EC34F00AE30001DBEC1F -:104A700034F0040EDBCFEFFF0101F76B0001CA2B0E -:104A80000001CA51336E346A000E331806E1010E7C -:104A9000341803E19787CA6BCB6B030EDB2A92D7DE -:104AA0000001975139E097A105D0730E336E7E0E49 -:104AB0005AEC35F0000197A305D0560E336E7E0EEA -:104AC0005AEC35F0000197A505D03C0E336E7E0EF2 -:104AD0005AEC35F0000197A705D0220E336E7E0EFA -:104AE0005AEC35F0000197A905D0050E336E7E0E05 -:104AF0005AEC35F0000197AD05D0E50E336E7D0E12 -:104B00005AEC35F0000197AF05D0CD0E336E7D0E17 -:104B10005AEC35F00001976BDD511DE0010E0E14CB -:104B200014E0DE5112E1AE0E336E7D0ED1EC33F0A7 -:104B3000020EE66EDCC033F0346AF6EC33F0DBECE8 -:104B400033F00001010EDE6F06D0010E0E1403E1FA -:104B5000DE5101E0DE6B37D8050EE15C02E2E16A6E -:104B6000E552E16EF2EF33F08BEC35F0C8C0DFFFB9 -:104B7000DF2A400E3FEC34F001E1DF6A0001C95149 -:104B8000DF5C01E120D80001C851EA6A000FE96E3C -:104B9000020EEA22FE0EDBCFEFFFC82B400EC85DEF -:104BA00001E1C86BC951C85D01E19785FE0EDBCFFD -:104BB00033F0346A33BE346833C0F3FF34C0F4FFDB -:104BC000E552F2EF33F08BEC35F00001C851C95DCE -:104BD0001DE00501905105E04BEC42F0BCEC36F0D5 -:104BE000F8D70001C951D880C85507E2C951C85D3E -:104BF00062EC34F0C8C0C9F007D0400ED880C95567 -:104C000062EC34F00001C96B4BEC42F0E552F2EF7C -:104C100033F0EDEC33F0090EE126DE6ADD6A020EB8 -:104C2000DB6A030EDB6A050EDB6A010EF36E060E0D -:104C3000F3CFDBFF0001DA6BDB6BDF5101E18ED0DC -:104C4000060EDB6A040ECAC0DBFFDB5003E0040E75 -:104C5000DB0602D0040EDB68040E97EC34F0EF5054 -:104C60002C0816E0050EF36EDBCFF4FFE850F45C81 -:104C70000FE2040EDB50CB5D0BE0040EDB5003E0D3 -:104C8000040EDB0602D0040EDB68050EDB2AE4D737 -:104C9000040E97EC34F0EF502C0857E1070ECBC010 -:104CA000DBFF040EDBCFCBF0E66AD950020F2DEC10 -:104CB00035F0070EDBCFCBF0080ECBC0DBFF040EC8 -:104CC000DB50F36E080EDB50F35C18E0080E97EC37 -:104CD00034F0030EDBCFE7FFEF50E726030EE7CFFC -:104CE000DBFF080EDB2ADB50336E346AE850E7E165 -:104CF000010E3418E4E1080EDB6AE1D7030EDB1C79 -:104D0000010FE76E030EE7CFDBFF020EDB50F36E01 -:104D1000030EDB50F35C0BE1010EF36E060EF3CFD6 -:104D2000DBFF040E97EC34F00D0EEF6E17D0880EFB -:104D3000336E7D0ED1EC33F0030ED7EC34F052EC31 -:104D400036F06CEC43F0E55205D05F0E336E7D0E0D -:104D500082EC35F019EC36F0DBEC33F0060EDB506C -:104D600001E148D20001DEEC33F002EC35F0F3CF84 -:104D7000DAF0000105EC34F004E1010E341801E131 -:104D8000CB6BDA51DE6EDD6ADEEC33F02C0823E00B -:104D9000DEEC33F00D081FE0DEEC33F00A081BE018 -:104DA000DEEC33F002EC35F0F3CFDBF0000105EC84 -:104DB00034F004E1010E341801E1CB6BDAC036F0B7 -:104DC000356ADB5100013524336E000E3620346E17 -:104DD00033C0DEFFDD6E000EDFCF2BF0010EDBCF28 -:104DE0002CF0550E2B1802E1510E2C1801E1D2D1F6 -:104DF0004D0E2B1802E1480E2C1801E1C8D1520EBD -:104E00002B1802E1530E2C1801E1BED1520E2B18C3 -:104E100002E1510E2C1801E1B4D1420E2B1802E12F -:104E2000520E2C1801E1AAD1540E2B1802E1510E9A -:104E30002C1801E1A0D1540E2B1802E1530E2C18AE -:104E400001E196D1530E2B1802E1430E2C1801E11B -:104E50008CD1530E2B1802E1510E2C1801E182D196 -:104E60004D0E2B1802E1580E2C1801E178D1530E8B -:104E70002B1802E1450E2C1801E16ED1430E2B18C0 -:104E800002E1410E2C1801E164D14D0E2B1802E114 -:104E9000510E2C1801E15AD1320E2B1802E1530E9B -:104EA0002C1801E150D1450E2B1802E1530E2C189D -:104EB00001E146D1470E2B1802E1510E2C1801E1F9 -:104EC0003CD1430E2B1802E1510E2C1801E132D1D6 -:104ED0004B0E2B1802E1430E2C1801E128D14C0E89 -:104EE0002B1802E1420E2C1801E11ED1440E2B18A2 -:104EF00002E14E0E2C1801E114D1490E2B1802E1EB -:104F00004E0E2C1801E10AD1420E2B1802E1510E6F -:104F10002C1801E100D14C0E2B1802E1510E2C1877 -:104F200001E1F6D04C0E2B1802E1530E2C1801E1D2 -:104F3000ECD04E0E2B1802E1510E2C1801E1E2D0FC -:104F40004E0E2B1802E1530E2C1801E1D8D0430E5F -:104F50002B1802E1530E2C1801E1CED04D0E2B1868 -:104F600002E1450E2C1801E1C4D0450E2B1802E1D8 -:104F7000510E2C1801E1BAD0500E2B1802E1510E3F -:104F80002C1801E1B0D0500E2B1802E1540E2C1851 -:104F900001E1A6D0500E2B1802E1530E2C1801E1AE -:104FA0009CD04D0E2B1802E1530E2C1801E192D02B -:104FB000570E2B1802E14D0E2C1801E188D0520E2D -:104FC0002B1802E14D0E2C1801E17ED0440E2B1857 -:104FD00002E1500E2C1875E04F0E2B1802E1500E16 -:104FE0002C186CE0490E2B1802E1500E2C1863E0CF -:104FF000410E2B1801E12C505BE0560E2B1801E1FD -:105000002C5053E0490E2B1801E12C504BE04F0E71 -:105010002B1801E12C5043E0550E2B1802E1430EF2 -:105020002C183BE0430E2B1801E12C5034E0520EBB -:105030002B1801E12C502DE04D0E2B1802E14C0EE7 -:105040002C1824E0330E2B1802E1540E2C181BE010 -:10505000330E2B1802E14C0E2C1812E0540E2B18B4 -:1050600002E14C0E2C1809E00001DB5101E094D064 -:10507000AFEC35F0B5EC35F0A3D0D2EC0FF0A8D002 -:1050800077EC0FF0A5D0B2EC0FF0A2D048EC0FF007 -:105090009FD0FBD89DD0EDDB9BD0FED899D0E9EC1A -:1050A0002CF096D01FEC2DF093D035EC2DF090D055 -:1050B0003CEC2DF08DD074EC2EF08AD0E9EC2EF083 -:1050C00087D0D8EC2DF084D0B9EC2DF081D09EECB7 -:1050D0002DF07ED0E5EC11F07BD08CEC17F078D081 -:1050E00068EC17F075D0EAEC16F072D003EC17F00C -:1050F0006FD001EC18F06CD085EC0EF069D061EC4B -:1051000018F066D07FEC18F063D091EC18F060D006 -:10511000ADEC18F05DD0CFEC18F05AD03FEC18F0A1 -:1051200057D052EC18F054D09DEC2FF051D0EFEC4A -:105130002FF04ED0E3EC18F04BD0FAEC18F048D03A -:105140002CEC19F045D0B5EC3FF042D014EC1AF03D -:105150003FD0CFEC2CF03CD09DEC16F039D04EEC8B -:1051600014F036D054EC1AF033D08CEC1AF030D066 -:10517000CDEC30F02DD003EC31F02AD0A5EC2FF09F -:1051800027D0ACEC2FF024D0BCEC2FF021D07CEC5D -:1051900012F01ED0FFDA1CD0AFEC35F0DBC0E6FF1A -:1051A000E3DCE552B5EC35F001EC36F0DAC0E6FFB1 -:1051B00035EC35F0C9EC35F0020EE66EDBC033F0AD -:1051C000346AF6EC33F0270E00EC34F0DBEC33F00D -:1051D0000001DEEC33F00D080DE097510BE1520EAB -:1051E000336E346ADF50331803E1DE52DD50341879 -:1051F00001E0978FCAC0CBF0090EE15C02E2E16AE0 -:10520000E552E16EF2EF33F08BEC35F02C0EDF6EF1 -:10521000010E0B01841503E1FE0EDB5010E0E3EC00 -:1052200034F00001DB5104E0DBC0E6FF9DDCE55219 -:10523000FD0EDB5004E0DFCFE6FF96DCE552E552E1 -:10524000F2EF33F0EDEC33F00B0184A104D0430E08 -:10525000336E7D0E16D00001D05108E0FE0EDB50FB -:1052600005E1400E336E7D0ED1EC33F0FE0EDB50C7 -:10527000020804E13D0E336E7D0E03D03A0E336E0C -:105280007D0ED1EC33F0F2EF33F032EC36F026EC59 -:1052900034F099DCD6EF23F0D9CFE6FFE1CFD9FF88 -:1052A000030EE126E66AE66AAFDFE552E552E66AFA -:1052B000D9CFE6FFDACFE6FF010EE66E5EEC31F005 -:1052C000E552E552E552E552E66AD950010FE66E25 -:1052D000000EDA20E66E020EE66E5EEC31F0E5526C -:1052E000E552E552E5520001975101E049D2DF0451 -:1052F0001AE1D950010FE96EDACFEAFFEE50ED1056 -:105300000BE0010E336E346A010EDB50331803E1FB -:10531000020EDB50341804E1010EDBCFD0F002D0D6 -:105320000001978D2AD2020E336EDF50335C1AE1F2 -:10533000D950010FE96EDACFEAFFEE50ED100BE025 -:10534000010E336E346A010EDB50331803E1020E96 -:10535000DB50341804E1010EDBCF83FB02D00001E7 -:10536000978D0BD2030E336EDF50335C1CE1D950A6 -:10537000010FE96EDACFEAFFEE50ED1003E106907F -:105380008C9410D0010E336E346A010EDB5033184A -:1053900003E1020EDB50341803E106808C9402D046 -:1053A0000001978DEAD1040E336EDF50335C1DE1AE -:1053B000010EDBCF33F0020EDBCF34F0343404E2E5 -:1053C00033501C08000E345407E21C0EF36E010E1D -:1053D000F3CFDBFF020EDB6ACFEC19F0000901E02E -:1053E000FBD7010EDB50186EC8D10A0E336EDF50AA -:1053F000335C1CE1D950010FE96EDACFEAFFEE50C1 -:10540000ED1003E10B01849110D0010E336E346A6C -:10541000010EDB50331803E1020EDB50341803E1B8 -:105420000B01848102D00001978DA7D1320E336E1B -:10543000DF50335C0FE1D950010FE96EDACFEAFF9C -:10544000EE50ED1003E10001D96B03D00001010E15 -:10545000D96F93D1330E336EDF50335C11E1FF0E01 -:10546000E76E010EDBCF33F0020EDBCF34F0E750F6 -:105470003316346A33500C6E0C5001E10E907DD11E -:10548000340E336EDF50335C0EE1FF0EE76E010E1B -:10549000DBCF33F0020EDBCF34F0E7503316346A43 -:1054A00033500D6E6AD1350E336EDF50335C14E12C -:1054B000010E336E346A010EDB50331803E1020E25 -:1054C000DB50341804E10001010EDD6F04D000014F -:1054D000DD6B0001DE6B51D1360E336EDF50335C75 -:1054E00012E1010E336E346A010EDB50331803E112 -:1054F000020EDB50341804E10001010EDF6F02D010 -:105500000001DF6B3AD13C0E336EDF50335C0DE1AE -:10551000010EDBCFA5F0020EDBCFA6F0FF0E0001DF -:10552000A517030E0001A61728D13D0E336EDF50DC -:10553000335C37E1F29EF29C010EDBCFA9F0020E44 -:10554000DBCFAAF00001A951AA1109E10001A86B63 -:105550000001AB6BAC6B0001AD6BAE6B1FD00001FB -:10556000A851030A14E0020A0FE0010A0DE0020A42 -:1055700001E00AD0A9C0ADF0AAC0AEF00001E80E6B -:10558000AB6F030EAC6F0AD00001010EA86F0001D3 -:10559000AB6BAC6B0001AD6BAE6B00D0F28CF28EDE -:1055A000ECD0FA0E336EDF50335C1FE1D950010F9F -:1055B000E96EDACFEAFFEE50ED1002E1099214D065 -:1055C000010E336E346A010EDB50331803E1020E14 -:1055D000DB50341807E1098295929590929294904D -:1055E000929A02D00001978DC8D0FB0E336EDF5027 -:1055F000335C26E1D950010FE96EDACFEAFFEE50B5 -:10560000ED1003E1099609941AD0010E336E346A45 -:10561000010EDB50331803E1020EDB5034180DE1AC -:1056200009840996020EE66EE66A1C0EE66E2DEC03 -:1056300047F0E552E552E55202D00001978D9DD02A -:10564000FC0E336EDF50335C26E1D950010FE96E5A -:10565000DACFEAFFEE50ED1003E1099609941AD073 -:10566000010E336E346A010EDB50331803E1020E73 -:10567000DB5034180DE109860984020EE66EE66AF5 -:105680001C0EE66E2DEC47F0E552E552E55202D0D5 -:105690000001978D72D0FD0E336EDF50335C24E134 -:1056A000D950010FE96EDACFEAFFEE50ED1002E1BA -:1056B000099819D0010E336E346A010EDB5033188D -:1056C00003E1020EDB5034180CE10988020EE66E8D -:1056D000E66A1C0EE66E2DEC47F0E552E552E55207 -:1056E00002D00001978D49D0FE0E336EDF50335C3F -:1056F0001AE109829592959092928C908C808C9070 -:105700008C808C908C808C908C808C908C808C90F9 -:105710008C808C908C808C908C808C908C808C90E9 -:105720008C80EBD72AD03368DF50335C24E1D9502A -:10573000010FE96EDACFEAFFEE50ED1002E1099AAF -:1057400019D0010E336E346A010EDB50331803E1B9 -:10575000020EDB5034180CE1098A020EE66EE66A8E -:105760001C0EE66E2DEC47F0E552E552E55202D0F4 -:105770000001978D02D00001978DE66A63DDE55246 -:10578000030EE15C02E2E16AE552E16EE552E7CF29 -:10579000D9FF12008BEC35F09EEC35F0010ED7EC02 -:1057A00033F00001975162E1DF0408E128EC35F0A5 -:1057B000020EE66EDCC033F0346A20D0020E3FECFD -:1057C00034F008E128EC35F01C0EE66EE66AE66A75 -:1057D000E66A44D0030E3FEC34F006E128EC35F0E5 -:1057E000185058EC34F038D0040E3FEC34F009E196 -:1057F000A3EC23F028EC35F009EC35F0F6EC33F0AF -:105800002FD0050E3FEC34F00EE128EC35F009EC1A -:1058100035F0F6EC33F0DBEC33F0F29C0001E06B9A -:10582000E16BF28C21D03C0E3FEC34F007E128EC28 -:1058300035F0A5C033F0A6C034F00AD03D0E3FECE1 -:1058400034F011E128EC35F0A9C033F0AAC034F0EF -:10585000356A366A33C0E6FF35EC35F036EC36F0A3 -:10586000DBEC33F001D0978D26EC34F0E552F2EF0B -:1058700033F0EDEC33F0050E3CEC35F0010E05ECA9 -:1058800036F009EC36F0E66AD950030F2DEC35F00E -:10589000E66AD950040F44EC36F010E1DF50926E06 -:1058A000010EDB50936E020EDB50946E030EDB5044 -:1058B000956E040EDB50966E26EC34F0050EE15C1E -:1058C00002E2E16AE552E16EF2EF33F0EDEC33F023 -:1058D000FE0EDB50100805E2100EF36EFE0EF3CF45 -:1058E000DBFFFD0EDB502BE0FE0EDB5085EC48F0BD -:1058F000F3500001A113F450A213080EF36EFE0E34 -:10590000C1EC34F00DE2010EF36EFE0EDB5003E04D -:1059100018EC34F0FDE1F350F31C0F0148173DD0B3 -:10592000FE0EDB500C0839E310EC35F004E0E846DD -:10593000FE0B3306FCE1E81C0F0149172ED0FE0ECA -:10594000DB5085EC48F0F3CF33F0F4CF34F0331E66 -:10595000341E33500001A1173450A217080EF36E05 -:10596000FE0EC1EC34F00CE2010EF36EFE0EDB50C5 -:1059700003E018EC34F0FDE1F3500F0148130DD0B3 -:10598000FE0EDB500C0809E310EC35F004E0E846AD -:10599000FE0B3306FCE10F014913F2EF33F048EC44 -:1059A00036F005EC36F0010F44EC36F00AE1010E5A -:1059B000DBCFE6FFDFCFE6FF89DFE552E55226ECDD -:1059C00034F0020EE15C02E2E16AE552E16EF2EFD0 -:1059D00033F048EC36F0D7EC33F073EC34F027E1D9 -:1059E000010EDB5002E1DF50896E51EC35F01FE112 -:1059F000010EDB5002E1DF508A6E51EC35F017E109 -:105A0000010EDB5002E1DF508B6E51EC35F00FE1FF -:105A1000010EDB5002E1DF508C6E51EC35F007E1F6 -:105A2000010EDB5002E1DF508D6E26EC34F0020EE9 -:105A3000E15C02E2E16AE552E16EF2EF33F0010E61 -:105A4000E66EE66E6BEC35F0805056EC35F081502A -:105A500056EC35F0825056EC35F0835056EC35F06C -:105A600084503AEC36F0DBEF33F0B2EC34F07E0EDB -:105A7000336E8C0E5AEF35F026EC36F0DF6A010EED -:105A8000F36EDB6E020EDB6AE66A010EE66E6BEC0D -:105A900035F09DBCFED7DF6ADFCF33F0100EE76E26 -:105AA0003318E8AE02D0E73402D0E750335C3BE273 -:105AB000010EDB500001A1150001336E020EDB5018 -:105AC0000001A2150001346E335034101FE02C0E7B -:105AD00000EC34F022EC34F033AE03D03468356897 -:105AE00036682AEC36F03A0E00EC34F0DFCFE9FFEE -:105AF000EA6AE9BEEA687BEC35F0EA22EECF33F0E1 -:105B0000EFCF34F0356A366A2AEC36F0F4EC34F034 -:105B1000D89033363436010E33C0DBFF020E34C06A -:105B2000DBFFDF2AB9D7020EEEEC35F0030EE15CA5 -:105B300002E2E16AE552E16EF2EF33F022EC36F078 -:105B4000030E05EC36F0020F44EC36F00AE1D0EC1F -:105B500035F005E2BCEC34F0020EDBCFEFFF26ECB3 -:105B600034F0030EE15C02E2E16AE552E16EF2EF2D -:105B700033F026EC36F09EEC35F0030ED7EC33F024 -:105B8000000197510DE1D0EC35F005E2BCEC34F0AA -:105B9000020EEFCFDBFF020ED7EC34F041EC35F014 -:105BA000030EE15C02E2E16AE552E16EF2EF33F0EE -:105BB0003DEC36F001E090D0020EDB50010801E22E -:105BC00087D0010EDB50070801E282D0410E3FEC86 -:105BD00034F016E1020EDB500AE12BEC34F003E066 -:105BE00018EC34F0FDE1F350F31C921673D02BEC5B -:105BF00034F003E018EC34F0FDE1F35092126AD077 -:105C0000420E3FEC34F016E1020EDB500AE12BECC1 -:105C100034F003E018EC34F0FDE1F350F31C93167C -:105C200059D02BEC34F003E018EC34F0FDE1F350E4 -:105C3000931250D0430E3FEC34F016E1020EDB50CD -:105C40000AE12BEC34F003E018EC34F0FDE1F35002 -:105C5000F31C94163FD02BEC34F003E018EC34F036 -:105C6000FDE1F350941236D0440E3FEC34F016E1CF -:105C7000020EDB500AE12BEC34F003E018EC34F0B8 -:105C8000FDE1F350F31C951625D02BEC34F003E026 -:105C900018EC34F0FDE1F35095121CD0450E3FECAA -:105CA00034F016E1020EDB500AE12BEC34F003E095 -:105CB00018EC34F0FDE1F350F31C96160BD02BECEE -:105CC00034F003E018EC34F0FDE1F350961202D00A -:105CD000978D02D026EC34F0030EE15C02E2E16A1B -:105CE000E552E16EF2EF33F026EC36F0020EDB6A9D -:105CF0009EEC35F0050E05EC36F0010F44EC36F065 -:105D000060E1010EDB50070850E3410E3FEC34F038 -:105D10000AE12BEC34F003E018EC34F0FDE1F35031 -:105D2000801439E029D0420E3FEC34F00AE12BEC2C -:105D300034F003E018EC34F0FDE1F35081141CE181 -:105D40002AD0430E3FEC34F00AE12BEC34F003E0B0 -:105D500018EC34F0FDE1F35082140EE11CD0440E37 -:105D60003FEC34F00BE12BEC34F003E018EC34F0B2 -:105D7000FDE1F35083140FE0010E10D0450E3FEC0F -:105D800034F013E12BEC34F003E018EC34F0FDE1D7 -:105D9000F350841402E1000E01D0010EE76E020EF2 -:105DA000E7CFDBFFDB5008E002D0978D0AD0010E71 -:105DB000F36E020EF3CFDBFF020ED7EC34F041ECB2 -:105DC00035F0030EE15C02E2E16AE552E16EF2EFCA -:105DD00033F03DEC36F001E090D0020EDB500108CC -:105DE00001E287D0010EDB50070801E282D0410EAC -:105DF0003FEC34F016E1020EDB500AE12BEC34F0FC -:105E000003E018EC34F0FDE1F350F31C891673D075 -:105E10002BEC34F003E018EC34F0FDE1F350891280 -:105E20006AD0420E3FEC34F016E1020EDB500AE17C -:105E30002BEC34F003E018EC34F0FDE1F350F31CEC -:105E40008A1659D02BEC34F003E018EC34F0FDE165 -:105E5000F3508A1250D0430E3FEC34F016E1020E9C -:105E6000DB500AE12BEC34F003E018EC34F0FDE1F8 -:105E7000F350F31C8B163FD02BEC34F003E018ECFE -:105E800034F0FDE1F3508B1236D0440E3FEC34F089 -:105E900016E1020EDB500AE12BEC34F003E018ECC3 -:105EA00034F0FDE1F350F31C8C1625D02BEC34F0CC -:105EB00003E018EC34F0FDE1F3508C121CD0450ED9 -:105EC0003FEC34F016E1020EDB500AE12BEC34F02B -:105ED00003E018EC34F0FDE1F350F31C8D160BD009 -:105EE0002BEC34F003E018EC34F0FDE1F3508D12AC -:105EF00002D0978D02D026EC34F0030EE15C02E272 -:105F0000E16AE552E16EF2EF33F0D9CFE6FFE1CF7F -:105F1000D9FFE652DF6AFF0EDF5C0AE2E868E8506C -:105F200005E0E80600D000D000D0F9D7DF2AF3D78B -:105F3000E552E552E7CFD9FF1200F29EF29C65923E -:105F4000656AE3DF0FEF00F01200F29EF29C6592AB -:105F5000656ADBDFFF001200B2EC34F08050080B02 -:105F600001E0010E3AEC36F00B0184B103D0020ED1 -:105F7000EEEC35F026EF34F0EDEC33F0060E3CECB1 -:105F800035F0070ED7EC33F0010EE66ED950040F52 -:105F90002DEC35F0E76E050EE7CFDBFF00019751E2 -:105FA00016E1DFCFD5F0010EDBCFD6F0020EDBCF4E -:105FB000D7F0030EDBCFD8F0050EDB5006E1040E60 -:105FC000DB5002E0898601D0899626EC34F0060E7B -:105FD000E15C02E2E16AE552E16EF2EF33F0EDECF2 -:105FE00033F0100EE12632EC36F0E5DBE66AD950EC -:105FF000010FFBEC33F0E66A61D95DEC35F0E66A3F -:10600000F3EC35F0010E05EC36F0040FFBEC33F049 -:10601000020E05EC36F0020FEEDB030E05EC36F057 -:106020000A0FE9DB060E05EC36F0060FE4DB070E7F -:1060300005EC36F00E0FDFDB040E05EC36F00F0F2B -:10604000DADB050EB4DB320E336E7D0EAADB010EF9 -:10605000D7EC34F033AE03D034683568366816ECCC -:1060600036F02A0E336E7D0E9CDBECDB41EC35F016 -:10607000220E336E7D0E95DB040EDBCF33F0050E62 -:10608000DBCF34F0356A366A34AE02D03568366814 -:1060900016EC36F01A0E336E7D0E83DB020EDBCF6C -:1060A00033F0030EDBCF34F0356A366A41EC35F05D -:1060B000120E336E7D0E75DBD9500A0FADDB4DEC41 -:1060C00036F0A3EC35F0D950060FA6DB36EC36F0EF -:1060D00072DB020E336E7D0E64DB0E0EBCEC35F00F -:1060E000FA0E336E7C0E5DDB0F0EBCEC35F0A3ECCC -:1060F00035F0080EE66E70EC35F0A3EC35F0E66A8C -:1061000070EC35F0A3DB100EE15C02E2E16AE552CF -:10611000E16E68D38BEC35F0DF6A110EDF5C04E2D0 -:10612000B7DBEF6ADF2AF9D7D6EC35F0DF6A100E5D -:10613000DF5C21E2ADDBEF5080081DE3A9DBEFCF90 -:1061400033F0200E335C17E3A3DBEF50E66E180E3E -:106150000201346AFA25336EFB51CBEC34F098DB44 -:10616000EF50E66E020E346AFC25336EFD51CBEC27 -:1061700034F0DF2ADCD7DF50E824180FFAC2E9FF39 -:10618000FBC2EAFFEF6EDF50E824020FFCC2E9FF1A -:10619000FDC2EAFFEF6EE55225D32EEC36F0DF6A42 -:1061A00032EC36F0010EDB6A110EF36E010EE9DB04 -:1061B0000BE2010EDB50EA6AE80FE96E000EEA22FC -:1061C000EF6A010EDB2AF0D7100EE66EF8EC35F020 -:1061D0003AD819EC36F0DF6EE668FB0EE66EE66A3A -:1061E000DBEC35F0C3EC45F0EFEC34F04CDB2DECA0 -:1061F00044F0EFEC34F02ADB020EE15C02E2E16AEB -:10620000E552E16EEFD28BEC35F0ACDBDF6A110EBC -:10621000DF5C04E23DDBEF6ADF2AF9D7D6EC35F02C -:10622000800E0001E85D09E2E851200806E2F8EC82 -:1062300035F026EC43F0E552E5520B0184A1BBDAC0 -:1062400005DBE552CFD28BEC35F0DF6A53DBEF6A2A -:10625000E2EC35F002E1978905D0B0DA2C0804E0D1 -:1062600044EC35F0000E28D0D0DA04E1010E3418E9 -:1062700001E1CB6B0D0EFDEC35F009E02C0E346E18 -:106280009DDA345C04E0FC0EDB50DF5C02E3DF509F -:1062900013D094DAE66E2EDBE552E750EF6EB5DAF6 -:1062A00004E1010E341801E1CB6BDF2AFD0EDB2A7D -:1062B000FE0EE0E3DB2ADED7E55294D28EDA090E39 -:1062C000E126080EDB6AE2EC35F005E1FB0EDB505F -:1062D00019E1978917D072DA2C0806E0FB0EDB5023 -:1062E00001E1D2DB020E1AD190DA04E1010E34187A -:1062F00001E1CB6B0D0EFDEC35F006E1FB0EDB5042 -:1063000001E19789030E0AD12D0EFDEC35F020E155 -:10631000040E54DB1DE0050E356EFE0EDB50355CC1 -:1063200017E0FE0EDB0401E1C0D0030E2FDB01E11C -:10633000BCD0070E43DB01E1B8D0010EF36E080EAE -:10634000F3CFDBFF62DA04E1010E341801E1CB6B1D -:10635000040E1CDB09E0050E31DB06E00A0EF1DA63 -:10636000E6D819EC36F031D0CB51AFDBEFCF33F0BC -:10637000000E33C0DFFF3FDB050E08DB1FE1000E20 -:10638000DFCFE6FF010EDBCFE6FF53EC48F0E5522E -:10639000E552F3CF33F0F4CF34F0356A366A34AED9 -:1063A00002D03568366833C0DFFF010E34C0DBFF32 -:1063B000020E35C0DBFF030E36C0DBFF000125DA1D -:1063C00004E1010E341801E1CB6B080EDB5040E014 -:1063D000FE0EDB5006E14DDA800E6EDA000EEE5452 -:1063E00012E3020ED3DA06E144DA000EEE54800E18 -:1063F00063DA09E3060EE2DA08E13BDA000E5CDA62 -:10640000800EEE5402E2000150D07BDA080EDB5021 -:1064100053E0040EDBCF29F0050EDBCF2AF0060E89 -:10642000DBCF2BF0070EDBCF2CF02E682F68306807 -:10643000316866EC47F0040E25C0DBFF050E26C070 -:10644000DBFF060E27C0DBFF070E28C0DBFF34D0C2 -:10645000FE0EDB5006E10DDA7F0EEE54000E2CDA54 -:1064600023E3FE0EDB0404E173DB000E25DA1CE3FC -:10647000020E8CDA04E16CDB7F0E1EDA15E3030EEC -:106480009DDA04E165DBFF0E17DA0EE3060E356ECA -:10649000FE0EDB50355C0CE15BDBFF0EEE54FF0EB5 -:1064A000EE547F0EEE5404E20001978D010E36D0BB -:1064B000070E6CDA01E025DAFE0EDB50070A21E058 -:1064C000010A17E0050A11E0010A0FE0030A08E0DB -:1064D000050A06E0010A04E0050A02E0040E1ED0E7 -:1064E00029DA040EDBCFEFFF18D072DBDBCFEDFF34 -:1064F00014D06EDBDBCFEEFF060EDBCFEEFF070E18 -:106500000AD018DADFCFEEFF010EDBCFEEFF020E6E -:10651000DBCFEEFF030EDBCFEEFF000E336E090E76 -:10652000E15C02E2E16AE552E16E33505BD196DB59 -:10653000E1D9EE6AEE6AEE6AEE6A010EDB6AFC0EE3 -:10654000DB50F36E010E1DDA4FE20001CB51BDDAD4 -:10655000EFCFDFFF300EDF5C42E3DF5039083FE36F -:10656000C9D9EECF33F0EECF34F0EECF35F0EFCF28 -:1065700036F00A0E2E6E2F6A306A316A33C029F067 -:1065800034C02AF035C02BF036C02CF066EC47F052 -:1065900025C033F026C034F027C035F028C036F0CF -:1065A000300EDF5C376E386A396A3A6AE850332653 -:1065B00038503422395035223A5036229BD933C0D4 -:1065C000EEFF34C0EEFF35C0EEFF36C0EEFF000137 -:1065D0001CD907E1010E341804E1CB6B02D0000E88 -:1065E00004D0010EDB2AABD7010E336E020EE15C44 -:1065F00002E2E16AE552E16E3350F4D0D00E336E20 -:106600007C0ECFD891C033F0FCDA41EF35F00101B8 -:10661000C35108E0010E336E6550020B01E0010E1C -:10662000335C17E1D6D90BE1FB51FC1111E18C86EB -:10663000A00EFB6F0F0EFC6F010EFD6F1200FB51E1 -:10664000FC1152E18C96A00EFB6F0F0EFC6FFD6BE0 -:106650001200C30509E0020EC35D06E0040EC35D2F -:1066600003E0100EC35D17E1B4D90BE1FB51FC113F -:1066700011E18C86200EFB6F4E0EFC6F010EFD6F3C -:106680001200FB51FC1130E18C96200EFB6F4E0E78 -:10669000FC6FFD6B1200200EC35D26E19AD907E165 -:1066A000FB51FC1121E18C86CED9010E15D0FD05E0 -:1066B00007E1FB51FC1118E18C96C5D9020E0CD0F4 -:1066C000020EFD5D0BE1FB51FC110EE18C86A00E6C -:1066D000FB6F860EFC6F030EFD6F1200FB51FC1169 -:1066E00003E18C96B0D9FD6B120077D8A0D9E8AE43 -:1066F00002D0333403D0E750D880335423E3FD0E67 -:10670000DB5010E00FD9F6BEF768A9D804E0E846E0 -:10671000FE0B3406FCE1336E05D9F6BEF768FED9F0 -:10672000EF1210D0FFD8F6BEF76899D804E0E8461B -:10673000FE0B3406FCE1E81C336EF4D8F6BEF768B5 -:10674000EDD9EF164FD049D872D9E8AE02D0333424 -:1067500003D0E750D880335423E3FD0EDB5011E122 -:10676000E1D8F6BEF7687BD804E0E846FE0B3406B5 -:10677000FCE1E81C336ED6D8F6BEF768D7D9EF1621 -:106780000FD0D0D8F6BEF7686AD804E0E846FE0B12 -:106790003406FCE1336EC6D8F6BEF768C7D9EF12EF -:1067A00021D0B0D919EF36F060D936EF36F0E66E69 -:1067B00085DD5DEF35F0010EEEEF35F0CB5185D97B -:1067C000EF50120088D9E66AF3EF35F07D51E96E9B -:1067D000EA6AD890E936EA361200D9CFE6FFE1CF6F -:1067E000D9FF1200E552E7CFD9FF1200356A366AA9 -:1067F00059DAC9EF35F0E66E000EDA20E66E1200C7 -:10680000E66EB4EC25F0E5521200CB2BCB51336E83 -:10681000346A000E33181200E96EDACFEAFFEECFC9 -:10682000E6FFEECFE6FFEECFE6FFEFCFE6FF12008A -:10683000D890F336E8061200EA22EECF3BF0EFCF15 -:106840003CF01200DFCF33F001EF36F0E66A22ECC5 -:1068500029F0E5521200010EF36EDB501200110E0A -:10686000F6268D0EF7220800F550346E010E3452D4 -:106870001200D9CFE9FFDACFEAFFD8801200336ED9 -:10688000DF50335C1200B4D9100EE66EDBEF35F04A -:10689000DF50EA6AE80FE96E000EEA221200F722E2 -:1068A0000900F5CFE9FF0800F5CFEAFF33501200E9 -:1068B000336EA7D9E66E1200EE54000EEE54000EB1 -:1068C000EE541200DF6EDFCFE6FFC951346A000FCD -:1068D000336E020E342233C0E6FF34C0E6FFFEEC16 -:1068E00041F019EF36F0E76E010EE7CFDBFF000154 -:1068F00097511200FD0EDBCFE9FFFE0EDBCFEAFF62 -:106900001200D9CFE9FFDACFEAFF040EEECFDBFFAA -:10691000050EEECFDBFF060EEECFDBFF070EEECF50 -:10692000DBFF1200FE0EDBCFF6FFF76A1200DB5032 -:1069300065EF35F0FC0EDBCFE9FFFD0EDBCFEAFFA4 -:106940001200E66EF3EF35F07D51EA6A690FE96EE9 -:10695000000EEA22EF500001EA6A8025E96E8151BB -:10696000EA221200010EE66EE66A6BEF35F0DECF2A -:1069700033F0DDCF34F01200DECFE9FFDDCFEAFFE8 -:106980001200DBCFF4FFF350F45C1200336EFE0E06 -:10699000DB50335C12003422DF50E8243324E96EEC -:1069A000000E3420EA6EE552E750EF6E1200DBCFA6 -:1069B00033F001EF36F0CA5165EF35F0346EFE0E5C -:1069C000DB50345C1200DAC0E6FFB4EC25F0E5528F -:1069D00012000101FB07000EFC5BFD511200336E3B -:1069E000080EE15E33501200010EDBCF33F0020ED1 -:1069F000DBCF34F01200010EDB6A020EDB6A030EFD -:106A0000DB6A1200E66EE66A53EC48F0E552E552A6 -:106A10001200030EE66EE0C033F0E1C034F0120065 -:106A2000FE0EDB50F80F336E010E33521200FE0ED5 -:106A3000DBCF33F0190EE76E33181200EA22EF6A4B -:106A4000DF2A010E1200100EFB6F270EFC6F1200E2 -:106A5000F9DE00D92C0E00EF34F0CDDE010ED7EFB9 -:106A600033F0EADEEAD8EA22120034C0E6FF35C08D -:106A7000E6FF36C0E6FF1200E126E66AE66AE2EFCC -:106A800033F0E8D8DBEF33F0D80E336E7C0E89DEBE -:106A9000000194DEB5DE270EB3DE8DDE0001978B9C -:106AA0001200010E4EDF83DE73EF34F0E3D82C0EBC -:106AB00000EF34F076DEDBEF33F0BBD8E5521200A6 -:106AC00085DE750EE926000E1200EA6A000FE96EF7 -:106AD000030EEA22120004EC29F0E552E5521200FE -:106AE000D950060F99DE32EC43F0336E050EE15EAD -:106AF0003350DBEF33F0D890E936EA36000EE92662 -:106B0000010E1200346E356A33C0E6FFE66E35C002 -:106B1000E6FF15EF43F061DEE6521200D890F6363C -:106B2000F736DF0EF6268C0E4FEF34F0D890F6369F -:106B3000F736AD0EF6268C0E4FEF34F0010EE66EF2 -:106B4000E66EE2EF33F00A0E336E7D0ED1EF33F0D6 -:106B500090DEFF0EEE54120070D81CEF34F0450E9C -:106B6000336E7D0E1EDEE3EF34F03A0E49DE020E88 -:106B7000E66EDAC033F01200DBCFE6FFB4EC25F0AE -:106B8000E552DBEF33F0F3DE400E335C000E345899 -:106B9000120032EC43F0376E050EE15E3750120002 -:106BA000E6DE000E335C100E345812006CDEE4ECAE -:106BB00046F0EFEF34F0E66AE66AF80EE66EE66A53 -:106BC000E66A12000D0E336E0001F8DD335C120030 -:106BD000B1DE040EDBCFEEFF050E1200E66E22ECF6 -:106BE00029F0E5521200D9CFE6FFDACFE6FF120016 -:106BF000E80EE66E000EE66E1200336EDFDD335CEB -:106C00001200346A356A366A1200D1DDE66AD9505C -:106C10001200010F22DFE66AD950020F2DEF35F086 -:106C2000D5DD6D0EE926000E31EF35F03BD84DEF86 -:106C300036F0E552E552E5521200C8DD610EE92654 -:106C4000000E1200CADD030E3CEF35F0C6DD030E68 -:106C5000E126120033C0E6FFD4EF33F0BEDD020EB2 -:106C6000E1261200E66AE66A6BEF35F06CEC43F061 -:106C70005DEF35F01DDED4EF33F0E4DF050EC5DF48 -:106C8000C8DF000197511200E8DE000197511200A1 -:106C9000A4DD020EF1DE010E120088EC43F00DDFE0 -:0C6CA000DBEF33F033C0E6FF35EF35F0DA -:046CAC00C0EC3CF00C -:106CB000A098636A626A0F01266B9FEC3CF00F019B -:106CC0005EEC3CF0DF6ADF50336E346A0C0E335CEE -:106CD000000E345810E2DF50040DF3CFE9FFF4CF7B -:106CE000EAFF000EE926040EEA22EE6AEE6AEE6A78 -:106CF000EE6ADF2AE8D7658C0F01386B6598659CD2 -:106D000062A607D062960101DA6BDF6BE06BE16B84 -:106D1000F7D70101010EF36FF46FF56BF66BE76BBC -:106D2000DF6A030EDF5C11E2EA6ADF34C3EC3CF099 -:106D3000EA22EE6AED6AEA6ADF34CAEC3CF0EA2243 -:106D4000EE6AED6A1FEC3CF0ECD70101080ED06F43 -:106D5000040ED16F0F01160E266F0401300E026F64 -:106D6000040E036F400E016F840E006F0101C46BAF -:106D7000C36BE552F1EF3BF0C0EC3CF082BE06D0B5 -:106D8000656A0F01366B0101C36B6FD00101C351FE -:106D90000CE1656A0F01366B5EEC3CF065B602D023 -:106DA0006586FCD70101010EC36FC3050AE165BA10 -:106DB00008D0626A0F01366B368136890101020EF6 -:106DC000C36F6250040B06E00F013651040B02E062 -:106DD000629447DB65B249D06250010B09E00F01B4 -:106DE0003651010B05E062DF0101040EC36F6290B2 -:106DF0006250100B06E00F013651100B02E026DB4B -:106E0000629862AC10D00F0136AD05D065EC3CF055 -:106E1000730EDEEC3BF0629C0101F15101E0F107E1 -:106E2000F15101E1F4D86250200B05E00F01365119 -:106E3000200B01E0FADA6250020B0CE00F01365130 -:106E4000020B08E065EC3CF0E6687F0EE66ED1ECE4 -:106E50003CF0636A040E0101E76EC319E8AE02D08C -:106E6000E73402D0E750C35D02E2A1982FD00F01B2 -:106E700036A72BD0DF6A040EDF5C27E262A625D09E -:106E800064CFE8F10101E851780BE842E842E842BA -:106E9000E96F6296E8B504D0E951D8EC3CF003D034 -:106EA000E951DDEC3CF0EA22EF70E95102E1E6DA6B -:106EB0000AD0000EE66EE66AE80EE66E010EE66E99 -:106EC000720EDEEC3BF0DF2AD6D7A198E552F1EF47 -:106ED0003BF091EC3CF0FD0EDBA403D0E66A56ECEF -:106EE0003CF0FD0EDBA204D0010EE66E56EC3CF049 -:106EF000FE0EDB50346A260F336E0F0E50EC3CF062 -:106F0000E2EC3BF0FD0EDBCFEFFF020EE15C02E2B4 -:106F1000E16AE552E16EF1EF3BF091EC3CF0FD0EE1 -:106F2000DB5003E0D9EC3BF002D010EC3CF03CEC41 -:106F30003CF0D9CFE9FFDACFEAFFEE50ED1003E1E4 -:106F4000F36AF46A28D0E2EC3BF0ECEC3CF0FB0E88 -:106F5000DBCFEEFFFC0EDBCFEDFFE2EC3BF0EE52C1 -:106F6000FA0EDBCFEFFF400EE2EC3CF0880EF1ECC6 -:106F70003CF0FD0EDB5003E0D9EC3BF002D010EC0E -:106F80003CF0EA22EF74DECF33F0DDCF34F033C0D3 -:106F9000F3FF34C0F4FF020EE15C02E2E16AE55265 -:106FA000E16EF1EF3BF091EC3CF0FE0EDB5003E1C3 -:106FB000A8EC3CF009D015EC3CF07FEC3CF015EC73 -:106FC0003CF0010F7FEC3CF0020EE15C02E2E16A72 -:106FD000E552E16EF1EF3BF0ECEC3BF065A816D02A -:106FE000B9EC3CF0400EEE16EE6AEE6AEE6AB9ECD1 -:106FF0003CF0EE7CDEDBEA22EF74400E336EB9EC3F -:107000003CF03350EF16B9EC3CF0EF7CEAD30101D1 -:10701000F35122E1010EF36FF4511EE1010EF46F02 -:10702000020ED75D07E1D3DBEE52EF6AD0DBC80E6C -:10703000EF6E1200D70510E1EA6BDFDBEE52400E77 -:10704000EF6EDBDB8BEC3CF0D8DB840EEF6E010ED9 -:10705000EA6FABDB800EEF6E12000101F56BF66B91 -:10706000020ED75D06E1E6EC3CF0CCDB7AEC3CF0BE -:1070700010D0DB510401365D0101DC5104013759A8 -:1070800004E236C4DBF137C4DCF161D8A0DBBADB43 -:107090009EDBC80EEF6E120091EC3CF0000EDE6E2F -:1070A000040EDD6EC2DB040DF4CF34F0D9CFE9FF5E -:1070B000DACFEAFFF350EE263450ED2283DBEF9E69 -:1070C000FD0EDB5002E1ACDB01D073DBEA22DECF48 -:1070D000EEFFDDCFEDFF76DBEF9C74DB040EE926DF -:1070E000000EEA22EF8C020EE15C02E2E16AE55258 -:1070F000E16E77D365980101DABF0DD0DFAF09D01B -:10710000020ED76FF65101E1A8DF0101F46BF36BBA -:107110001200A8EF3CF0040130AF0DD00101010EC8 -:10712000D76FF55101E199DF0101F46BF36BF25177 -:107130000DE107EF38F00101020ED76F36DB840E48 -:10714000EF6EF46BF36BF25101E161DF1200C0EC02 -:107150003CF0400EDF6E0101DB5D000EDC590AE2FF -:10716000DBC1DFFFD65102E1010E03D0D60502E1FB -:10717000020ED66FDF50346AE850DB5DDB6F3450AF -:10718000DC59DC6F24DBEE52DFCFEFFF380EE46F0B -:10719000040EE56FDAB10DD0DF5017E0D8C1F6FF6D -:1071A000D9C1F7FFD82B000ED9230800F55057DBC3 -:1071B000F3D7DF500AE0D8C1E9FFD9C1EAFFD82BE5 -:1071C000000ED923EF504BDBF4D7E5520AD3A9DBED -:1071D00014DBEE52EFCFDFFFDFCF33F0335001018E -:1071E000E05D000EE15902E2E0C1DFFFDF50336EE7 -:1071F000346AE850E05DE06F3450E159E16F010E10 -:10720000DB6ADF50F36E010EDBCFF4FFF350F45C6A -:1072100016E2010EDB50EA6A380FE96E040EEA222C -:10722000EF50E66EDDC1E9FFDEC1EAFFDD2B000EA7 -:10723000DE23E552E750EF6E010EDB2AE2D7000EA7 -:10724000D880E055000EE1550DE2C0DBDBDAD5DA7F -:10725000EF50400B03E14EDBC80E02D04BDB880E33 -:10726000EF6E12D0A2DA840EEF6EE251E31107E066 -:1072700005D0E3C1FAFF0101E251F96EFADF010125 -:10728000DF9FF25101E1C3DE020EE15C02E2E16A3E -:10729000E552E16EA6D274DB0101DA8F50DB300ECD -:1072A000E66EE66AE66A000EE66E040EB1DA658CFA -:1072B000DF6A030EDF5C02E2C2DAFBD7010EE66E84 -:1072C000E66AE66AC50EE66E010EA2DA659C010169 -:1072D000080ED06F040ED16F000EC66F040EC76F7C -:1072E000C6C1C8F1C96F32C4C4F1C45102E1100E65 -:1072F0000BD0010EE66EE66AC40EE66E010EE66E77 -:10730000010E5CDA0101200EC36FE5526AD2800ED5 -:107310000401305D4EE10101C00EDA6F040133510A -:10732000030A25E0010A09E0030A41E10101A40E74 -:10733000D86F8F0ED96F120E34D03251F66EF76AB5 -:10734000D890F636F736F90EF6268F0EF72209009A -:10735000F5CFD8F10A00F5CFD9F1020E0101BCDA60 -:10736000F5CFDBF1030EB8DAF5CFDCF11200040E35 -:10737000325D1AE20101DA8104013251E96EEA6AF2 -:10738000D890E936EA36F60EE926020EEA22EECF6A -:10739000D8F1EDCFD9F1D8C1E9FFD9C1EAFFEF505B -:1073A0000101DB6FDC6B12000101DA6B12000101DD -:1073B000DA6B1200B6DA0401386B396B30511F0BEF -:1073C000020A11E0030A0CE0010A1EE10101DA8F52 -:1073D000040138810101E60517E10401388314D066 -:1073E0000101DA8F11D00101DA8F040134BF02D01C -:1073F000B6DA01D0B9DA40DABFDA06E0E3D9EF5005 -:10740000040B02E0010E386F0101DAAF07D0380E2D -:10741000D86F040ED96FDA81020EDB6F020EE15CC9 -:1074200002E2E16AE552E16EDCD10F0126A10CD047 -:10743000E4D9EF50800807E1CAD9EF50840803E18E -:10744000DCD98C0EEF6E2691629A12000F01368500 -:10745000629865820101010EE76F14DA750EDEEFA6 -:107460003BF00101E76B0EDA740EA8D965920F01AB -:10747000369562A402D06294FCD7120081DA010131 -:107480002D0EF16FFD0EE81539E17E0EE815E8408E -:107490007F0B040DF3CFC6F1F4CFC7F1000EC62762 -:1074A000040EC723C6C1C8F1C7C1C9F1C875A5D9A3 -:1074B000EF503C0BE842E8420D081EE1DF6A080E7F -:1074C000DF5C16E29AD9020EE926000EC2D9EF500F -:1074D000E66EDF50EA6A300FE96E040EEA22E552EA -:1074E000E750EF6E8AD978DAEE2AEF22DF2AE7D763 -:1074F00084D911DA0AD807D023D805D0FD0EE815B3 -:10750000040801E12CD8E5526CD10101D66BF26B75 -:10751000F56BF66BEA6BD76B5AD9EF9ED07557D9DE -:10752000EF9ED075E7D9EF9EDA6BDB6BDC6BDF6B20 -:10753000E06BE16B51D8A6D9030E40D97AEF38F051 -:10754000020E0101D75D02E1E7EF38F0D76BEA5197 -:1075500004E12BD98C0EEF6E1200EA6B120010DAE8 -:1075600036D9EF50400B01E0010EDF6E0101D075FE -:10757000080EC35D0BE132C438FF0F01385103E040 -:107580000101100E02D00101040EC36FD70513E1F3 -:107590001ED938D9DCDD020E0101D65D03E117D911 -:1075A000840E07D0DF5003E112D9C80E02D00FD9E4 -:1075B000880EEF6E0FD0DFAF0CD0E251E31107E081 -:1075C00005D0E3C1FAFF0101E251F96EFADF0101D2 -:1075D000DF9FD76BE55205D104013051600BE842C3 -:1075E000E842E842E842E842000901E01200315175 -:1075F0000C0A45E00B0A3FE00C0A31E0010A22E0E8 -:107600000B0A1EE0020A1CE0030A18E0080A10E058 -:10761000010A0CE00F0A08E0030A01E01200010170 -:10762000DA8F080EC36F120087EF39F04BEF39F095 -:107630000101C40ED86F010ED96F0CD0DAEF39F00A -:1076400040EF3BF034510101D86FD96BC50ED827FC -:10765000010ED923DA81010EDB6FDA8F12000101EE -:10766000DA8F04013451EA6AC50FE96E010EEA228D -:1076700032C4EFFF120006D9020EDEEF3BF012001B -:10768000ABD8050EE1260401320510E130511F0B85 -:1076900000090CE10101DA8F030E0401315D04E100 -:1076A0000101010EE66F02D00101E66B04013251C7 -:1076B00001E074D030511F0B020870E134510F0B00 -:1076C00000096CE034510F0B020868E3200E010141 -:1076D000C35D64E1DA8F040134BF04D040D9CCD853 -:1076E000D7D803D041D9C8D8D7D8EA22020EEFCFD5 -:1076F000DBFFF9D8010B03E1000EDF9401D0DF843A -:1077000034BF02D02CD901D02FD9EA22DECFEEFF30 -:10771000DDCFEDFF030E315D0CE12ED907E034BF64 -:1077200002D0B6D801D0B8D8EA22EF82840E59D957 -:1077300035D0DF7421D906E045D8EF9E43D8EF8CD1 -:10774000F4D802D03FD8EF8CDF74CDD8020B02E121 -:1077500013D90DE0040134BF02D09AD801D09CD8CF -:10776000EA22EF923B0E336E2DD9DFD802D03B0ECA -:1077700029D9040134510F0B346A260F336E0F0ED2 -:107780003422030E33C0DBFF040E34C0DBFF030ED4 -:10779000DBCFE9FF040EDBCFEAFFEF90050EE15CE3 -:1077A00002E2E16AE552E16E1CD010D9B4D87AEF5A -:1077B0003CF0FE0EEA6ADB34C3EF3CF0E66EE66AAC -:1077C000D1EF3CF0DECFE9FFDDCFEAFF1200D0C100 -:1077D000E9FFD1C1EAFF1200D9CFE6FFE1CFD9FF1F -:1077E0001200E552E7CFD9FF120034510F0BE96EBA -:1077F000EA6AD890E936EA361200C6C1E9FFC7C185 -:10780000EAFF1200E9D8380EEE6E040EED6E12009B -:10781000E66E22EC48F0336E050EE15E3350120046 -:10782000FE0EEA6ADB34CAEF3CF0FD0EDB50E824C2 -:10783000356EFE0EDB50040DF35035241200DF5080 -:10784000BCD8EA22EF6ADF50B3D8EA22EF6ADF2A17 -:107850001200EA22EE50EFCFEAFFE96E1200E66E68 -:10786000E4C1E9FFE5C1EAFFE42B000EE523E552A0 -:10787000E750EF6EDF061200EA22EECFDEFFEDCF1B -:10788000DDFF1200000EE66EE66AE66EE66A1200A2 -:1078900034510F0BD8EF3CF034510F0BDDEF3CF0BF -:1078A000342233C0DEFF34C0DDFF1200FE0EDBCF1A -:1078B000E6FF4CEC38F0E552E5521200160E396F37 -:1078C0009F0E376F7B0E366F1200010EE66EE66A72 -:1078D000000EE66EE66A1200F76AD825F66ED951F8 -:1078E000F72208001200D950020FE96EDACFEAFF42 -:1078F000EF501200C8C1E9FFC9C1EAFF1200040D30 -:10790000F3CF33F0F4CF34F0000E3326040EC8DF8B -:10791000840EF1EF3CF060D8300EEE6E040EED6E8A -:1079200012005ADF020EE1261200020EE66EE66A2F -:10793000DECFE6FFDDCFE6FF050EDEEF3BF0020E09 -:10794000E66EE66AE66A270EE66E0F0E08EF3CF07A -:107950002CDF8C0EEF6E3BDF840EEF6E120045DFE6 -:10796000CA0EE926010E120040DFD00EE926010EF4 -:1079700012001FDF29EF3CF025DFEF50800B1200D3 -:107980002BDFE6521200FE0BEA36E96ED00EE92636 -:10799000010E1200FE0BEA36E96ECA0EE926010E50 -:1079A000120079EC45F0336E060EE15E33501200A2 -:1079B000EA6AEE0FE96E010E1200EA6AEB0FE96E59 -:1079C000010E1200FFDEE850EF16120093DFEE52B8 -:1079D000400EEF6E7AEF3CF0020EE926000EEA222E -:0A79E0001200F0DEE850EF12120072 -:0679EA004D616A6F72207E -:1079F0006D616C66756E6374696F6E204178697332 -:107A0000322053746570436F756E746572207A65A9 -:107A1000726F004D616A6F72206D616C66756E6386 -:107A200074696F6E204178697332205374657043B6 -:107A30006F756E74657220746F6F20686967682057 -:107A40003A20004D616A6F72206D616C66756E63DD -:107A500074696F6E20417869733120537465704387 -:107A60006F756E746572207A65726F004D616A6F12 -:107A700072206D616C66756E6374696F6E204178FB -:107A80006973312053746570436F756E746572202D -:107A9000746F6F2068696768203A20004D616A6FD3 -:107AA00072206D616C66756E6374696F6E204178CB -:107AB000697331206475726174696F6E20746F6FC1 -:107AC000206C6F6E67203A20004475726174696F94 -:107AD0006E3D00205341323D00205341313D00486E -:107AE0004D204475726174696F6E3D0021302045F0 -:107AF00072723A20484D203C61786973323E20739F -:107B00007465702072617465203E2032354B20739D -:107B1000746570732F7365636F6E642E002130205F -:107B20004572723A20484D203C61786973313E209D -:107B3000737465702072617465203E2032354B206D -:107B400073746570732F7365636F6E642E002130DC -:107B5000204572723A20737465707320746F2068C8 -:107B60006F6D65206C6172676572207468616E204C -:107B700031362C3737372C3231352E002130204525 -:107B800072723A203C61786973323E20737465707A -:107B90002072617465203C20312E3331487A2E00EA -:107BA0002130204572723A203C61786973323E2060 -:107BB000737465702072617465203E2032354B20ED -:107BC00073746570732F7365636F6E642E0021305C -:107BD000204572723A203C61786973323E206C61B4 -:107BE00072676572207468616E20313637373732BC -:107BF00031352073746570732E0021302045727208 -:107C00003A203C61786973313E207374657020724C -:107C1000617465203C20312E3331487A2E002130AA -:107C2000204572723A203C61786973313E2073744A -:107C300065702072617465203E2032354B2073746C -:107C40006570732F7365636F6E642E00213020455D -:107C500072723A203C61786973313E206C617267C0 -:107C60006572207468616E203136373737323135AE -:107C70002073746570732E002130204572723A2093 -:107C80003C6D6F76655F6475726174696F6E3E20DE -:107C90006C6172676572207468616E2031363737A7 -:107CA00037323135206D732E00204A323D0020538B -:107CB000323D002041323D002052323D00204A3109 -:107CC0003D002041313D002053313D0052313D0007 -:107CD0005374617475733D002135204572723A20EA -:107CE0004E65656420636F6D6D61206E6578742CE0 -:107CF00020666F756E643A202700506172616D389E -:107D00003D00506172616D373D00506172616D36AA -:107D10003D00506172616D353D00506172616D349E -:107D20003D00506172616D333D00506172616D3292 -:107D30003D00506172616D313D000D0A000A0D0079 -:107D40004F4B000A002138204572723A20556E6B65 -:107D50006E6F776E20636F6D6D616E6420270021FA -:107D600038204572723A20436865636B73756D20E5 -:107D70006E6F7420666F756E642062757420726514 -:107D80007175697265642E002138204572723A203F -:107D9000436865636B73756D20696E636F7272659E -:107DA00063742C20657870656374656420004C6989 -:107DB0006D6974207377697463682074726967678A -:107DC000657265642E20506F7274423D0021372029 -:107DD0004572723A20457874726120706172616DEB -:107DE00065746572002136204572723A20496E76BC -:107DF000616C696420706172616D65746572207672 -:107E0000616C7565002134204572723A204D6973AA -:107E100073696E6720706172616D65746572287335 -:107E200029002133204572723A205258204275664B -:107E3000666572206F76657272756E00213220451C -:107E400072723A20545820427566666572206F76C9 -:107E5000657272756E002131204572723A2043615D -:107E60006E27742073746570207468617420666175 -:0A7E70007374002130200020080088 -:067E7A00CFD9E652000121 -:107E8000606B7D6BDF6A040EDF5C14E2C0D9610EAB -:107E9000E926000ECFD9DF50AED9EF6AB8D96D0E02 -:107EA000E926000EC7D9B3D9750EE926000EC2D94E -:107EB000DF2AE9D70001C60E806F0E0E816F3F0EDC -:107EC00079140009796ECF0E79140009796E7982E0 -:107ED0007B6A7A6A79900F0152815293F00EB41442 -:107EE0000909B46E0001040E7E6F030E7F6FC60E8B -:107EF000826F3B0E836F250E846F580E856F040EC4 -:107F00008A6F900E866F010E876F900E886F010E3C -:107F1000896F000EE66EE66A010EE66EC5EC17F09C -:107F2000E552E552E5528996E5527CD176D9E65282 -:107F3000DF6A040EDF5C0AE2DF505DD9EFCF33F079 -:107F4000FE0EDB50335C0AE0DF2AF3D7DF6A040E53 -:107F5000DF5C08E2DF504FD9EF5002E1DF2803D0A9 -:107F6000DF2AF5D7000EE5525DD157D9070EE1267D -:107F7000DE6ADD6A020EDB6A030EDB6A040EDB6A70 -:107F8000050EDB6A060EDB6A010EE66ED9CFE6FF50 -:107F9000DACFE6FF030E22D9020F50D9010E1ED907 -:107FA000030F4CD9030E1AD9050F48D9030E4BD92C -:107FB000E66AE66A04EC29F0E552E55200019751C1 -:107FC00022E1020EDB50180802E2978D1CD0050E4C -:107FD000DBCFE6FF060EDBCFE6FF030EDBCFE6FFCF -:107FE000040EDBCFE6FF020EDBCFE6FFDECFE6FFBF -:107FF000DDCFE6FF0FD8336E070EE15E3350E66A41 -:1080000022EC29F0E552070EE15C02E2E16AE5525A -:10801000E16E08D102D9020EE126FC0EDBCFE6FFAD -:1080200085DFE552E76E010EE7CFDBFFDB5002E1B3 -:10803000000EC7D0D950FD0FE96EFF0EDA20EA6EB0 -:10804000EE50ED101FE1010EDB04D5D8EF5000011A -:10805000EA6A8025E96E8151EA22EF6AC4D8750E7A -:10806000E926000EE7D8BFD86D0EE926000EE2D84B -:10807000010EDB04C0D8EF6AB6D8610EE926000E07 -:10808000D9D89DD0010EDB04336E00017E51335CE4 -:1080900001E395D0FC0EDB50180801E290D0FC0EF5 -:1080A000DB50070802E10B01826B9DD8610EE926C7 -:1080B000000EEA22EE50ED1010E1E66AFC0EDBCF76 -:1080C000E6FFA3EC33F0E552E552E66AFC0EDBCFA7 -:1080D000E6FF75EC33F0E552E5521850145CFDE212 -:1080E000FC0EDB50040809E18986D5C0D1F0D6C06A -:1080F000D2F0D7C0D3F0D8C0D4F083D8EF6EF80E4A -:10810000DBCF33F0F90EDBCF34F0356A366A190E67 -:108110002E6E2F6A306A316A33C029F034C02AF0DB -:1081200035C02BF036C02CF066EC47F025C033F09C -:1081300026C034F027C035F028C036F062D876D893 -:1081400025C0EEFF34C0EEFF35C0EEFF36C0EEFFB7 -:1081500041D82A0E6BD8010EDBCFEFFF3BD8270E9C -:1081600065D8FC0EDBCFEFFF35D8280E5FD8FD0EAB -:10817000DBCFEEFFFE0EDBCFEDFF2CD82B0E56D85B -:10818000FA0EDBCFEEFFFB0EDBCFEDFF23D8020EA6 -:108190004DD8D880EE54000EEE54190EEE54000E59 -:1081A000EE5407E217D8020E41D8EE6AEE6AEE6A84 -:1081B000EE6A152A1850155C01E3156A142A010E9F -:1081C000DB50336E020EE15C02E2E16AE552E16EE1 -:1081D000335028D015502F0D2BEF41F034D8010E1D -:1081E000E66ED9501200010EDB04E96EEA6AD890FF -:1081F000E936EA361200EA6A690FE96E000EEA22F1 -:10820000120015502F0D000126D8020E1200EA6A46 -:10821000DF34FE0BEA36E96E1200D9CFE6FFE1CF7C -:10822000D9FF1200E552E7CFD9FF1200E926000E70 -:10823000EA221200EA22EE6AED6A1200E66E000EF1 -:10824000DA20E66E1200E66E5EEC31F0E552E552A1 -:10825000E552E5521200FA51F324E96EFB51F42085 -:04826000EA6E1200B0 -:0C826400040130511F0B010801E0120062 -:108270003051600BE842E842E842E842E842010837 -:1082800001E01200345103E0340501E012003151E5 -:10829000220A31E0030A24E0010A15E0210A0DE078 -:1082A000010A01E012000101A00ED86F050ED96F7E -:1082B000080EDB6FDC6BDA8121D00101A00ED86FD4 -:1082C000050ED96F1BD036C4E0F137C4E1F10101CE -:1082D000800EDD6F050EDE6FE26BE36BDF8F120049 -:1082E0000101800ED86F050ED96F070EDB6FDC6BB6 -:1082F000C10EDA6F120032C49BF50101DA8F120051 -:108300000501806B4B0E816F826B836B846B856B79 -:10831000080E866F8F6B1A0EE66E010EE66E69EC24 -:1083200037F0E552E5521E0EE66E020EE66E69EC7F -:1083300037F0E552E5521CD90501996B9A6B906BA9 -:10834000120041D965D9050E2B1801E12C5002E02D -:10835000000E14D048D905019751331804E1985103 -:10836000341801E105D93FD905019951331805E1C8 -:108370009A51341802E1906B956B010E29D123D9E3 -:1083800005018F6B9751981102E1000E05D032D98B -:10839000EF50800B01E0010E00092DE1FC0EDBCF58 -:1083A00033F028D9EE52EF50D880335405E222D969 -:1083B000EE52FC0EEFCFDBFF8F6BFC0EDB508F5DC0 -:1083C00019E28F51EA6A400FE96E050EEA22EF507A -:1083D000E66E8F51E76EFD0EDBCFE9FFFE0EDBCFC1 -:1083E000EAFFE750E926000EEA22E552E750EF6E79 -:1083F0008F2BE3D7BDD805018F51EAD0E4D8050112 -:10840000905107E1E9D8FC0EDBCF95F5010E966F90 -:10841000906FDED004D917E1C0D8DF2AFF0EDF5CF1 -:108420000BE0010EDBCFE9FFDB2A020EDBCFEAFF18 -:1084300001E3DB2AEF50F1E1CFD8DFCF95F505015D -:10844000010E966F906F030EE15C02E2E16AE55265 -:10845000E16EBED0E4D818E1A0D8DF2AFF0EDF5CC1 -:108460000CE0010EDBCFF6FFDB2A020EDBCFF7FFBD -:1084700001E3DB2A0800F550F0E1AED8DFCF95F537 -:108480000501966B010E906F030EE15C02E2E16A5A -:10849000E552E16E9DD097D8020EE1260501995173 -:1084A0009A1102E1000E08D099C5E9FF9AC5EAFFCA -:1084B000EF50800B01E0010E000953E1030E905DC7 -:1084C00001E1906B90514DE0020E905D09E1E66A8A -:1084D000000EE66EE66A59D80501030E906F41D092 -:1084E00090053FE1400E336E346A9551335C000EC7 -:1084F000345803E2400EDF6E02D095C5DFFFDF5037 -:10850000955D956F000E936F050E946F010EDFCF92 -:10851000DBFF96510BE1010EDB5012E091C5F6FF37 -:1085200092C5F7FF0800F55041D8F5D7010EDB5092 -:1085300007E091C5E9FF92C5EAFFEF5037D8F6D7BB -:108540000501955107E1400EDF5C02E1020E01D00A -:10855000030E906FDFCFE6FF000EE66E050EE66EAF -:1085600014D8020EE15C02E2E16AE552E16E30D01D -:10857000400EE66E400EE66E050EE66EE66A3FD8E9 -:10858000F3CF97F5F4CF98F51200010EE66E37D8C9 -:10859000F3CF99F5F4CF9AF51200DF6A39D8DE529D -:1085A0002BC0DEFF2CC0DDFFDD52120093C5E9FFBA -:1085B00094C5EAFFEF6E932B000E9423912B922328 -:1085C000010EDB061200D9CFE6FFE1CFD9FF120082 -:1085D000E552E7CFD9FF1200FD0EDBCF91F5FE0E7D -:1085E000DBCF92F51200FB0EDBCF33F0FC0EDBCFBE -:1085F00034F0120097C5E9FF98C5EAFF1200020E99 -:10860000E66E8DEC37F0336E050EE15E33501200EE -:10861000FD0EDBCF2BF0FE0EDBCF2CF01200D3DFF4 -:0A862000030EE1260501905112003F -:06862A00DDD8D0D80DE000 -:10863000CED8F3D8D950FC0FE96EFF0EDA20EA6EDF -:10864000EE2A000EEE22EE22F1D7F7D0CCD8D6D803 -:1086500008E0D4D8E2D8FD0EDB2AFE0EF8E3DB2AD0 -:10866000F6D7EBD0EED80F0E336E346A356AD95098 -:10867000BFD8EE503316EE503416EE503516EE508D -:1086800033C036F13350090802E3300E01D0370E03 -:108690003625C8D873D8040ED890363235323432E5 -:1086A0003332E806F9E1FB0E33C0DBFFFC0E34C0C9 -:1086B000DBFFFD0E35C0DBFFFE0E36C0DBFF010128 -:1086C0003507FA0EDB5002E0FA0EDB06C0D8CBE12C -:1086D000FA0EDB50C8E16CD0B4D85DD897D825C06D -:1086E00036F1300E010125249DD855D88FD8FB0EC8 -:1086F00029C0DBFFFC0E2AC0DBFFFD0E2BC0DBFF19 -:10870000FE0E2CC0DBFF01013507A1D8E6E150D0F9 -:108710006AD8E1506DD8D890030EEB50000A08E6F5 -:10872000000EEE5C000EEE58000EEE58000EEE58F5 -:1087300015E22D0E72D82FD82E682F683068316858 -:1087400066EC47F0FB0E25C0DBFFFC0E26C0DBFF0E -:10875000FD0E27C0DBFFFE0E28C0DBFFD95048D836 -:10876000EECFE6FFEECFE6FFEECFE6FFEFCFE6FF80 -:10877000B3DFE552E552E552E5525FD0FB0EDBCFA9 -:1087800033F0FC0EDBCF34F0FD0EDBCF35F0FE0E08 -:10879000DBCF36F01200FB0EDBCF29F0FC0EDBCF77 -:1087A0002AF0FD0EDBCF2BF0FE0EDBCF2CF01200FB -:1087B000352B3551346A290F336E010E342233C004 -:1087C000E6FF34C0E6FF42DFE552E55236D0FC0E4C -:1087D000DBCFF6FFFD0EDBCFF7FFFE0EDBCFF8FFA2 -:1087E0000800F5501200D9CFE6FFE1CFD9FF120003 -:1087F000FB0FE96EFF0EDA20EA6E1200FD0EDBCFF2 -:10880000E9FFFE0EDBCFEAFFEF5012000A0E2E6EDC -:108810002F6A306A316AFEEF47F0E66EB4EC25F05D -:10882000E5521200E66E3551EA6A290FE96E010E33 -:10883000EA22E552E750EF6E1200E552E7CFD9FF8A -:108840001200D1DF0101346B0A0E356F120096DF82 -:0A88500033503410351036101200BA -:06885A00D9CFE6FFDACFE2 -:10886000E6FFE1CFD9FFE2CFDAFF060EE12402E313 -:10887000E168E652E16EDF6A010EDB6AD950FA0F59 -:10888000E96EFF0EDA20EA6E020EEECFDBFF030E7A -:10889000EECFDBFF040EEECFDBFF050EEECFDBFFEE -:1088A000D950FA0FE96EFF0EDA20EA6E060EE76E77 -:1088B000D890030EEB32020EEB32010EEB32EF32A8 -:1088C000E706F6E1D950FA0FE96EFF0EDA20EA6EFC -:1088D000060EE76ED890EF36010EEB36020EEB3641 -:1088E000030EEB36E706F6E1D950FA0FE96EFF0EFC -:1088F000DA20EA6E400EEE26000EEE22000EEE2288 -:10890000000EEE22FA0EDBCF37F0FB0EDBCF38F095 -:10891000FC0EDBCF39F0FD0EDBCF3AF0D950020F61 -:10892000E96E000EDA20EA6EEE50375C336EEE50E0 -:108930003858346EEE503958356EEE503A58366E1F -:108940003350DF6ED950F80FE96EFF0EDA20EA6E71 -:10895000EE50ED1065E0040EDB50F86E030EDB50B8 -:10896000F76E020EDB50F66EDF50DF0600091AE0EC -:10897000F60EDBCFE9FFDB2AF70EDBCFEAFF01E3E0 -:10898000DB2AEF50F56E0D00F80EDB06DBCF33F07F -:10899000F90E01E2DB06DBCF34F03350341001E195 -:1089A00001D0E2D7040EDB50F86E030EDB50F76EF9 -:1089B000020EDB50F66EA684F2AE04D0F29EDE52BA -:1089C000010EDD6E550EA76EAA0EA76EA682A694A6 -:1089D000010EDB5003E0F28E010EDB6A400EDF6E0B -:1089E000400E336E346A356A366AD950020FE96E2A -:1089F000000EDA20EA6EEE503326EE503422EE50AE -:108A00003522EE503622020E33C0DBFF030E34C097 -:108A1000DBFF040E35C0DBFF050E36C0DBFF92D74F -:108A2000060EE15C02E2E16AE552E16EE552E5CF55 -:088A3000DAFFE7CFD9FF1200C5 -:088A380064EC23F005D8BCEC4E -:108A400036F09CEC24F0FBD7D9CFE6FFE1CFD9FF7D -:108A5000020EE1260F0148694969600ED36E9B8CB6 -:108A6000580EDE6E020EDD6EDFCF33F0DF06010E34 -:108A7000DBCF34F001E2DB0633503410F5E1948EA5 -:108A8000D6EC23F056EC36F0020EE15C02E2E16A2D -:108A9000E552E16EE552E7CFD9FF12001200120055 -:108AA0001200120032EF41F0120080EF41F001019C -:108AB000E6051EE10101E7051BE1F1DF6592010119 -:108AC000E76B0201100EFE6F0E0EFF6FFE07000E29 -:108AD000FF5BFE51FF11FAE16584080EFE6F070E81 -:108AE000FF6FFE07000EFF5BFE51FF11FAE1659478 -:108AF0001200D9CFE6FFE1CFD9FFFD0EDBCF2BF07F -:108B0000FE0EDBCF2CF0050E2B1801E12C5036E0C9 -:108B1000E8682B1802E17F0E2C182FE0030E2B18AB -:108B200001E12C5028E0020E2B1801E12C5021E02D -:108B3000010E2B1801E12C501AE0740E2B1801E1E4 -:108B40002C5013E0750E2B1801E12C500CE0730E25 -:108B50002B1801E12C5005E0720E2B180FE12C5060 -:108B60000DD09EDF0BD09ADF09D099DF07D09DDFB3 -:108B700005D09ADF03D096DF01D093DF010EE552D6 -:068B8000E7CFD9FF12004F -:0A8B8600D9CFE6FFDACFE6FFE1CF1A -:108B9000D9FFE2CFDAFFE652E652E652E652E6525B -:108BA000DF6AD950FA0FE96EFF0EDA20EA6E010E85 -:108BB000EECFDBFF020EEECFDBFF030EEECFDBFFCF -:108BC000040EEECFDBFFF60EDBCF33F0F70EDBCF7C -:108BD00034F0F80EDBCF35F0F90EDBCF36F048D8A5 -:108BE0003350EE5C3450EE583550EE583650EE5857 -:108BF00033E2030EDB50F86E020EDB50F76E010E0F -:108C0000DB50F66EA684A688F2AE03D0F29E010E6B -:108C1000DF6E550EA76EAA0EA76EA682DF5001E08A -:108C2000F28E336A040E346E356A366A21D8EE50FD -:108C30003326EE503422EE503522EE503622010E0D -:108C400033C0DBFF020E34C0DBFF030E35C0DBFF99 -:108C5000040E36C0DBFFB7D7050EE15C02E2E16A25 -:108C6000E552E16EE552E5CFDAFFE7CFD9FF12001A -:0E8C7000D950010FE96E000EDA20EA6E1200F4 -:028C7E0045426D -:108C8000427631335F616E645F61626F7665204565 -:108C900042204669726D776172652056657273690C -:108CA0006F6E20332E302E302D61323300920F92B2 -:108CB0000F920F930F930F930F930F930F930F93A5 -:108CC0000F930F940F940F940F940F940F940F948D -:108CD0000F940F950F950F950F950F950F950F8981 -:108CE0000F890F890F8A0F8A0F8A0F8A0F8A0F8ABE -:108CF0000F8A0F8A0F8B0F8B0F8B0F8B0F8B0F8BA6 -:108D00000F8B0F8B0F8C0F8C0F8C0F8C0F8C0F8C8D -:108D10000F0001050001020304050607000102031C -:0A8D20000405060702030405060718 -:068D2A002A0EF66E100E89 -:108D3000F76E000EF86E01010900F5503C6F090056 -:108D4000F5503D6F03E13C6701D03DD00900F5507F -:108D5000376F0900F550386F0900F550396F090079 -:108D60000900F550E96E0900F550EA6E09000900A6 -:108D70000900F5503A6F0900F5503B6F09000900F2 -:108D8000F6CF3EF1F7CF3FF1F8CF40F137C1F6FF14 -:108D900038C1F7FF39C1F8FF01013A5302E13B53F3 -:108DA00007E00900F550EE6E3A07F8E23B07F9D705 -:108DB0003EC1F6FF3FC1F7FF40C1F8FF01013C078C -:088DC000000E3D5BBFD712005D -:088DC800D9CFE6FFDACFE6FF88 -:108DD000E1CFD9FFE2CFDAFFE652E652E652E652A1 -:108DE000D9CFE9FFDACFEAFFFA0EDBCFEEFFFB0EB9 -:108DF000DBCFEEFFFC0EDBCFEEFFFD0EDBCFEEFF99 -:108E0000020EDB50F86E010EDB50F76EDF50F66E8F -:108E1000F80EDBCF33F0DB06F90EDBCF34F001E2E6 -:108E2000DB06335034100DE00900F60EDBCFE9FF0E -:108E3000DB2AF70EDBCFEAFF01E3DB2AF5CFEFFFFA -:108E4000E7D7040EE15C02E2E16AE552E16EE55229 -:0A8E5000E5CFDAFFE7CFD9FF1200EB -:068E5A00D9CFE6FFDACFDC -:108E6000E6FFE1CFD9FFE2CFDAFFAD6AAC6AFD0ED3 -:108E7000DBB0AD88DBA202D0AD8CAC8CDBB4AD8EA8 -:108E8000DBA602D0AC8801D0AC8ADBB8AD84DBBAFB -:108E9000AC86DBAC02D09D8A01D09D9ADBAE02D0BD -:108EA0009D8801D09D98FB0EDB50B06EFC0EDBCF91 -:108EB00034F034C033F0346A33507F6EAD8AAC8EF8 -:0C8EC000E552E5CFDAFFE7CFD9FF120042 -:048ECC0029502E02F9 -:108ED000F3CF25F0F4CF26F02F02F3502626000E14 -:108EE000F420276E29503002F3502726000EF4207C -:108EF000286E29503102F35028262A502E02F350B2 -:108F00002626F4502722000E28222A502F02F35042 -:108F10002726F45028222A503002F35028262B50BE -:108F20002E02F3502726F45028222B502F02F35004 -:0C8F300028262C502E02F3502826120098 -:048F3C00236AE86A52 -:108F400031AEABEF47F02E6C2F1E301E311E2F229C -:108F500030223122231E2CAEB6EF47F0296C2A1E98 -:108F60002B1E2C1E2A222B222C22231EFEEC47F025 -:108F70002CBECDEF47F023AE000C296C2A1E2B1E11 -:108F80002C1EE86A2A222B222C22256C261E271E44 -:108F9000281E262227222822000C23BEBDEF47F0E0 -:048FA0002488FF0C16 -:0C8FA4001201000202000040D80492FDFF -:108FB00082010102030109024300020100C03209DB -:108FC0000400000102020100052400100104240233 -:108FD000020524060001052401000107058103089C -:108FE000000209040100020A000000070502024015 -:0B8FF000000007058202400000B68F61 -:048FFC00286A276A4E -:10900000266A256A200EE76ED89029362A362B3636 -:109010002C3625362636273628362E50255C2F50FE -:109020002658305027583150285809E32E50255ED5 -:109030002F50265A3050275A3150285A292AE72EC5 -:04904000E4D712005F -:0C904400FE0EE3CFE9FFFF0EE3CFEAFFD2 -:10905000E9CFF3FFEACFF4FFFB0EE35003E1FC0E90 -:10906000E35009E0FB0EE30602E2FC0EE306FD0E10 -:08907000E350EE6EF1D712008F -:08907800D9CFE6FFDACFE6FFD5 -:10908000E1CFD9FFE2CFDAFFADAC04D0AD90000163 -:10909000FCB3AD80FD0EDB50AE6EE552E5CFDAFFDE -:0690A000E7CFD9FF12002A -:0A90A600FF0EE124E96EFF0EE22048 -:1090B000EA6EEDCFF4FFEFCFF3FFF46607D0600E5A -:0E90C000F36404D07B0EF36001D0F39A12002B -:0290CE00C00ED2 -:1090D000F36E00EE00F00E0E01D81200EA6002D02E -:0E90E000EE6AFCD7F350E9601200EE6AFCD78E -:0290EE001DEE75 -:1090F00000F02DEE00F0F86A249C95EC46F090EC20 -:0A91000048F01CEC45F0FBD712000C -:06910A00F36AF46AF32A87 -:109110000F0B05E0D890F336F436E804FBE11200BB -:0291200012003B -:0E9122000403090418035300630068006D0085 -:1091300061006C007A00480061007500730038031C -:109140004500690042006F00740042006F0061003A -:10915000720064002C00200020002000200020006D -:1091600020002000200020002000200020002000FF -:1091700020002000200022032000200020002000EA +:103CF0009482958C958E9588958A1200D76DD81FE1 +:103D0000D823D91FD923DA1FDA231200CF6DD01F91 +:103D1000D023D11FD123D21FD2231200DB6DDC1F91 +:103D2000DC23DD1FDD23DE1FDE231200D36DD41F55 +:103D3000D423D51FD523D61FD6231200BF55FF0E7F +:103D4000C055FF0EC155000EC255120094D939500E +:103D50001200010EDB50EA6A580FE96E010EEA22EA +:103D60001200D235000ED2191200D635000ED61927 +:103D7000120081899307000E945B955B965B12009D +:103D8000F36E010EF3CFDBFF020EDB6A1200010EB1 +:103D9000DBCF86F0020EDBCF87F012000101C36B90 +:103DA000800EC46FC56BC66B12000101010EC36F9C +:103DB000C46BC56BC66B1200010EE66ED9CFE6FF71 +:103DC000DACFE6FF1200610EE926000EEA221200A9 +:103DD000D751D811D911DA111200DB51DC11DD11E4 +:103DE000DE1112002B6B2C6B2D6B2E6B1200D70E7D +:103DF000E96E010EEA6E1200DF0EE96E010EEA6E48 +:103E00001200DB0EE96E010EEA6E1200DECFE6FF55 +:103E1000DDCFE6FF1200F36E020EF3CFDBFF1200E0 +:103E2000EDD9B5EC1AF01F0EBEDCEECF9FF1EECF50 +:103E3000A0F1EECFA1F1EFCFA2F1B5EC1AF01F0E79 +:103E400082DAEECFA3F1EECFA4F1EECFA5F1EFCF62 +:103E5000A6F1B5EC1AF0170EA6DCEECF97F1EECF77 +:103E600098F1EECF99F1EFCF9AF1B5EC1AF0170E69 +:103E70006ADAD6EF1DF072DAE66A120002DAE70EAD +:103E8000E66E010E8AEF21F0EAD9F50E476E7A0E42 +:103E9000AAEC1AF0CFC1E6FFD0C1E6FFD1C1E6FF20 +:103EA000D2C1E6FF52DCEF0E476E7A0EAAEC1AF092 +:103EB000D3C1E6FFD4C1E6FFD5C1E6FFD6C1E6FF18 +:103EC0007EEF21F02F0D000106D22CDA84DD010EE9 +:103ED000A4EF1AF00F0BDBEF1BF03ADA020E63DCF3 +:103EE00089EF1CF01FDAE66AC30EE66E010E8AEF58 +:103EF00021F00CEC48F0D880190E3D54000E3E54D1 +:103F0000000E3F54000E40541200BFC13DF0C0C12E +:103F10003EF0C1C13FF0C2C140F01200040EDB6AA6 +:103F200066DF0101C751EE24476EC851EE20486E8E +:103F3000C951EE20496ECA515DEF1BF0EFD943DD48 +:103F4000F1D9E66ABF0EE66E010EE4D9E66A120008 +:103F5000AAEC1AF0C3C1E6FFC4C1E6FFC5C1E6FF83 +:103F6000C6C1E6FFAAEC1BF022DCCEEF1EF0E30E8A +:103F7000476E7C0EAAEC1AF038C1E6FF39C1E6FFA5 +:103F80003AC1E6FF3BC1E6FFAAEF1BF0190EEAD9E2 +:103F9000DBDC0CEC48F04EDCDE6ADE6ADE6ADD6AF1 +:103FA00012002ADFD751EE24476ED851EE20486E1A +:103FB000D951EE20496EDA515DEF1BF077D90CEC48 +:103FC00048F038DC0F0E010112007FEC1BF0A5EC6D +:103FD0001BF0F7EF1CF0AE6E0F0E1214DBEF1BF0B0 +:103FE000AE6E0F0E1114DBEF1BF0AE6E0F0E101441 +:103FF000DBEF1BF0AE6E0F0E0F14DBEF1BF0AAEC25 +:104000001AF03CC1E6FF3DC1E6FF3EC1E6FF3FC1FD +:10401000E6FFAAEF1BF0DACFEAFFEECFE6FFEECF26 +:10402000E6FFEECFE6FFEFCFE6FFA5EF1BF06DD981 +:10403000E66E85EF1BF0A4EC1AF000019751120018 +:10404000010EE66E85EF1BF0486A7FEC1BF0AAEFCD +:104050001BF0DECF3EF0DECF3FF0DECF40F0DDCF15 +:1040600041F0DD52DD52120048C0E6FF49C0E6FFD4 +:104070004AC0E6FF1200426843684468456874EF2E +:1040800047F0E552E552E552120087512326885148 +:104090002422895125228A51262212008B5127265B +:1040A0008C5128228D5129228E512A221200DFDCC8 +:1040B00054EC1CF0CADCB8EF1AF0E2DC54EC1CF053 +:1040C000CDDCB8EF1AF001018CDC07EC15F023EC25 +:1040D0001CF0EE50120047C03DF048C03EF049C011 +:1040E0003FF04AC040F012009AEC1BF0ACEC47F0F5 +:1040F0001AEC1CF00F0E1F0B12002F0DECD0BF5549 +:10410000000EC055000EC155000EC2551200B5EC90 +:104110001AF00F0ED3EF1BF0B2EC1BF0050EC7EF39 +:104120001CF0E66E000EDA20E66E1200B5EC1AF016 +:10413000060ED3EC1BF0EFCF86F11200B5EC1AF0AF +:10414000EE52EFCF81F1B5EF1AF0E80E476E7C0E1C +:10415000AAEC1AF009EF1EF0D40E476E7C0EAAEC02 +:104160001AF012EF1EF04DEC1CF0750EE926000E51 +:10417000EA2212004DEC1CF06D0EE926000EEA2238 +:1041800012009AEC1BF0CAC1F5FFACEF47F0AAECA5 +:104190001AF0D7EC1BF0D5EF1EF018EC40F0476E8C +:1041A000070EE15E475012001F0E426E050E436E71 +:1041B000446A456A12004DEC1CF0E3EF1EF023EC5C +:1041C0001CF0EE50ED101200AAEC1AF0020EE66E92 +:1041D0001200CF6BD06BD16BD26B1200A4EC1AF033 +:1041E00071EF1EF0E552E7CFD9FF120030EC29F055 +:1041F000E5521200B2EC1BF0E6521200A9D8070EED +:10420000D3EC1BF0EECF87F1EECF88F1EECF89F142 +:10421000EFCF8AF1B5EC1AF0070E95D81CEF1DF020 +:10422000E9DF80D8E66AC70EE66E010E24DECF0E07 +:10423000E66E010E82D01FDEDB0EE66E010E1BDE87 +:10424000E30EE66E010E1ADEDF6E000197511200DA +:10425000D1DF48DEE66AC70EE66E010E6ED0AAEC2C +:104260001AF0BFC1E6FFC0C1E6FFC1C1E6FFC2C18F +:10427000E6FFAAEF1BF0FFDDDB0EE66E010E3EEF60 +:104280001FF06CD8010EE66E1200AE6E11386AEFA8 +:104290001FF0AE6E10386AEF1FF0AE6E0F386AEF87 +:1042A0001FF0190E5FD831DE74EF47F0BFC142F046 +:1042B000C0C143F0C1C144F0C2C145F01200D9CF22 +:1042C000E9FFDACFEAFF1200010EE66ED950030FC4 +:1042D00028DF010E1200FA51F324E96EFB51F4209D +:1042E000EA6E1200A4EC1CF054EC1CF079EF1FF005 +:1042F000010EDBCF47F0A8DE01011200A5EC1BF098 +:10430000D7EF1BF0E2DD44EF1CF0E126DF6A010E7F +:10431000DB6A1200E66E070EA4EF1AF0B2EC1BF097 +:10432000040E1200E66A85EF1BF0CB0EE66E010E5E +:10433000A2DDD30EE66E010E12009DDDD70EE66EF5 +:10434000010E3BEF1FF0D3EC1BF0040ED3EF1BF07C +:10435000B5EC1AF0EFCF80F1B5EF1AF0E66E060E6D +:0E436000A4EF1AF0426E436A446A456A1200E6 +:02436E00D8CFA6 +:10437000E4FFE0CFE4FFE46EDACFE4FFE9CFE4FF4F +:10438000EACFE4FFF3CFE4FFF4CFE4FFE65299EC89 +:1043900035F0A4A641D1A4960001602B00017F5105 +:1043A0000001605D01E29BD0606B0001B2EC34F073 +:1043B000EF6A79907B6A7A6A00017D2B00017E5159 +:1043C00000017D5D01E37D6B2BEC36F0EA22EE50BF +:1043D000ED1001E184D01EEC36F0EECF51F0EFCFBE +:1043E00052F051504F1802E1525050185DE06EECFF +:1043F00035F0EA22EE50ED1051E01EEC36F00001EF +:10440000EE504F5CE26FEE505058E36FE83422E21A +:10441000E2510008000EE3551DE200016EEC35F09C +:104420002AEC34F000015050E319E8AE02D0E33535 +:1044300004D0E2514F5CE35150580AE200016EECA7 +:1044400035F03FEC35F04F50EE265050ED222CD099 +:10445000000124D0E2C04FF0E3C050F04F6C501E7A +:10446000000E502200016EEC35F0EA22EECF51F042 +:10447000EFCF52F052505018E8AE02D0503404D072 +:104480004F50515C5050525809E26EEC35F03FEC01 +:1044900035F04F50EE5E5050ED5A06D01EEC36F01F +:1044A0004FC0EEFF50C0EDFFB2EC34F0120EEF6ED5 +:1044B000F29E0001BAEC35F050C04FF0506A4F50F8 +:1044C000B66EBAEC35F04F50B56EF00EB41400096C +:1044D000B46EF00EB4140909B46E7980F28E000146 +:1044E000000ED8808D55000E8E552EE29B2B000EAF +:1044F0009C238D519B5D8E519C5926E39B6B9C6B3D +:10450000030E915D1FE28F51EA6A200FE96E010EE2 +:10451000EA2280CFEFFF8F51EA6A230FE96E010E86 +:10452000EA2281CFEFFF8F51EA6A260FE96E010E72 +:10453000EA2282CFEFFF8F2B030E8F5D01E38F6B9B +:10454000912B02D08D6B8E6B000ED8809255000E91 +:1045500093551CE2000ED880A155000EA25516E21C +:104560009D2B000E9E2392519D5D93519E590EE30B +:104570009D6B9E6B030E965D07E2942B030E945D7C +:1045800001E3946B962B02D0926B936BA151A21115 +:104590000BE0050EA05D07E3C18C9E9C9D8CC28044 +:1045A000C282A06B01D0A02B0101B95101E0B90773 +:1045B0000001D151D211D311D4110BE0D107000E5B +:1045C000D25BD35BD45BD151D211D311D41101E1B1 +:1045D0008996020EA85D20E1AB51AC111DE0AB073E +:1045E000000EAC5BAB51AC1117E1AD51AE1114E054 +:1045F000AD07000EAE5BAD51AE110AE1045003E110 +:104600008D808B8202D08C828982030EA86F04D0A9 +:10461000E80EAB6F030EAC6F9EAC4FD09E9CC1AC4E +:1046200007D0C19C010E0001A36FA46B9F6B2AD021 +:10463000C450516E526E516AC350000151104F6EFA +:1046400052C050F000019F51E96EEA6A89EC35F0E2 +:10465000EA224FC0EEFF50C0EDFF0B0E9F5D0EE152 +:104660009F51E96EEA6A89EC35F02AEC34F0A551E5 +:104670004F5CA651505802E2010EA76FD890A337A5 +:10468000A4379F2B100E9F5D0EE2A351A1154F6E14 +:10469000A451A215506E4F50501005E19F2BD89099 +:1046A000A337A437EFD7100E9F5D02E39D9C05D082 +:1046B0009F51040DF328C26EC282E552E552E7CF46 +:1046C000D9FFE552E5CFF4FFE5CFF3FFE5CFEAFFF1 +:1046D000E5CFE9FFE5CFDAFFE550E5CFE0FFE5CF35 +:1046E000D8FF1000D9CFE6FFE1CFD9FF020EE126B7 +:1046F000DE6ADD6AE2CFE4F0E1CFE5F0E4C047F046 +:1047000047C048F0476A0001E55100014710E66FD5 +:1047100048C0E7F0E6C0DEFFE7C0DDFF080EDE269A +:10472000000EDD22D9CFE9FFDACFEAFFBF0ED88035 +:10473000EE540E0EED540BE3DECFE9FFDDCFEAFFC2 +:10474000EE0EEF6EDF2A010E01E3DB2AEBD7020E3D +:10475000E15C02E2E16AE552E16EE552E7CFD9FFA2 +:10476000120034EC36F0BF0EF36E010EF3CFDBFF18 +:104770000E0EF36E020EF3CFDBFFF28C010EDBCFD9 +:10478000E9FF020EDBCFEAFFEF50EE0806E1010E73 +:10479000DB06020EF3E2DB06F1D702EC35F0000196 +:1047A0004750E05D4850E15906E2010EDBCFE0F0F2 +:1047B000020EDBCFE1F0F28C030EE15C02E2E16A73 +:1047C000E552E16E00EF34F03CEC36F0896A926815 +:1047D0000001A16BA26B8A6A93688B6A94688C96BD +:1047E0008C9495969594928E010ED06F976B956BE5 +:1047F000946B966B906B8F6B916B8D6B8E6B926BDA +:10480000936B9B6B9C6B9D6B9E6B9F6B7682768094 +:10481000769C769A76887696FA0E776EDE6ADD6AF0 +:10482000C5EC34F0100E475C000E485813E2CAEC99 +:1048300034F0010ED890E936EA36E806FBE1000EC6 +:10484000E926010EEA22EE6AED6ADF2A010EE8E3AC +:10485000DB2AE6D70001CA6BCB6BC86BC96BDE6A7B +:10486000DD6AD1EC35F00AE2CAEC34F0000EE9263C +:10487000020E2CEC35F0F5E3DB2AF3D7DE6ADD6AB5 +:10488000D1EC35F00AE2CAEC34F0400EE926020E13 +:104890002CEC35F0F5E3DB2AF3D7DE6ADD6AC5ECF4 +:1048A00034F0000E475C010E48580AE2CAEC34F0BE +:1048B000000EE926030E2CEC35F0F1E3DB2AEFD7EE +:1048C0000001CC6BCD6BCE6BCF6B986B996B9A6BF9 +:1048D0000F01498FBE0EC16ED08E7694A386A59629 +:1048E000B3EC0DF04BEC3FF0768498EC30F0000127 +:1048F000DC6BDD6BDE6BDF6BD16BD26BD36BD46BA0 +:10490000600ED56FEA0ED66FD76BD86B010ED96FDC +:10491000E06BE16BA56BA66BA96BAA6BAB6BAC6B89 +:10492000AD6BAE6BA86BA76B95929590929294909D +:10493000929A020EE66EE66A1C0EE66E3BEC47F0BB +:1049400027EC36F0020EE15C02E2E16AE552E16E2C +:1049500000EF34F0FBEC33F0050EE12609EC35F006 +:1049600015EC33F00001915100080AE22DEC2DF016 +:104970000001902B030E905D01E1906B9107F2D73F +:10498000965100080AE24AEC2DF00001952B030E27 +:10499000955D01E1956B9607F3D7200E0501E76E53 +:1049A000A819E8AE02D0E73402D0E750A85D01E2D2 +:1049B000E1D06550020B01E0DDD0400EE66E400E06 +:1049C000E66E020EE66ECDEC41F027EC36F0E76EB7 +:1049D000020EE7CFDBFFDB50000870E2030EDB6A5C +:1049E000020EDB50F36E030ECFEC34F067E2030EE1 +:1049F000DB50EA6A400FE96E020EEA22040EEFCFA6 +:104A0000DBFF09A805D0DBCFE6FF4AEC48F0E55212 +:104A10000101F95119E10D0E476E040EDB50475CA0 +:104A200006E00A0E486E040EDB50485C0DE1010EF4 +:104A3000F96F0001E9EC34F00D0EEF6ECA2BF7D8D8 +:104A40000001CA6BCB6B2AD0040EDB5008080EE1C4 +:104A50000001CA5100080AE2CA07E9EC34F0EF6A23 +:104A6000930E476E7E0EDFEC33F018D0040EDB5051 +:104A70000D0814E0040EDB500A0810E0200EF36E5F +:104A8000040ECFEC34F00AE30001E9EC34F0040E3C +:104A9000DBCFEFFF0101F96B0001CA2B0001CA5106 +:104AA000476E486A000E471806E1010E481803E1F8 +:104AB0009787CA6BCB6B030EDB2A92D70001975105 +:104AC00039E097A105D08F0E476E7E0E68EC35F069 +:104AD000000197A305D0720E476E7E0E68EC35F08C +:104AE000000197A505D0580E476E7E0E68EC35F094 +:104AF000000197A705D03E0E476E7E0E68EC35F09C +:104B0000000197A905D0210E476E7E0E68EC35F0A6 +:104B1000000197AD05D0010E476E7E0E68EC35F0B2 +:104B2000000197AF05D0E90E476E7D0E68EC35F0B9 +:104B30000001976BDD511DE0010E0E1414E0DE51F3 +:104B400012E1CA0E476E7D0EDFEC33F0020EE66E08 +:104B5000DCC047F0486A04EC34F0E9EC33F00001C3 +:104B6000010EDE6F06D0010E0E1403E1DE5101E0EE +:104B7000DE6B37D8050EE15C02E2E16AE552E16ED8 +:104B800000EF34F099EC35F0C8C0DFFFDF2A400EAB +:104B90004DEC34F001E1DF6A0001C951DF5C01E155 +:104BA00020D80001C851EA6A000FE96E020EEA221D +:104BB000FE0EDBCFEFFFC82B400EC85D01E1C86BD6 +:104BC000C951C85D01E19785FE0EDBCF47F0486A09 +:104BD00047BE486847C0F3FF48C0F4FFE55200EF06 +:104BE00034F099EC35F00001C851C95D1DE00501B4 +:104BF000905105E059EC42F0CAEC36F0F8D70001CC +:104C0000C951D880C85507E2C951C85D70EC34F06D +:104C1000C8C0C9F007D0400ED880C95570EC34F038 +:104C20000001C96B59EC42F0E55200EF34F0FBECA7 +:104C300033F0090EE126DE6ADD6A020EDB6A030E3E +:104C4000DB6A050EDB6A010EF36E060EF3CFDBFFA7 +:104C50000001DA6BDB6BDF5101E18ED0060EDB6AFF +:104C6000040ECAC0DBFFDB5003E0040EDB0602D0FB +:104C7000040EDB68040EA5EC34F0EF502C0816E0AF +:104C8000050EF36EDBCFF4FFE850F45C0FE2040E88 +:104C9000DB50CB5D0BE0040EDB5003E0040EDB06C3 +:104CA00002D0040EDB68050EDB2AE4D7040EA5EC67 +:104CB00034F0EF502C0857E1070ECBC0DBFF040E99 +:104CC000DBCFCBF0E66AD950020F3BEC35F0070E94 +:104CD000DBCFCBF0080ECBC0DBFF040EDB50F36E56 +:104CE000080EDB50F35C18E0080EA5EC34F0030E60 +:104CF000DBCFE7FFEF50E726030EE7CFDBFF080E21 +:104D0000DB2ADB50476E486AE850E7E1010E48189D +:104D1000E4E1080EDB6AE1D7030EDB1C010FE76E4E +:104D2000030EE7CFDBFF020EDB50F36E030EDB500A +:104D3000F35C0BE1010EF36E060EF3CFDBFF040E06 +:104D4000A5EC34F00D0EEF6E17D0A40E476E7D0E5D +:104D5000DFEC33F0030EE5EC34F060EC36F07AEC87 +:104D600043F0E55205D07B0E476E7D0E90EC35F09A +:104D700027EC36F0E9EC33F0060EDB5001E148D2C7 +:104D80000001ECEC33F010EC35F0F3CFDAF0000179 +:104D900013EC34F004E1010E481801E1CB6BDA5159 +:104DA000DE6EDD6AECEC33F02C0823E0ECEC33F043 +:104DB0000D081FE0ECEC33F00A081BE0ECEC33F0DC +:104DC00010EC35F0F3CFDBF0000113EC34F004E12C +:104DD000010E481801E1CB6BDAC04AF0496ADB5199 +:104DE00000014924476E000E4A20486E47C0DEFF8E +:104DF000DD6E000EDFCF3FF0010EDBCF40F0550E31 +:104E00003F1802E1510E401801E1D2D14D0E3F187A +:104E100002E1480E401801E1C8D1520E3F1802E1EC +:104E2000530E401801E1BED1520E3F1802E1510E5F +:104E3000401801E1B4D1420E3F1802E1520E401871 +:104E400001E1AAD1540E3F1802E1510E401801E1D0 +:104E5000A0D1540E3F1802E1530E401801E196D143 +:104E6000530E3F1802E1430E401801E18CD1530E5E +:104E70003F1802E1510E401801E182D14D0E3F185A +:104E800002E1580E401801E178D1530E3F1802E1BB +:104E9000450E401801E16ED1430E3F1802E1410E6C +:104EA000401801E164D14D0E3F1802E1510E401847 +:104EB00001E15AD1320E3F1802E1530E401801E1D0 +:104EC00050D1450E3F1802E1530E401801E146D182 +:104ED000470E3F1802E1510E401801E13CD1430E4C +:104EE0003F1802E1510E401801E132D14B0E3F183C +:104EF00002E1430E401801E128D14C0E3F1802E1B7 +:104F0000420E401801E11ED1440E3F1802E14E0E40 +:104F1000401801E114D1490E3F1802E14E0E40182D +:104F200001E10AD1420E3F1802E1510E401801E1A1 +:104F300000D14C0E3F1802E1510E401801E1F6D0AD +:104F40004C0E3F1802E1530E401801E1ECD04E0E1A +:104F50003F1802E1510E401801E1E2D04E0E3F1819 +:104F600002E1530E401801E1D8D0430E3F1802E190 +:104F7000530E401801E1CED04D0E3F1802E1450E10 +:104F8000401801E1C4D0450E3F1802E1510E40180F +:104F900001E1BAD0500E3F1802E1510E401801E174 +:104FA000B0D0500E3F1802E1540E401801E1A6D0D7 +:104FB000500E3F1802E1530E401801E19CD04D0EF7 +:104FC0003F1802E1530E401801E192D0570E3F18EE +:104FD00002E14D0E401801E188D0520E3F1802E167 +:104FE0004D0E401801E17ED0440E3F1802E1500EF4 +:104FF000401875E04F0E3F1802E1500E40186CE06B +:10500000490E3F1802E1500E401863E0410E3F1870 +:1050100001E140505BE0560E3F1801E1405053E083 +:10502000490E3F1801E140504BE04F0E3F1801E19F +:10503000405043E0550E3F1802E1430E40183BE05C +:10504000430E3F1801E1405034E0520E3F1801E199 +:1050500040502DE04D0E3F1802E14C0E401824E068 +:10506000330E3F1802E1540E40181BE0330E3F1878 +:1050700002E14C0E401812E0540E3F1802E14C0EB3 +:10508000401809E00001DB5101E094D0BDEC35F09F +:10509000C3EC35F0A3D0D1EC0FF0A8D076EC0FF034 +:1050A000A5D0B1EC0FF0A2D047EC0FF09FD0FBD809 +:1050B0009DD0EDDB9BD0FED899D0F7EC2CF096D0AC +:1050C0002DEC2DF093D043EC2DF090D04AEC2DF048 +:1050D0008DD082EC2EF08AD0F7EC2EF087D0E6EC63 +:1050E0002DF084D0C7EC2DF081D0ACEC2DF07ED02B +:1050F000EFEC11F07BD0A1EC17F078D07DEC17F03D +:1051000075D0FFEC16F072D018EC17F06FD016ECDB +:1051100018F06CD084EC0EF069D076EC18F066D004 +:1051200094EC18F063D0A6EC18F060D0C2EC18F044 +:105130005DD0E4EC18F05AD054EC18F057D067EC7E +:1051400018F054D0ABEC2FF051D0FDEC2FF04ED036 +:10515000F8EC18F04BD00FEC19F048D041EC19F0F6 +:1051600045D0C3EC3FF042D029EC1AF03FD0DDEC43 +:105170002CF03CD0B2EC16F039D058EC14F036D00C +:1051800069EC1AF033D09FEC1AF030D0DBEC30F041 +:105190002DD011EC31F02AD0B3EC2FF027D0BAEC9F +:1051A0002FF024D0CAEC2FF021D086EC12F01ED0C4 +:1051B000FFDA1CD0BDEC35F0DBC0E6FFE3DCE552E6 +:1051C000C3EC35F00FEC36F0DAC0E6FF43EC35F017 +:1051D000D7EC35F0020EE66EDBC047F0486A04EC0F +:1051E00034F0270E0EEC34F0E9EC33F00001ECEC77 +:1051F00033F00D080DE097510BE1520E476E486AEF +:10520000DF50471803E1DE52DD50481801E0978F68 +:10521000CAC0CBF0090EE15C02E2E16AE552E16E40 +:1052200000EF34F099EC35F02C0EDF6E010E010129 +:10523000BE1503E1FE0EDB5010E0F1EC34F000018E +:10524000DB5104E0DBC0E6FF9DDCE552FD0EDB50E8 +:1052500004E0DFCFE6FF96DCE552E55200EF34F0E4 +:10526000FBEC33F00101BEA104D05F0E476E7D0E52 +:1052700016D00001D05108E0FE0EDB5005E15C0EB7 +:10528000476E7D0EDFEC33F0FE0EDB50020804E1CA +:10529000590E476E7D0E03D0560E476E7D0EDFEC25 +:1052A00033F000EF34F040EC36F034EC34F099DCBD +:1052B000E4EF23F0D9CFE6FFE1CFD9FF030EE126DB +:1052C000E66AE66AAFDFE552E552E66AD9CFE6FF65 +:1052D000DACFE6FF010EE66E6CEC31F0E552E552F6 +:1052E000E552E552E66AD950010FE66E000EDA206B +:1052F000E66E020EE66E6CEC31F0E552E552E552D8 +:10530000E5520001975101E049D2DF041AE1D9507A +:10531000010FE96EDACFEAFFEE50ED100BE0010E5F +:10532000476E486A010EDB50471803E1020EDB505E +:10533000481804E1010EDBCFD0F002D00001978DB8 +:105340002AD2020E476EDF50475C1AE1D950010F96 +:10535000E96EDACFEAFFEE50ED100BE0010E476E7A +:10536000486A010EDB50471803E1020EDB50481873 +:1053700004E1010EDBCFBDF102D00001978D0BD20D +:10538000030E476EDF50475C1CE1D950010FE96EF8 +:10539000DACFEAFFEE50ED1003E106908C9410D0C6 +:1053A000010E476E486A010EDB50471803E1020EFA +:1053B000DB50481803E106808C9402D00001978DE1 +:1053C000EAD1040E476EDF50475C1DE1010EDBCFD2 +:1053D00047F0020EDBCF48F0483404E24750200883 +:1053E000000E485407E2200EF36E010EF3CFDBFFF0 +:1053F000020EDB6AE4EC19F0000901E0FBD7010EB4 +:10540000DB50186EC8D10A0E476EDF50475C1CE1B6 +:10541000D950010FE96EDACFEAFFEE50ED1003E14B +:105420000101BE9110D0010E476E486A010EDB509B +:10543000471803E1020EDB50481803E10101BE8169 +:1054400002D00001978DA7D1320E476EDF50475C26 +:105450000FE1D950010FE96EDACFEAFFEE50ED10FF +:1054600003E10001D96B03D00001010ED96F93D184 +:10547000330E476EDF50475C11E1FF0EE76E010E01 +:10548000DBCF47F0020EDBCF48F0E7504716486A03 +:1054900047500C6E0C5001E10E907DD1340E476EDA +:1054A000DF50475C0EE1FF0EE76E010EDBCF47F0E9 +:1054B000020EDBCF48F0E7504716486A47500D6EA2 +:1054C0006AD1350E476EDF50475C14E1010E476E1E +:1054D000486A010EDB50471803E1020EDB50481802 +:1054E00004E10001010EDD6F04D00001DD6B00015D +:1054F000DE6B51D1360E476EDF50475C12E1010E74 +:10550000476E486A010EDB50471803E1020EDB507C +:10551000481804E10001010EDF6F02D00001DF6BCB +:105520003AD13C0E476EDF50475C0DE1010EDBCFF8 +:10553000A5F0020EDBCFA6F0FF0E0001A517030EAB +:105540000001A61728D13D0E476EDF50475C37E1BA +:10555000F29EF29C010EDBCFA9F0020EDBCFAAF087 +:105560000001A951AA1109E10001A86B0001AB6B70 +:10557000AC6B0001AD6BAE6B1FD00001A851030AEC +:1055800014E0020A0FE0010A0DE0020A01E00AD06D +:10559000A9C0ADF0AAC0AEF00001E80EAB6F030EDB +:1055A000AC6F0AD00001010EA86F0001AB6BAC6BB1 +:1055B0000001AD6BAE6B00D0F28CF28EECD0FA0E27 +:1055C000476EDF50475C1FE1D950010FE96EDACF1B +:1055D000EAFFEE50ED1002E1099214D0010E476E81 +:1055E000486A010EDB50471803E1020EDB504818F1 +:1055F00007E109829592959092929490929A02D0A6 +:105600000001978DC8D0FB0E476EDF50475C26E146 +:10561000D950010FE96EDACFEAFFEE50ED1003E149 +:10562000099609941AD0010E476E486A010EDB50A4 +:10563000471803E1020EDB5048180DE10984099672 +:10564000020EE66EE66A1C0EE66E3BEC47F0E55293 +:10565000E552E55202D00001978D9DD0FC0E476EB9 +:10566000DF50475C26E1D950010FE96EDACFEAFF3F +:10567000EE50ED1003E1099609941AD0010E476E21 +:10568000486A010EDB50471803E1020EDB50481850 +:105690000DE109860984020EE66EE66A1C0EE66ECE +:1056A0003BEC47F0E552E552E55202D00001978D00 +:1056B00072D0FD0E476EDF50475C24E1D950010FD8 +:1056C000E96EDACFEAFFEE50ED1002E1099819D049 +:1056D000010E476E486A010EDB50471803E1020EC7 +:1056E000DB5048180CE10988020EE66EE66A1C0ED3 +:1056F000E66E3BEC47F0E552E552E55202D0000180 +:10570000978D49D0FE0E476EDF50475C1AE1098243 +:105710009592959092928C908C808C908C808C90AD +:105720008C808C908C808C908C808C908C808C90D9 +:105730008C808C908C808C908C808C908C80EBD723 +:105740002AD04768DF50475C24E1D950010FE96E49 +:10575000DACFEAFFEE50ED1002E1099A19D0010EFE +:10576000476E486A010EDB50471803E1020EDB501A +:1057700048180CE1098A020EE66EE66A1C0EE66E17 +:105780003BEC47F0E552E552E55202D00001978D1F +:1057900002D00001978DE66A63DDE552030EE15CFD +:1057A00002E2E16AE552E16EE552E7CFD9FF12006D +:1057B00099EC35F0ACEC35F0010EE5EC33F000017E +:1057C000975162E1DF0408E136EC35F0020EE66E37 +:1057D000DCC047F0486A20D0020E4DEC34F008E1FE +:1057E00036EC35F0200EE66EE66AE66AE66A44D0EC +:1057F000030E4DEC34F006E136EC35F0185066EC53 +:1058000034F038D0040E4DEC34F009E1B1EC23F063 +:1058100036EC35F017EC35F004EC34F02FD0050EF3 +:105820004DEC34F00EE136EC35F017EC35F004ECCD +:1058300034F0E9EC33F0F29C0001E06BE16BF28CA8 +:1058400021D03C0E4DEC34F007E136EC35F0A5C02C +:1058500047F0A6C048F00AD03D0E4DEC34F011E1FF +:1058600036EC35F0A9C047F0AAC048F0496A4A6A48 +:1058700047C0E6FF43EC35F044EC36F0E9EC33F09A +:1058800001D0978D34EC34F0E55200EF34F0FBECAE +:1058900033F0050E4AEC35F0010E13EC36F017EC40 +:1058A00036F0E66AD950030F3BEC35F0E66AD95082 +:1058B000040F52EC36F010E1DF50926E010EDB5017 +:1058C000936E020EDB50946E030EDB50956E040E49 +:1058D000DB50966E34EC34F0050EE15C02E2E16AD6 +:1058E000E552E16E00EF34F0FBEC33F0FE0EDB50DE +:1058F000100805E2100EF36EFE0EF3CFDBFFFD0E77 +:10590000DB502BE0FE0EDB5093EC48F0F35000012F +:10591000A113F450A213080EF36EFE0ECFEC34F078 +:105920000DE2010EF36EFE0EDB5003E026EC34F0C8 +:10593000FDE1F350F31C0F0148173DD0FE0EDB5084 +:105940000C0839E31EEC35F004E0E846FE0B470690 +:10595000FCE1E81C0F0149172ED0FE0EDB5093EC42 +:1059600048F0F3CF47F0F4CF48F0471E481E4750A9 +:105970000001A1174850A217080EF36EFE0ECFECDF +:1059800034F00CE2010EF36EFE0EDB5003E026EC69 +:1059900034F0FDE1F3500F0148130DD0FE0EDB5043 +:1059A0000C0809E31EEC35F004E0E846FE0B470660 +:1059B000FCE10F01491300EF34F056EC36F013EC24 +:1059C00036F0010F52EC36F00AE1010EDBCFE6FFB4 +:1059D000DFCFE6FF89DFE552E55234EC34F0020E0A +:1059E000E15C02E2E16AE552E16E00EF34F056EC70 +:1059F00036F0E5EC33F081EC34F027E1010EDB50BA +:105A000002E1DF50896E5FEC35F01FE1010EDB50E3 +:105A100002E1DF508A6E5FEC35F017E1010EDB50DA +:105A200002E1DF508B6E5FEC35F00FE1010EDB50D1 +:105A300002E1DF508C6E5FEC35F007E1010EDB50C8 +:105A400002E1DF508D6E34EC34F0020EE15C02E2D4 +:105A5000E16AE552E16E00EF34F0010EE66EE66EAB +:105A600079EC35F0805064EC35F0815064EC35F021 +:105A7000825064EC35F0835064EC35F0845048EC8F +:105A800036F0E9EF33F0C0EC34F09A0E476E8C0E2E +:105A900068EF35F034EC36F0DF6A010EF36EDB6E42 +:105AA000020EDB6AE66A010EE66E79EC35F09DBC0B +:105AB000FED7DF6ADFCF47F0100EE76E4718E8AE7B +:105AC00002D0E73402D0E750475C3BE2010EDB50E6 +:105AD0000001A1150001476E020EDB500001A21566 +:105AE0000001486E475048101FE02C0E0EEC34F0B9 +:105AF00030EC34F047AE03D0486849684A6838EC67 +:105B000036F03A0E0EEC34F0DFCFE9FFEA6AE9BE78 +:105B1000EA6889EC35F0EA22EECF47F0EFCF48F0A3 +:105B2000496A4A6A38EC36F002EC35F0D8904736CC +:105B30004836010E47C0DBFF020E48C0DBFFDF2AFC +:105B4000B9D7020EFCEC35F0030EE15C02E2E16A2B +:105B5000E552E16E00EF34F030EC36F0030E13EC5A +:105B600036F0020F52EC36F00AE1DEEC35F005E2D9 +:105B7000CAEC34F0020EDBCFEFFF34EC34F0030E4E +:105B8000E15C02E2E16AE552E16E00EF34F034ECF0 +:105B900036F0ACEC35F0030EE5EC33F00001975134 +:105BA0000DE1DEEC35F005E2CAEC34F0020EEFCF89 +:105BB000DBFF020EE5EC34F04FEC35F0030EE15C58 +:105BC00002E2E16AE552E16E00EF34F04BEC36F0B0 +:105BD00001E090D0020EDB50010801E287D0010EF7 +:105BE000DB50070801E282D0410E4DEC34F016E1A3 +:105BF000020EDB500AE139EC34F003E026EC34F01D +:105C0000FDE1F350F31C921673D039EC34F003E04D +:105C100026EC34F0FDE1F35092126AD0420E4DECC6 +:105C200034F016E1020EDB500AE139EC34F003E007 +:105C300026EC34F0FDE1F350F31C931659D039EC07 +:105C400034F003E026EC34F0FDE1F350931250D031 +:105C5000430E4DEC34F016E1020EDB500AE139EC54 +:105C600034F003E026EC34F0FDE1F350F31C94161D +:105C70003FD039EC34F003E026EC34F0FDE1F35092 +:105C8000941236D0440E4DEC34F016E1020EDB5087 +:105C90000AE139EC34F003E026EC34F0FDE1F35096 +:105CA000F31C951625D039EC34F003E026EC34F0E3 +:105CB000FDE1F35095121CD0450E4DEC34F016E189 +:105CC000020EDB500AE139EC34F003E026EC34F04C +:105CD000FDE1F350F31C96160BD039EC34F003E0E1 +:105CE00026EC34F0FDE1F350961202D0978D02D0ED +:105CF00034EC34F0030EE15C02E2E16AE552E16E5D +:105D000000EF34F034EC36F0020EDB6AACEC35F028 +:105D1000050E13EC36F0010F52EC36F060E1010E87 +:105D2000DB50070850E3410E4DEC34F00AE139EC4A +:105D300034F003E026EC34F0FDE1F350801439E058 +:105D400029D0420E4DEC34F00AE139EC34F003E096 +:105D500026EC34F0FDE1F35081141CE12AD0430E0F +:105D60004DEC34F00AE139EC34F003E026EC34F089 +:105D7000FDE1F35082140EE11CD0440E4DEC34F0E2 +:105D80000BE139EC34F003E026EC34F0FDE1F350A4 +:105D900083140FE0010E10D0450E4DEC34F013E1EA +:105DA00039EC34F003E026EC34F0FDE1F3508414D8 +:105DB00002E1000E01D0010EE76E020EE7CFDBFF1D +:105DC000DB5008E002D0978D0AD0010EF36E020E70 +:105DD000F3CFDBFF020EE5EC34F04FEC35F0030EB1 +:105DE000E15C02E2E16AE552E16E00EF34F04BEC77 +:105DF00036F001E090D0020EDB50010801E287D0BE +:105E0000010EDB50070801E282D0410E4DEC34F068 +:105E100016E1020EDB500AE139EC34F003E026EC27 +:105E200034F0FDE1F350F31C891673D039EC34F0F3 +:105E300003E026EC34F0FDE1F35089126AD0420E03 +:105E40004DEC34F016E1020EDB500AE139EC34F08F +:105E500003E026EC34F0FDE1F350F31C8A1659D030 +:105E600039EC34F003E026EC34F0FDE1F3508A1213 +:105E700050D0430E4DEC34F016E1020EDB500AE137 +:105E800039EC34F003E026EC34F0FDE1F350F31C80 +:105E90008B163FD039EC34F003E026EC34F0FDE112 +:105EA000F3508B1236D0440E4DEC34F016E1020E56 +:105EB000DB500AE139EC34F003E026EC34F0FDE18C +:105EC000F350F31C8C1625D039EC34F003E026ECAB +:105ED00034F0FDE1F3508C121CD0450E4DEC34F043 +:105EE00016E1020EDB500AE139EC34F003E026EC57 +:105EF00034F0FDE1F350F31C8D160BD039EC34F087 +:105F000003E026EC34F0FDE1F3508D1202D0978DC2 +:105F100002D034EC34F0030EE15C02E2E16AE552B7 +:105F2000E16E00EF34F0D9CFE6FFE1CFD9FFE652C2 +:105F3000DF6AFF0EDF5C0AE2E868E85005E0E80689 +:105F400000D000D000D0F9D7DF2AF3D7E552E552D0 +:105F5000E7CFD9FF1200F29EF29C6592656AE3DFFB +:105F60000FEF00F01200F29EF29C6592656ADBDF93 +:105F7000FF001200C0EC34F08050080B01E0010E6D +:105F800048EC36F00101BEB103D0020EFCEC35F056 +:105F900034EF34F0FBEC33F0060E4AEC35F0070E2C +:105FA000E5EC33F0010EE66ED950040F3BEC35F012 +:105FB000E76E050EE7CFDBFF0001975116E1DFCF5B +:105FC000D5F0010EDBCFD6F0020EDBCFD7F0030EFB +:105FD000DBCFD8F0050EDB5006E1040EDB5002E00B +:105FE000898601D0899634EC34F0060EE15C02E239 +:105FF000E16AE552E16E00EF34F0FBEC33F0100E95 +:10600000E12640EC36F0E5DBE66AD950010F09ECF9 +:1060100034F0E66A61D96BEC35F0E66A01EC36F0F3 +:10602000010E13EC36F0040F09EC34F0020E13EC01 +:1060300036F0020FEEDB030E13EC36F00A0FE9DB4D +:10604000060E13EC36F0060FE4DB070E13EC36F009 +:106050000E0FDFDB040E13EC36F00F0FDADB050E4C +:10606000B4DB4E0E476E7D0EAADB010EE5EC34F07C +:1060700047AE03D0486849684A6824EC36F0460EBB +:10608000476E7D0E9CDBECDB4FEC35F03E0E476E31 +:106090007D0E95DB040EDBCF47F0050EDBCF48F01D +:1060A000496A4A6A48AE02D049684A6824EC36F028 +:1060B000360E476E7D0E83DB020EDBCF47F0030EFC +:1060C000DBCF48F0496A4A6A4FEC35F02E0E476E36 +:1060D0007D0E75DBD9500A0FADDB5BEC36F0B1EC11 +:1060E00035F0D950060FA6DB44EC36F072DB1E0EFD +:1060F000476E7D0E64DB0E0ECAEC35F0160E476E51 +:106100007D0E5DDB0F0ECAEC35F0B1EC35F0080EFC +:10611000E66E7EEC35F0B1EC35F0E66A7EEC35F0FB +:10612000A3DB100EE15C02E2E16AE552E16E68D3A6 +:1061300099EC35F0DF6A110EDF5C04E2B7DBEF6A41 +:10614000DF2AF9D7E4EC35F0DF6A100EDF5C21E2DC +:10615000ADDBEF5080081DE3A9DBEFCF47F0200E49 +:10616000475C17E3A3DBEF50E66E180E0201486AA6 +:10617000FA25476EFB51D9EC34F098DBEF50E66E10 +:10618000020E486AFC25476EFD51D9EC34F0DF2A37 +:10619000DCD7DF50E824180FFAC2E9FFFBC2EAFFA0 +:1061A000EF6EDF50E824020FFCC2E9FFFDC2EAFFF8 +:1061B000EF6EE55225D33CEC36F0DF6A40EC36F06A +:1061C000010EDB6A110EF36E010EE9DB0BE2010E2C +:1061D000DB50EA6AE80FE96E000EEA22EF6A010E70 +:1061E000DB2AF0D7100EE66E06EC36F03AD827EC34 +:1061F00036F0DF6EE668FB0EE66EE66AE9EC35F037 +:10620000D1EC45F0FDEC34F04CDB3BEC44F0FDEC24 +:1062100034F02ADB020EE15C02E2E16AE552E16E53 +:10622000EFD299EC35F0ACDBDF6A110EDF5C04E2F3 +:106230003DDBEF6ADF2AF9D7E4EC35F0800E000190 +:10624000E85D09E2E851200806E206EC36F034EC9D +:1062500043F0E552E5520101BEA1BBDA05DBE55290 +:10626000CFD299EC35F0DF6A53DBEF6AF0EC35F012 +:1062700002E1978905D0B0DA2C0804E052EC35F041 +:10628000000E28D0D0DA04E1010E481801E1CB6BF2 +:106290000D0E0BEC36F009E02C0E486E9DDA485CD2 +:1062A00004E0FC0EDB50DF5C02E3DF5013D094DA35 +:1062B000E66E2EDBE552E750EF6EB5DA04E1010E33 +:1062C000481801E1CB6BDF2AFD0EDB2AFE0EE0E36E +:1062D000DB2ADED7E55294D28EDA090EE126080ECB +:1062E000DB6AF0EC35F005E1FB0EDB5019E1978934 +:1062F00017D072DA2C0806E0FB0EDB5001E1D2DB8E +:10630000020E1AD190DA04E1010E481801E1CB6BBC +:106310000D0E0BEC36F006E1FB0EDB5001E1978928 +:10632000030E0AD12D0E0BEC36F020E1040E54DBE7 +:106330001DE0050E496EFE0EDB50495C17E0FE0EB7 +:10634000DB0401E1C0D0030E2FDB01E1BCD0070E5E +:1063500043DB01E1B8D0010EF36E080EF3CFDBFF93 +:1063600062DA04E1010E481801E1CB6B040E1CDB7C +:1063700009E0050E31DB06E00A0EF1DAE6D827EC7B +:1063800036F031D0CB51AFDBEFCF47F0000E47C036 +:10639000DFFF3FDB050E08DB1FE1000EDFCFE6FF6E +:1063A000010EDBCFE6FF61EC48F0E552E552F3CF9A +:1063B00047F0F4CF48F0496A4A6A48AE02D04968CB +:1063C0004A6847C0DFFF010E48C0DBFF020E49C02C +:1063D000DBFF030E4AC0DBFF000125DA04E1010EFA +:1063E000481801E1CB6B080EDB5040E0FE0EDB509D +:1063F00006E14DDA800E6EDA000EEE5412E3020E64 +:10640000D3DA06E144DA000EEE54800E63DA09E3D3 +:10641000060EE2DA08E13BDA000E5CDA800EEE549A +:1064200002E2000150D07BDA080EDB5053E0040E8C +:10643000DBCF3DF0050EDBCF3EF0060EDBCF3FF0AD +:10644000070EDBCF40F0426843684468456874EC4F +:1064500047F0040E39C0DBFF050E3AC0DBFF060E25 +:106460003BC0DBFF070E3CC0DBFF34D0FE0EDB5031 +:1064700006E10DDA7F0EEE54000E2CDA23E3FE0E59 +:10648000DB0404E173DB000E25DA1CE3020E8CDA78 +:1064900004E16CDB7F0E1EDA15E3030E9DDA04E1E6 +:1064A00065DBFF0E17DA0EE3060E496EFE0EDB50BB +:1064B000495C0CE15BDBFF0EEE54FF0EEE547F0EE9 +:1064C000EE5404E20001978D010E36D0070E6CDA0F +:1064D00001E025DAFE0EDB50070A21E0010A17E091 +:1064E000050A11E0010A0FE0030A08E0050A06E0C8 +:1064F000010A04E0050A02E0040E1ED029DA040EA7 +:10650000DBCFEFFF18D072DBDBCFEDFF14D06EDBFB +:10651000DBCFEEFF060EDBCFEEFF070E0AD018DA58 +:10652000DFCFEEFF010EDBCFEEFF020EDBCFEEFF83 +:10653000030EDBCFEEFF000E476E090EE15C02E2B8 +:10654000E16AE552E16E47505BD196DBE1D9EE6A34 +:10655000EE6AEE6AEE6A010EDB6AFC0EDB50F36E49 +:10656000010E1DDA4FE20001CB51BDDAEFCFDFFFA4 +:10657000300EDF5C42E3DF5039083FE3C9D9EECF8C +:1065800047F0EECF48F0EECF49F0EFCF4AF00A0ED9 +:10659000426E436A446A456A47C03DF048C03EF0D7 +:1065A00049C03FF04AC040F074EC47F039C047F0B2 +:1065B0003AC048F03BC049F03CC04AF0300EDF5CC6 +:1065C0004B6E4C6A4D6A4E6AE85047264C50482242 +:1065D0004D5049224E504A229BD947C0EEFF48C039 +:1065E000EEFF49C0EEFF4AC0EEFF00011CD907E1F3 +:1065F000010E481804E1CB6B02D0000E04D0010E4E +:10660000DB2AABD7010E476E020EE15C02E2E16AC3 +:10661000E552E16E4750F4D0EC0E476E7C0ECFD8B9 +:1066200091C047F0FCDA4FEF35F00501A85108E0C2 +:10663000010E476E6550020B01E0010E475C17E149 +:10664000D6D90BE1FD51FE1111E18C86A00EFD6F34 +:106650000F0EFE6F010EFF6F1200FD51FE1152E191 +:106660008C96A00EFD6F0F0EFE6FFF6B1200A8053B +:1066700009E0020EA85D06E0040EA85D03E0100E1E +:10668000A85D17E1B4D90BE1FD51FE1111E18C8633 +:10669000200EFD6F4E0EFE6F010EFF6F1200FD51BA +:1066A000FE1130E18C96200EFD6F4E0EFE6FFF6BDB +:1066B0001200200EA85D26E19AD907E1FD51FE11D6 +:1066C00021E18C86CED9010E15D0FF0507E1FD51E1 +:1066D000FE1118E18C96C5D9020E0CD0020EFF5D9A +:1066E0000BE1FD51FE110EE18C86A00EFD6F860EB2 +:1066F000FE6F030EFF6F1200FD51FE1103E18C9639 +:10670000B0D9FF6B120077D8A0D9E8AE02D04734D9 +:1067100003D0E750D880475423E3FD0EDB5010E050 +:106720000FD9F6BEF768A9D804E0E846FE0B480684 +:10673000FCE1476E05D9F6BEF768FED9EF1210D01E +:10674000FFD8F6BEF76899D804E0E846FE0B480685 +:10675000FCE1E81C476EF4D8F6BEF768EDD9EF16F9 +:106760004FD049D872D9E8AE02D0473403D0E750B1 +:10677000D880475423E3FD0EDB5011E1E1D8F6BE8B +:10678000F7687BD804E0E846FE0B4806FCE1E81C0D +:10679000476ED6D8F6BEF768D7D9EF160FD0D0D847 +:1067A000F6BEF7686AD804E0E846FE0B4806FCE14E +:1067B000476EC6D8F6BEF768C7D9EF1221D0B0D958 +:1067C00027EF36F060D944EF36F0E66E85DD6BEFEB +:1067D00035F0010EFCEF35F0CB5185D9EF501200AA +:1067E00088D9E66A01EF36F07D51E96EEA6AD89001 +:1067F000E936EA361200D9CFE6FFE1CFD9FF120021 +:10680000E552E7CFD9FF1200496A4A6A59DAD7EF51 +:1068100035F0E66E000EDA20E66E1200E66EC2EC8F +:1068200025F0E5521200CB2BCB51476E486A000E83 +:1068300047181200E96EDACFEAFFEECFE6FFEECF9F +:10684000E6FFEECFE6FFEFCFE6FF1200D890F3367B +:10685000E8061200EA22EECF4FF0EFCF50F0120020 +:10686000DFCF47F00FEF36F0E66A30EC29F0E55263 +:106870001200010EF36EDB5012002D0EF6268D0E67 +:10688000F7220800F550486E010E48521200D9CF89 +:10689000E9FFDACFEAFFD8801200476EDF50475C8D +:1068A0001200B4D9100EE66EE9EF35F0DF50EA6A57 +:1068B000E80FE96E000EEA221200F7220900F5CF78 +:1068C000E9FF0800F5CFEAFF47501200476EA7D94D +:1068D000E66E1200EE54000EEE54000EEE5412005E +:1068E000DF6EDFCFE6FFC951486A000F476E020E28 +:1068F000482247C0E6FF48C0E6FF0CEC42F027EF15 +:1069000036F0E76E010EE7CFDBFF00019751120072 +:10691000FD0EDBCFE9FFFE0EDBCFEAFF1200D9CF81 +:10692000E9FFDACFEAFF040EEECFDBFF050EEECF74 +:10693000DBFF060EEECFDBFF070EEECFDBFF120014 +:10694000FE0EDBCFF6FFF76A1200DB5073EF35F077 +:10695000FC0EDBCFE9FFFD0EDBCFEAFF1200E66E97 +:1069600001EF36F07D51EA6A690FE96E000EEA2206 +:10697000EF500001EA6A8025E96E8151EA22120097 +:10698000010EE66EE66A79EF35F0DECF47F0DDCF37 +:1069900048F01200DECFE9FFDDCFEAFF1200DBCFC7 +:1069A000F4FFF350F45C1200476EFE0EDB50475CC0 +:1069B00012004822DF50E8244724E96E000E4820E8 +:1069C000EA6EE552E750EF6E1200DBCF47F00FEFB3 +:1069D00036F0CA5173EF35F0486EFE0EDB50485C5E +:1069E0001200DAC0E6FFC2EC25F0E5521200010108 +:1069F000FD07000EFE5BFF511200476E080EE15EC0 +:106A000047501200010EDBCF47F0020EDBCF48F0FB +:106A10001200010EDB6A020EDB6A030EDB6A120053 +:106A2000E66EE66A61EC48F0E552E5521200030EAC +:106A3000E66EE0C047F0E1C048F01200FE0EDB5009 +:106A4000F80F476E010E47521200FE0EDBCF47F0E3 +:106A5000190EE76E47181200EA22EF6ADF2A010ECC +:106A60001200100EFD6F270EFE6F1200F9DE00D926 +:106A70002C0E0EEF34F0CDDE010EE5EF33F0EADE42 +:106A8000EAD8EA22120048C0E6FF49C0E6FF4AC041 +:106A9000E6FF1200E126E66AE66AF0EF33F0E8D896 +:106AA000E9EF33F0F40E476E7C0E89DE000194DED0 +:106AB000B5DE270EB3DE8DDE0001978B1200010ECE +:106AC0004EDF83DE81EF34F0E3D82C0E0EEF34F08E +:106AD00076DEE9EF33F0BBD8E552120085DE750EA5 +:106AE000E926000E1200EA6A000FE96E030EEA22A0 +:106AF000120012EC29F0E552E5521200D950060FAF +:106B000099DE40EC43F0476E050EE15E4750E9EF39 +:106B100033F0D890E936EA36000EE926010E12006D +:106B2000486E496A47C0E6FFE66E49C0E6FF23EFBC +:106B300043F061DEE6521200D890F636F736FB0ECF +:106B4000F6268C0E5DEF34F0D890F636F736C90E87 +:106B5000F6268C0E5DEF34F0010EE66EE66EF0EF79 +:106B600033F0260E476E7D0EDFEF33F090DEFF0E22 +:106B7000EE54120070D82AEF34F0610E476E7D0E8D +:106B80001EDEF1EF34F03A0E49DE020EE66EDAC098 +:106B900047F01200DBCFE6FFC2EC25F0E552E9EF4B +:106BA00033F0F3DE400E475C000E4858120040EC14 +:106BB00043F04B6E050EE15E4B501200E6DE000E18 +:106BC000475C100E485812006CDEF2EC46F0FDEF08 +:106BD00034F0E66AE66AF80EE66EE66AE66A1200E5 +:106BE0000D0E476E0001F8DD475C1200B1DE040EA9 +:106BF000DBCFEEFF050E1200E66E30EC29F0E55219 +:106C00001200D9CFE6FFDACFE6FF1200E80EE66EFB +:106C1000000EE66E1200476EDFDD475C1200486A28 +:106C2000496A4A6A1200D1DDE66AD9501200010FA2 +:106C300022DFE66AD950020F3BEF35F0D5DD6D0E4D +:106C4000E926000E3FEF35F03BD85BEF36F0E5521A +:106C5000E552E5521200C8DD610EE926000E120071 +:106C6000CADD030E4AEF35F0C6DD030EE126120041 +:106C700047C0E6FFE2EF33F0BEDD020EE126120070 +:106C8000E66AE66A79EF35F07AEC43F06BEF35F0BF +:106C90001DDEE2EF33F0E4DF050EC5DFC8DF0001E3 +:106CA00097511200E8DE000197511200A4DD020E98 +:106CB000F1DE010E120096EC43F00DDFE9EF33F048 +:086CC00047C0E6FF43EF35F089 +:086CC800CEEC3CF0A098636AD9 +:106CD000626A0F01266BADEC3CF00F016CEC3CF0EE +:106CE000DF6ADF50476E486A0C0E475C000E48585A +:106CF00010E2DF50040DF3CFE9FFF4CFEAFF000EFE +:106D0000E926040EEA22EE6AEE6AEE6AEE6ADF2AED +:106D1000E8D7658C0F01386B6598659C62A607D033 +:106D200062960501BF6BC46BC56BC66BF7D70501D7 +:106D3000010ED86FD96FDA6BDB6BCC6BDF6A030E99 +:106D4000DF5C11E2EA6ADF34D1EC3CF0EA22EE6A61 +:106D5000ED6AEA6ADF34D8EC3CF0EA22EE6AED6ACA +:106D60002DEC3CF0ECD70501080EB56F040EB66FA4 +:106D70000F01160E266F0401300E026F040E036F12 +:106D8000400E016F840E006F0501A96BA86BE552E0 +:106D9000FFEF3BF0CEEC3CF082BE06D0656A0F01FF +:106DA000366B0501A86B6FD00501A8510CE1656A2F +:106DB0000F01366B6CEC3CF065B602D06586FCD7F3 +:106DC0000501010EA86FA8050AE165BA08D0626A3C +:106DD0000F01366B368136890501020EA86F6250AD +:106DE000040B06E00F013651040B02E0629447DB0E +:106DF00065B249D06250010B09E00F013651010B19 +:106E000005E062DF0501040EA86F62906250100B6E +:106E100006E00F013651100B02E026DB629862ACEF +:106E200010D00F0136AD05D073EC3CF0730EECECD6 +:106E30003BF0629C0501D65101E0D607D65101E135 +:106E4000F4D86250200B05E00F013651200B01E011 +:106E5000FADA6250020B0CE00F013651020B08E027 +:106E600073EC3CF0E6687F0EE66EDFEC3CF0636AA4 +:106E7000040E0501E76EA819E8AE02D0E73402D08F +:106E8000E750A85D02E2A1982FD00F0136A72BD0C2 +:106E9000DF6A040EDF5C27E262A625D064CFCDF561 +:106EA0000501CD51780BE842E842E842CE6F629688 +:106EB000CDB504D0CE51E6EC3CF003D0CE51EBEC96 +:106EC0003CF0EA22EF70CE5102E1E6DA0AD0000E81 +:106ED000E66EE66ACD0EE66E050EE66E720EECEC20 +:106EE0003BF0DF2AD6D7A198E552FFEF3BF09FECAD +:106EF0003CF0FD0EDBA403D0E66A64EC3CF0FD0E32 +:106F0000DBA204D0010EE66E64EC3CF0FE0EDB501A +:106F1000486A260F476E0F0E5EEC3CF0F0EC3BF03B +:106F2000FD0EDBCFEFFF020EE15C02E2E16AE5520B +:106F3000E16EFFEF3BF09FEC3CF0FD0EDB5003E019 +:106F4000E7EC3BF002D01EEC3CF04AEC3CF0D9CF31 +:106F5000E9FFDACFEAFFEE50ED1003E1F36AF46ADD +:106F600028D0F0EC3BF0FAEC3CF0FB0EDBCFEEFF70 +:106F7000FC0EDBCFEDFFF0EC3BF0EE52FA0EDBCF78 +:106F8000EFFF400EF0EC3CF0880EFFEC3CF0FD0E05 +:106F9000DB5003E0E7EC3BF002D01EEC3CF0EA22D1 +:106FA000EF74DECF47F0DDCF48F047C0F3FF48C0B5 +:106FB000F4FF020EE15C02E2E16AE552E16EFFEFEE +:106FC0003BF09FEC3CF0FE0EDB5003E1B6EC3CF0F6 +:106FD00009D023EC3CF08DEC3CF023EC3CF0010FAD +:106FE0008DEC3CF0020EE15C02E2E16AE552E16EFA +:106FF000FFEF3BF0FAEC3BF065A816D0C7EC3CF095 +:10700000400EEE16EE6AEE6AEE6AC7EC3CF0EE7CDD +:10701000DEDBEA22EF74400E476EC7EC3CF04750CF +:10702000EF16C7EC3CF0EF7CEAD30501D85122E122 +:10703000010ED86FD9511EE1010ED96F020EBC5D51 +:1070400007E1D3DBEE52EF6AD0DBC80EEF6E120021 +:10705000BC0510E1CF6BDFDBEE52400EEF6EDBDBE9 +:1070600099EC3CF0D8DB840EEF6E010ECF6FABDBFA +:10707000800EEF6E12000501DA6BDB6B020EBC5D59 +:1070800006E1F4EC3CF0CCDB88EC3CF010D0C051D5 +:107090000401365D0501C1510401375904E236C4CB +:1070A000C0F537C4C1F561D8A0DBBADB9EDBC80EE2 +:1070B000EF6E12009FEC3CF0000EDE6E040EDD6EF3 +:1070C000C2DB040DF4CF48F0D9CFE9FFDACFEAFFF5 +:1070D000F350EE264850ED2283DBEF9EFD0EDB5091 +:1070E00002E1ACDB01D073DBEA22DECFEEFFDDCFC5 +:1070F000EDFF76DBEF9C74DB040EE926000EEA223E +:10710000EF8C020EE15C02E2E16AE552E16E77D3B8 +:1071100065980501BFBF0DD0C4AF09D0020EBC6F8A +:10712000DB5101E1A8DF0501D96BD86B1200B6EF86 +:107130003CF0040130AF0DD00501010EBC6FDA51F7 +:1071400001E199DF0501D96BD86BD7510DE115EF3E +:1071500038F00501020EBC6F36DB840EEF6ED96B82 +:10716000D86BD75101E161DF1200CEEC3CF0400E4C +:10717000DF6E0501C05D000EC1590AE2C0C5DFFF28 +:10718000BB5102E1010E03D0BB0502E1020EBB6F51 +:10719000DF50486AE850C05DC06F4850C159C16FA8 +:1071A00024DBEE52DFCFEFFF380EC96F040ECA6F3B +:1071B000BFB10DD0DF5017E0BDC5F6FFBEC5F7FF6C +:1071C000BD2B000EBE230800F55057DBF3D7DF5070 +:1071D0000AE0BDC5E9FFBEC5EAFFBD2B000EBE2318 +:1071E000EF504BDBF4D7E5520AD3A9DB14DBEE52A8 +:1071F000EFCFDFFFDFCF47F047500501C55D000E41 +:10720000C65902E2C5C5DFFFDF50476E486AE85045 +:10721000C55DC56F4850C659C66F010EDB6ADF50A9 +:10722000F36E010EDBCFF4FFF350F45C16E2010EB7 +:10723000DB50EA6A380FE96E040EEA22EF50E66E80 +:10724000C2C5E9FFC3C5EAFFC22B000EC323E55246 +:10725000E750EF6E010EDB2AE2D7000ED880C5554D +:10726000000EC6550DE2C0DBDBDAD5DAEF50400B7D +:1072700003E14EDBC80E02D04BDB880EEF6E12D05E +:10728000A2DA840EEF6EC751C81107E005D0C8C559 +:10729000FAFF0501C751F96EFADF0501C49FD75106 +:1072A00001E1C3DE020EE15C02E2E16AE552E16E59 +:1072B000A6D274DB0501BF8F50DB300EE66EE66AA6 +:1072C000E66A000EE66E040EB1DA658CDF6A030E24 +:1072D000DF5C02E2C2DAFBD7010EE66EE66AE66A1E +:1072E000AA0EE66E050EA2DA659C0501080EB56FC2 +:1072F000040EB66F000EAB6F040EAC6FABC5ADF5F0 +:10730000AE6F32C4A9F5A95102E1100E0BD0010EE7 +:10731000E66EE66AA90EE66E050EE66E010E5CDA12 +:107320000501200EA86FE5526AD2800E0401305D7F +:107330004EE10501C00EBF6F04013351030A25E081 +:10734000010A09E0030A41E10501C00EBD6F8F0E7D +:10735000BE6F120E34D03251F66EF76AD890F63600 +:10736000F736150EF626900EF7220900F5CFBDF57B +:107370000A00F5CFBEF5020E0501BCDAF5CFC0F567 +:10738000030EB8DAF5CFC1F51200040E325D1AE231 +:107390000501BF8104013251E96EEA6AD890E936ED +:1073A000EA36F60EE926020EEA22EECFBDF5EDCF63 +:1073B000BEF5BDC5E9FFBEC5EAFFEF500501C06FD0 +:1073C000C16B12000501BF6B12000501BF6B1200FB +:1073D000B6DA0401386B396B30511F0B020A11E029 +:1073E000030A0CE0010A1EE10501BF8F0401388188 +:1073F0000501CB0517E10401388314D00501BF8FC7 +:1074000011D00501BF8F040134BF02D0B6DA01D01C +:10741000B9DA40DABFDA06E0E3D9EF50040B02E054 +:10742000010E386F0501BFAF07D0380EBD6F040ED7 +:10743000BE6FBF81020EC06F020EE15C02E2E16A24 +:10744000E552E16EDCD10F0126A10CD0E4D9EF505A +:10745000800807E1CAD9EF50840803E1DCD98C0E1B +:10746000EF6E2691629A12000F013685629865824E +:107470000501010ECC6F14DA750EECEF3BF005013F +:10748000CC6B0EDA740EA8D965920F01369562A402 +:1074900002D06294FCD7120081DA05012D0ED66F5E +:1074A000FD0ECD1539E17E0ECD15E8407F0B040DA4 +:1074B000F3CFABF5F4CFACF5000EAB27040EAC2345 +:1074C000ABC5ADF5ACC5AEF5AD75A5D9EF503C0B70 +:1074D000E842E8420D081EE1DF6A080EDF5C16E2B2 +:1074E0009AD9020EE926000EC2D9EF50E66EDF509F +:1074F000EA6A300FE96E040EEA22E552E750EF6EB9 +:107500008AD978DAEE2AEF22DF2AE7D784D911DA8E +:107510000AD807D023D805D0FD0ECD15040801E107 +:107520002CD8E5526CD10501BB6BD76BDA6BDB6BEA +:10753000CF6BBC6B5AD9EF9EB57557D9EF9EB57519 +:10754000E7D9EF9EBF6BC06BC16BC46BC56BC66BDD +:1075500051D8A6D9030E40D988EF38F0020E0501A4 +:10756000BC5D02E1F5EF38F0BC6BCF5104E12BD9E3 +:107570008C0EEF6E1200CF6B120010DA36D9EF507E +:10758000400B01E0010EDF6E0501B575080EA85D28 +:107590000BE132C438FF0F01385103E00501100E32 +:1075A00002D00501040EA86FBC0513E11ED938D91D +:1075B000DCDD020E0501BB5D03E117D9840E07D0A7 +:1075C000DF5003E112D9C80E02D00FD9880EEF6E3A +:1075D0000FD0C4AF0CD0C751C81107E005D0C8C543 +:1075E000FAFF0501C751F96EFADF0501C49FBC6BB4 +:1075F000E55205D104013051600BE842E842E8420F +:10760000E842E842000901E0120031510C0A45E06D +:107610000B0A3FE00C0A31E0010A22E00B0A1EE0EF +:10762000020A1CE0030A18E0080A10E0010A0CE054 +:107630000F0A08E0030A01E012000501BF8F080EDF +:10764000A86F120095EF39F059EF39F00501A90E36 +:10765000BD6F050EBE6F0CD0E8EF39F04EEF3BF07A +:1076600034510501BD6FBE6BAA0EBD27050EBE23AA +:10767000BF81010EC06FBF8F12000501BF8F0401D3 +:107680003451EA6AAA0FE96E050EEA2232C4EFFF0E +:10769000120006D9020EECEF3BF01200ABD8050E3B +:1076A000E1260401320510E130511F0B00090CE105 +:1076B0000501BF8F030E0401315D04E10501010ED8 +:1076C000CB6F02D00501CB6B0401325101E074D0C5 +:1076D00030511F0B020870E134510F0B00096CE0B0 +:1076E00034510F0B020868E3200E0501A85D64E128 +:1076F000BF8F040134BF04D040D9CCD8D7D803D031 +:1077000041D9C8D8D7D8EA22020EEFCFDBFFF9D88B +:10771000010B03E1000EDF9401D0DF8434BF02D0FF +:107720002CD901D02FD9EA22DECFEEFFDDCFEDFF3D +:10773000030E315D0CE12ED907E034BF02D0B6D87C +:1077400001D0B8D8EA22EF82840E59D935D0DF743F +:1077500021D906E045D8EF9E43D8EF8CF4D802D06B +:107760003FD8EF8CDF74CDD8020B02E113D90DE0C6 +:10777000040134BF02D09AD801D09CD8EA22EF92FB +:107780003B0E476E2DD9DFD802D03B0E29D904011C +:1077900034510F0B486A260F476E0F0E4822030E16 +:1077A00047C0DBFF040E48C0DBFF030EDBCFE9FF61 +:1077B000040EDBCFEAFFEF90050EE15C02E2E16A26 +:1077C000E552E16E1CD010D9B4D888EF3CF0FE0E23 +:1077D000EA6ADB34D1EF3CF0E66EE66ADFEF3CF0BC +:1077E000DECFE9FFDDCFEAFF1200B5C5E9FFB6C580 +:1077F000EAFF1200D9CFE6FFE1CFD9FF1200E55230 +:10780000E7CFD9FF120034510F0BE96EEA6AD89026 +:10781000E936EA361200ABC5E9FFACC5EAFF120053 +:10782000E9D8380EEE6E040EED6E1200E66E30EC06 +:1078300048F0476E050EE15E47501200FE0EEA6A00 +:10784000DB34D8EF3CF0FD0EDB50E824496EFE0E31 +:10785000DB50040DF35049241200DF50BCD8EA225B +:10786000EF6ADF50B3D8EA22EF6ADF2A1200EA2279 +:10787000EE50EFCFEAFFE96E1200E66EC9C5E9FFF0 +:10788000CAC5EAFFC92B000ECA23E552E750EF6EC6 +:10789000DF061200EA22EECFDEFFEDCFDDFF1200A1 +:1078A000000EE66EE66AE66EE66A120034510F0BD1 +:1078B000E6EF3CF034510F0BEBEF3CF0482247C0B1 +:1078C000DEFF48C0DDFF1200FE0EDBCFE6FF5AEC04 +:1078D00038F0E552E5521200160E396F9F0E376FE1 +:1078E0007B0E366F1200010EE66EE66A000EE66E43 +:1078F000E66A1200F76ABD25F66EBE51F72208004F +:107900001200D950020FE96EDACFEAFFEF501200F1 +:10791000ADC5E9FFAEC5EAFF1200040DF3CF47F095 +:10792000F4CF48F0000E4726040EC8DF840EFFEFA8 +:107930003CF060D8300EEE6E040EED6E12005ADF91 +:10794000020EE1261200020EE66EE66ADECFE6FFC8 +:10795000DDCFE6FF050EECEF3BF0020EE66EE66AC9 +:10796000E66A270EE66E0F0E16EF3CF02CDF8C0E4B +:10797000EF6E3BDF840EEF6E120045DFAF0EE9269F +:10798000050E120040DFB50EE926050E12001FDFBE +:1079900037EF3CF025DFEF50800B12002BDFE65273 +:1079A0001200FE0BEA36E96EB50EE926050E12004E +:1079B000FE0BEA36E96EAF0EE926050E120087ECE3 +:1079C00045F0476E060EE15E47501200EA6AD30F9B +:1079D000E96E050E1200EA6AD00FE96E050E12007C +:1079E000FFDEE850EF16120093DFEE52400EEF6E0E +:1079F00088EF3CF0020EE926000EEA221200F0DECB +:067A0000E850EF12120035 +:0A7A06004D616A6F72206D616C66BD +:107A1000756E6374696F6E20417869733220537498 +:107A20006570436F756E746572207A65726F004D74 +:107A3000616A6F72206D616C66756E6374696F6EDA +:107A40002041786973322053746570436F756E748A +:107A5000657220746F6F2068696768203A20004D56 +:107A6000616A6F72206D616C66756E6374696F6EAA +:107A70002041786973312053746570436F756E745B +:107A80006572207A65726F004D616A6F72206D6158 +:107A90006C66756E6374696F6E204178697331200E +:107AA00053746570436F756E74657220746F6F20C8 +:107AB00068696768203A20004D616A6F72206D61C5 +:107AC0006C66756E6374696F6E20417869733120DE +:107AD0006475726174696F6E20746F6F206C6F6E65 +:107AE00067203A20004475726174696F6E3D002012 +:107AF0005341323D00205341313D00484D204475F3 +:107B0000726174696F6E3D002130204572723A20B7 +:107B1000484D203C61786973323E20737465702053 +:107B200072617465203E2032354B2073746570732A +:107B30002F7365636F6E642E002130204572723A98 +:107B400020484D203C61786973313E207374657024 +:107B50002072617465203E2032354B20737465704D +:107B6000732F7365636F6E642E002130204572722F +:107B70003A20737465707320746F20686F6D652090 +:107B80006C6172676572207468616E2031362C37C3 +:107B900037372C3231352E002130204572723A2091 +:107BA0003C61786973323E20737465702072617431 +:107BB00065203C20312E3331487A2E00213020457B +:107BC00072723A203C61786973323E20737465703A +:107BD0002072617465203E2032354B2073746570CD +:107BE000732F7365636F6E642E00213020457272AF +:107BF0003A203C61786973323E206C61726765722D +:107C0000207468616E203136373737323135207352 +:107C1000746570732E002130204572723A203C61E9 +:107C2000786973313E2073746570207261746520C9 +:107C30003C20312E3331487A2E002130204572729B +:107C40003A203C61786973313E207374657020720C +:107C5000617465203E2032354B2073746570732F3C +:107C60007365636F6E642E002130204572723A2076 +:107C70003C61786973313E206C6172676572207473 +:107C800068616E203136373737323135207374658D +:107C900070732E002130204572723A203C6D6F7651 +:107CA000655F6475726174696F6E3E206C617267A6 +:107CB0006572207468616E2031363737373231355E +:107CC000206D732E00204A323D002053323D0020AB +:107CD00041323D002052323D00204A313D002041DA +:107CE000313D002053313D0052313D0053746174E9 +:107CF00075733D002135204572723A204E656564EA +:107D000020636F6D6D61206E6578742C20666F75D1 +:107D10006E643A202700506172616D383D005061F9 +:107D200072616D373D00506172616D363D0050618A +:107D300072616D353D00506172616D343D0050617E +:107D400072616D333D00506172616D323D00506172 +:107D500072616D313D000D0A000A0D004F4B000AA3 +:107D6000002138204572723A20556E6B6E6F776E27 +:107D700020636F6D6D616E6420270021382045728D +:107D8000723A20436865636B73756D206E6F742063 +:107D9000666F756E642062757420726571756972A4 +:107DA00065642E002138204572723A20436865636D +:107DB0006B73756D20696E636F72726563742C20CE +:107DC000657870656374656420004C696D69742022 +:107DD0007377697463682074726967676572656434 +:107DE0002E20506F7274423D002137204572723A46 +:107DF00020457874726120706172616D657465727E +:107E0000002136204572723A20496E76616C6964B1 +:107E100020706172616D657465722076616C756544 +:107E2000002134204572723A204D697373696E6780 +:107E300020706172616D6574657228732900213349 +:107E4000204572723A20525820427566666572204B +:107E50006F76657272756E002132204572723A201B +:107E6000545820427566666572206F766572727529 +:107E70006E002131204572723A2043616E277420D2 +:107E80007374657020746861742066617374002176 +:067E900030200020080074 +:0A7E9600CFD9E6520001606B7D6B4E +:107EA000DF6A040EDF5C14E2C0D9610EE926000E21 +:107EB000CFD9DF50AED9EF6AB8D96D0EE926000EE2 +:107EC000C7D9B3D9750EE926000EC2D9DF2AE9D782 +:107ED0000001C60E806F0E0E816F3F0E79140009EF +:107EE000796ECF0E79140009796E79827B6A7A6A8D +:107EF00079900F0152815293F00EB4140909B46EB7 +:107F00000001040E7E6F030E7F6FC60E826F3B0E64 +:107F1000836F250E846F580E856F040E8A6F900E46 +:107F2000866F010E876F900E886F010E896F000EAD +:107F3000E66EE66A010EE66EDAEC17F0E552E552FF +:107F4000E5528996E5527CD176D9E652DF6A040E75 +:107F5000DF5C0AE2DF505DD9EFCF47F0FE0EDB5069 +:107F6000475C0AE0DF2AF3D7DF6A040EDF5C08E231 +:107F7000DF504FD9EF5002E1DF2803D0DF2AF5D7D9 +:107F8000000EE5525DD157D9070EE126DE6ADD6AA3 +:107F9000020EDB6A030EDB6A040EDB6A050EDB6A87 +:107FA000060EDB6A010EE66ED9CFE6FFDACFE6FFFA +:107FB000030E22D9020F50D9010E1ED9030F4CD93E +:107FC000030E1AD9050F48D9030E4BD9E66AE66AA3 +:107FD00012EC29F0E552E5520001975122E1020E20 +:107FE000DB50180802E2978D1CD0050EDBCFE6FFB0 +:107FF000060EDBCFE6FF030EDBCFE6FF040EDBCF82 +:10800000E6FF020EDBCFE6FFDECFE6FFDDCFE6FFC9 +:108010000FD8476E070EE15E4750E66A30EC29F054 +:10802000E552070EE15C02E2E16AE552E16E08D139 +:1080300002D9020EE126FC0EDBCFE6FF85DFE5521A +:10804000E76E010EE7CFDBFFDB5002E1000EC7D089 +:10805000D950FD0FE96EFF0EDA20EA6EEE50ED10FA +:108060001FE1010EDB04D5D8EF500001EA6A80253C +:10807000E96E8151EA22EF6AC4D8750EE926000E36 +:10808000E7D8BFD86D0EE926000EE2D8010EDB045A +:10809000C0D8EF6AB6D8610EE926000ED9D89DD0B7 +:1080A000010EDB04476E00017E51475C01E395D071 +:1080B000FC0EDB50180801E290D0FC0EDB500708E4 +:1080C00002E10101BC6B9DD8610EE926000EEA2297 +:1080D000EE50ED1010E1E66AFC0EDBCFE6FFB1ECEE +:1080E00033F0E552E552E66AFC0EDBCFE6FF83ECA7 +:1080F00033F0E552E5521850145CFDE2FC0EDB5003 +:10810000040809E18986D5C0D1F0D6C0D2F0D7C025 +:10811000D3F0D8C0D4F083D8EF6EF80EDBCF47F0A1 +:10812000F90EDBCF48F0496A4A6A190E426E436A7B +:10813000446A456A47C03DF048C03EF049C03FF040 +:108140004AC040F074EC47F039C047F03AC048F0FC +:108150003BC049F03CC04AF062D876D839C0EEFF47 +:1081600048C0EEFF49C0EEFF4AC0EEFF41D82A0EDC +:108170006BD8010EDBCFEFFF3BD8270E65D8FC0E86 +:10818000DBCFEFFF35D8280E5FD8FD0EDBCFEEFF3B +:10819000FE0EDBCFEDFF2CD82B0E56D8FA0EDBCF20 +:1081A000EEFFFB0EDBCFEDFF23D8020E4DD8D880BB +:1081B000EE54000EEE54190EEE54000EEE5407E28B +:1081C00017D8020E41D8EE6AEE6AEE6AEE6A152AF8 +:1081D0001850155C01E3156A142A010EDB50476E36 +:1081E000020EE15C02E2E16AE552E16E475028D0FE +:1081F00015502F0D39EF41F034D8010EE66ED950ED +:108200001200010EDB04E96EEA6AD890E936EA361C +:108210001200EA6A690FE96E000EEA221200155098 +:108220002F0D000126D8020E1200EA6ADF34FE0B81 +:10823000EA36E96E1200D9CFE6FFE1CFD9FF12008E +:10824000E552E7CFD9FF1200E926000EEA2212001C +:10825000EA22EE6AED6A1200E66E000EDA20E66EA1 +:108260001200E66E6CEC31F0E552E552E552E55253 +:108270001200FA51F324E96EFB51F420EA6E120069 +:10828000040130511F0B010801E012003051600B56 +:10829000E842E842E842E842E842010801E0120010 +:1082A000345103E0340501E012003151220A31E07B +:1082B000030A24E0010A15E0210A0DE0010A01E0A9 +:1082C00012000501A00EBD6F050EBE6F080EC06F37 +:1082D000C16BBF8121D00501A00EBD6F050EBE6F21 +:1082E0001BD036C4C5F537C4C6F50501800EC26F74 +:1082F000050EC36FC76BC86BC48F12000501800EDB +:10830000BD6F050EBE6F070EC06FC16BC10EBF6F94 +:10831000120032C49BF50501BF8F12000501806B6E +:108320004B0E816F826B836B846B856B080E866F3F +:108330008F6B1A0EE66E010EE66E77EC37F0E552A3 +:10834000E5521E0EE66E020EE66E77EC37F0E55251 +:10835000E5521CD90501996B9A6B906B120041D9BB +:1083600065D9050E3F1801E1405002E0000E14D01F +:1083700048D905019751471804E19851481801E17F +:1083800005D93FD905019951471805E19A51481877 +:1083900002E1906B956B010E29D123D905018F6BFA +:1083A0009751981102E1000E05D032D9EF50800BA1 +:1083B00001E0010E00092DE1FC0EDBCF47F028D9CA +:1083C000EE52EF50D880475405E222D9EE52FC0E0F +:1083D000EFCFDBFF8F6BFC0EDB508F5D19E28F510F +:1083E000EA6A400FE96E050EEA22EF50E66E8F5101 +:1083F000E76EFD0EDBCFE9FFFE0EDBCFEAFFE750B5 +:10840000E926000EEA22E552E750EF6E8F2BE3D704 +:10841000BDD805018F51EAD0E4D80501905107E19C +:10842000E9D8FC0EDBCF95F5010E966F906FDED08C +:1084300004D917E1C0D8DF2AFF0EDF5C0BE0010E84 +:10844000DBCFE9FFDB2A020EDBCFEAFF01E3DB2A09 +:10845000EF50F1E1CFD8DFCF95F50501010E966F12 +:10846000906F030EE15C02E2E16AE552E16EBED07C +:10847000E4D818E1A0D8DF2AFF0EDF5C0CE0010E83 +:10848000DBCFF6FFDB2A020EDBCFF7FF01E3DB2AAF +:108490000800F550F0E1AED8DFCF95F50501966BF9 +:1084A000010E906F030EE15C02E2E16AE552E16EBB +:1084B0009DD097D8020EE126050199519A1102E14B +:1084C000000E08D099C5E9FF9AC5EAFFEF50800B6E +:1084D00001E0010E000953E1030E905D01E1906B94 +:1084E00090514DE0020E905D09E1E66A000EE66EE5 +:1084F000E66A59D80501030E906F41D090053FE11F +:10850000400E476E486A9551475C000E485803E29A +:10851000400EDF6E02D095C5DFFFDF50955D956F91 +:10852000000E936F050E946F010EDFCFDBFF9651A7 +:108530000BE1010EDB5012E091C5F6FF92C5F7FF8B +:108540000800F55041D8F5D7010EDB5007E091C582 +:10855000E9FF92C5EAFFEF5037D8F6D705019551EC +:1085600007E1400EDF5C02E1020E01D0030E906FC6 +:10857000DFCFE6FF000EE66E050EE66E14D8020EA3 +:10858000E15C02E2E16AE552E16E30D0400EE66E57 +:10859000400EE66E050EE66EE66A3FD8F3CF97F51D +:1085A000F4CF98F51200010EE66E37D8F3CF99F5A7 +:1085B000F4CF9AF51200DF6A39D8DE523FC0DEFFF1 +:1085C00040C0DDFFDD52120093C5E9FF94C5EAFF0C +:1085D000EF6E932B000E9423912B9223010EDB065A +:1085E0001200D9CFE6FFE1CFD9FF1200E552E7CF65 +:1085F000D9FF1200FD0EDBCF91F5FE0EDBCF92F519 +:108600001200FB0EDBCF47F0FC0EDBCF48F0120070 +:1086100097C5E9FF98C5EAFF1200020EE66E9BECD3 +:1086200037F0476E050EE15E47501200FD0EDBCFBE +:108630003FF0FE0EDBCF40F01200D3DF030EE12649 +:068640000501905112003B +:0A864600DDD8D0D80DE0CED8F3D86F +:10865000D950FC0FE96EFF0EDA20EA6EEE2A000E0A +:10866000EE22EE22F1D7F7D0CCD8D6D808E0D4D875 +:10867000E2D8FD0EDB2AFE0EF8E3DB2AF6D7EBD0BC +:10868000EED80F0E476E486A496AD950BFD8EE50EF +:108690004716EE504816EE504916EE5047C0F8F116 +:1086A0004750090802E3300E01D0370EF825C8D82C +:1086B00073D8040ED8904A32493248324732E8061D +:1086C000F9E1FB0E47C0DBFFFC0E48C0DBFFFD0EEF +:1086D00049C0DBFFFE0E4AC0DBFF0101F707FA0EBF +:1086E000DB5002E0FA0EDB06C0D8CBE1FA0EDB501D +:1086F000C8E16CD0B4D85DD897D839C0F8F1300E45 +:10870000010139249DD855D88FD8FB0E3DC0DBFF21 +:10871000FC0E3EC0DBFFFD0E3FC0DBFFFE0E40C087 +:10872000DBFF0101F707A1D8E6E150D06AD8E1509C +:108730006DD8D890030EEB50000A08E6000EEE5CF0 +:10874000000EEE58000EEE58000EEE5815E22D0EFB +:1087500072D82FD8426843684468456874EC47F083 +:10876000FB0E39C0DBFFFC0E3AC0DBFFFD0E3BC049 +:10877000DBFFFE0E3CC0DBFFD95048D8EECFE6FF52 +:10878000EECFE6FFEECFE6FFEFCFE6FFB3DFE55239 +:10879000E552E552E5525FD0FB0EDBCF47F0FC0E11 +:1087A000DBCF48F0FD0EDBCF49F0FE0EDBCF4AF009 +:1087B0001200FB0EDBCF3DF0FC0EDBCF3EF0FD0EDA +:1087C000DBCF3FF0FE0EDBCF40F01200F72BF7516E +:1087D000486AEB0F476E010E482247C0E6FF48C0CB +:1087E000E6FF42DFE552E55236D0FC0EDBCFF6FF66 +:1087F000FD0EDBCFF7FFFE0EDBCFF8FF0800F550D4 +:108800001200D9CFE6FFE1CFD9FF1200FB0FE96ECE +:10881000FF0EDA20EA6E1200FD0EDBCFE9FFFE0E3E +:10882000DBCFEAFFEF5012000A0E426E436A446A41 +:10883000456A0CEF48F0E66EC2EC25F0E5521200F6 +:10884000E66EF751EA6AEB0FE96E010EEA22E55295 +:10885000E750EF6E1200E552E7CFD9FF1200D1DFEB +:108860000101F66B0A0EF76F120096DF47504810B1 +:0688700049104A1012003D +:0A887600D9CFE6FFDACFE6FFE1CF2D +:10888000D9FFE2CFDAFF060EE12402E3E168E65207 +:10889000E16EDF6A010EDB6AD950FA0FE96EFF0E56 +:1088A000DA20EA6E020EEECFDBFF030EEECFDBFF27 +:1088B000040EEECFDBFF050EEECFDBFFD950FA0F33 +:1088C000E96EFF0EDA20EA6E060EE76ED890030E10 +:1088D000EB32020EEB32010EEB32EF32E706F6E13D +:1088E000D950FA0FE96EFF0EDA20EA6E060EE76E37 +:1088F000D890EF36010EEB36020EEB36030EEB3658 +:10890000E706F6E1D950FA0FE96EFF0EDA20EA6EBB +:10891000400EEE26000EEE22000EEE22000EEE229B +:10892000FA0EDBCF4BF0FB0EDBCF4CF0FC0EDBCFB7 +:108930004DF0FD0EDBCF4EF0D950020FE96E000E68 +:10894000DA20EA6EEE504B5C476EEE504C58486EA3 +:10895000EE504D58496EEE504E584A6E4750DF6EFD +:10896000D950F80FE96EFF0EDA20EA6EEE50ED10E6 +:1089700065E0040EDB50F86E030EDB50F76E020E5E +:10898000DB50F66EDF50DF0600091AE0F60EDBCF93 +:10899000E9FFDB2AF70EDBCFEAFF01E3DB2AEF502A +:1089A000F56E0D00F80EDB06DBCF47F0F90E01E2A5 +:1089B000DB06DBCF48F04750481001E101D0E2D799 +:1089C000040EDB50F86E030EDB50F76E020EDB5028 +:1089D000F66EA684F2AE04D0F29EDE52010EDD6E7B +:1089E000550EA76EAA0EA76EA682A694010EDB50A6 +:1089F00003E0F28E010EDB6A400EDF6E400E476E22 +:108A0000486A496A4A6AD950020FE96E000EDA20B4 +:108A1000EA6EEE504726EE504822EE504922EE50C4 +:108A20004A22020E47C0DBFF030E48C0DBFF040EE4 +:108A300049C0DBFF050E4AC0DBFF92D7060EE15CA2 +:108A400002E2E16AE552E16EE552E5CFDAFFE7CFF7 +:048A5000D9FF120038 +:0C8A540072EC23F005D8CAEC36F0AAEC56 +:108A600024F0FBD7D9CFE6FFE1CFD9FF020EE126F4 +:108A70000F0148694969600ED36E9B8C580EDE6EFB +:108A8000020EDD6EDFCF47F0DF06010EDBCF48F0D0 +:108A900001E2DB0647504810F5E1948EE4EC23F048 +:108AA00064EC36F0020EE15C02E2E16AE552E16E4E +:108AB000E552E7CFD9FF1200120012001200120097 +:108AC00040EF41F012008EEF41F00501CB051EE1B1 +:108AD0000501CC051BE1F1DF65920501CC6B0201BC +:108AE000100EFE6F0E0EFF6FFE07000EFF5BFE51B5 +:108AF000FF11FAE16584080EFE6F070EFF6FFE0797 +:108B0000000EFF5BFE51FF11FAE165941200D9CF10 +:108B1000E6FFE1CFD9FFFD0EDBCF3FF0FE0EDBCF4E +:108B200040F0050E3F1801E1405036E0E8683F187C +:108B300002E17F0E40182FE0030E3F1801E1405084 +:108B400028E0020E3F1801E1405021E0010E3F18DD +:108B500001E140501AE0740E3F1801E1405013E06B +:108B6000750E3F1801E140500CE0730E3F1801E113 +:108B7000405005E0720E3F180FE140500DD09EDFCF +:108B80000BD09ADF09D099DF07D09DDF05D09ADF9F +:108B900003D096DF01D093DF010EE552E7CFD9FF76 +:028BA0001200C1 +:0E8BA200D9CFE6FFDACFE6FFE1CFD9FFE2CF71 +:108BB000DAFFE652E652E652E652E652DF6AD95052 +:108BC000FA0FE96EFF0EDA20EA6E010EEECFDBFF40 +:108BD000020EEECFDBFF030EEECFDBFF040EEECF77 +:108BE000DBFFF60EDBCF47F0F70EDBCF48F0F80ED9 +:108BF000DBCF49F0F90EDBCF4AF048D84750EE5CA6 +:108C00004850EE584950EE584A50EE5833E2030EA1 +:108C1000DB50F86E020EDB50F76E010EDB50F66E85 +:108C2000A684A688F2AE03D0F29E010EDF6E550E2A +:108C3000A76EAA0EA76EA682DF5001E0F28E476AE9 +:108C4000040E486E496A4A6A21D8EE504726EE5013 +:108C50004822EE504922EE504A22010E47C0DBFF67 +:108C6000020E48C0DBFF030E49C0DBFF040E4AC002 +:108C7000DBFFB7D7050EE15C02E2E16AE552E16E87 +:108C8000E552E5CFDAFFE7CFD9FF1200D950010F47 +:0A8C9000E96E000EDA20EA6E120011 +:068C9A0045424276313331 +:108CA0005F616E645F61626F766520454220466950 +:108CB000726D776172652056657273696F6E2033CD +:108CC0002E302E302D61323300920F920F920F937F +:108CD0000F930F930F930F930F930F930F930F9483 +:108CE0000F940F940F940F940F940F940F940F956B +:108CF0000F950F950F950F950F950F890F890F8978 +:108D00000F8A0F8A0F8A0F8A0F8A0F8A0F8A0F8A9B +:108D10000F8B0F8B0F8B0F8B0F8B0F8B0F8B0F8B83 +:108D20000F8C0F8C0F8C0F8C0F8C0F8C0F0001058C +:108D300000010203040506070001020304050607FB +:068D400002030405060712 +:0A8D46002A0EF66E100EF76E000EF6 +:108D5000F86E05010900F550E16F0900F550E26F6A +:108D600003E1E16701D03DD00900F550DC6F090057 +:108D7000F550DD6F0900F550DE6F09000900F55070 +:108D8000E96E0900F550EA6E090009000900F55086 +:108D9000DF6F0900F550E06F09000900F6CFE3F539 +:108DA000F7CFE4F5F8CFE5F5DCC5F6FFDDC5F7FF55 +:108DB000DEC5F8FF0501DF5302E1E05307E00900DB +:108DC000F550EE6EDF07F8E2E007F9D7E3C5F6FFEE +:108DD000E4C5F7FFE5C5F8FF0501E107000EE25B1A +:048DE000BFD71200E7 +:0C8DE400D9CFE6FFDACFE6FFE1CFD9FFE0 +:108DF000E2CFDAFFE652E652E652E652D9CFE9FF79 +:108E0000DACFEAFFFA0EDBCFEEFFFB0EDBCFEEFF91 +:108E1000FC0EDBCFEEFFFD0EDBCFEEFF020EDB50D4 +:108E2000F86E010EDB50F76EDF50F66EF80EDBCFFA +:108E300047F0DB06F90EDBCF48F001E2DB064750D6 +:108E400048100DE00900F60EDBCFE9FFDB2AF70E34 +:108E5000DBCFEAFF01E3DB2AF5CFEFFFE7D7040E14 +:108E6000E15C02E2E16AE552E16EE552E5CFDAFF4C +:068E7000E7CFD9FF12005C +:0A8E7600D9CFE6FFDACFE6FFE1CF27 +:108E8000D9FFE2CFDAFFAD6AAC6AFD0EDBB0AD8888 +:108E9000DBA202D0AD8CAC8CDBB4AD8EDBA602D0F5 +:108EA000AC8801D0AC8ADBB8AD84DBBAAC86DBAC75 +:108EB00002D09D8A01D09D9ADBAE02D09D8801D060 +:108EC0009D98FB0EDB50B06EFC0EDBCF48F048C027 +:108ED00047F0486A47507F6EAD8AAC8EE552E5CFC9 +:088EE000DAFFE7CFD9FF120011 +:088EE8003D504202F3CF39F0C6 +:108EF000F4CF3AF04302F3503A26000EF4203B6ED2 +:108F00003D504402F3503B26000EF4203C6E3D5091 +:108F10004502F3503C263E504202F3503A26F450AC +:108F20003B22000E3C223E504302F3503B26F450BD +:108F30003C223E504402F3503C263F504202F35044 +:108F40003B26F4503C223F504302F3503C26405015 +:088F50004202F3503C2612001E +:088F5800376AE86A45AEB9EF83 +:108F600047F0426C431E441E451E432244224522C4 +:108F7000371E40AEC4EF47F03D6C3E1E3F1E401E04 +:108F80003E223F224022371E0CEC48F040BEDBEF71 +:108F900047F037AE000C3D6C3E1E3F1E401EE86A97 +:108FA0003E223F224022396C3A1E3B1E3C1E3A2292 +:108FB0003B223C22000C37BECBEF47F03888FF0C39 +:108FC0001201000202000040D80492FD8201010259 +:108FD000030109024300020100C03209040000013C +:108FE00002020100052400100104240202052406E7 +:108FF000000105240100010705810308000209049E +:109000000100020A000000070502024000000705F7 +:079010008202400000D28F34 +:089018003C6A3B6A3A6A396ABE +:10902000200EE76ED8903D363E363F364036393614 +:109030003A363B363C364250395C43503A584450FD +:109040003B5845503C5809E34250395E43503A5A28 +:1090500044503B5A45503C5A3D2AE72EE4D7120073 +:10906000FE0EE3CFE9FFFF0EE3CFEAFFE9CFF3FF08 +:10907000EACFF4FFFB0EE35003E1FC0EE35009E0FE +:10908000FB0EE30602E2FC0EE306FD0EE350EE6E7D +:04909000F1D7120002 +:0C909400D9CFE6FFDACFE6FFE1CFD9FF2D +:1090A000E2CFDAFFADAC04D0AD900001FCB3AD80EF +:1090B000FD0EDB50AE6EE552E5CFDAFFE7CFD9FF0C +:0290C00012009C +:0E90C200FF0EE124E96EFF0EE220EA6EEDCF14 +:1090D000F4FFEFCFF3FFF46607D0600EF36404D023 +:0A90E0007B0EF36001D0F39A12003A +:0690EA00C00EF36E00EE63 +:1090F00000F00E0E01D81200EA6002D0EE6AFCD732 +:0A910000F350E9601200EE6AFCD79C +:06910A001EEE00F02EEE47 +:1091100000F0F86A389CA3EC46F09EEC48F02AEC8C +:0691200045F0FBD7120030 +:0A912600F36AF46AF32A0F0B05E068 +:0C913000D890F336F436E804FBE112009E +:02913C0012001F +:02913E00040328 +:10914000090418035300630068006D0061006C009F +:109150007A0048006100750073003803450069001B +:1091600042006F00740042006F00610072006400F2 +:109170002C002000200020002000200020002000E3 :1091800020002000200020002000200020002000DF -:109190002000200020002000800284029C02D402D3 -:0291A0000006C7 -:0791A20000000000000000C6 +:1091900020002203200020002000200020002000CA +:1091A00020002000200020002000200020002000BF +:0C91B00020002000800284029C02D402F7 +:0291BC000006AB +:0291BE000000AF +:0591C0000000000000AA :00000001FF diff --git a/EBB_firmware/app.X/dist/EBBv13_with_bootloader/production/app.X.production.lst b/EBB_firmware/app.X/dist/EBBv13_with_bootloader/production/app.X.production.lst index 47094b9..be38143 100644 --- a/EBB_firmware/app.X/dist/EBBv13_with_bootloader/production/app.X.production.lst +++ b/EBB_firmware/app.X/dist/EBBv13_with_bootloader/production/app.X.production.lst @@ -1,6 +1,6 @@ MP2COD 5.00, COFF to COD File Converter Copyright (c) 1998-2013 Microchip Technology Inc. -Listing File Generated: Thu Oct 05 09:07:45 2023 +Listing File Generated: Thu Oct 05 14:20:30 2023 Address Value Disassembly Source File @@ -39,31 +39,31 @@ Address Value Disassembly Source { C:\MCC18\src\traditional\startup\c018i.c _asm C:\MCC18\src\traditional\startup\c018i.c // Initialize the stack pointer C:\MCC18\src\traditional\startup\c018i.c -0090ee ee1d LFSR 0x1,0xd00 lfsr 1, _stack C:\MCC18\src\traditional\startup\c018i.c -0090f0 f000 -0090f2 ee2d LFSR 0x2,0xd00 lfsr 2, _stack C:\MCC18\src\traditional\startup\c018i.c -0090f4 f000 +00910a ee1e LFSR 0x1,0xe00 lfsr 1, _stack C:\MCC18\src\traditional\startup\c018i.c +00910c f000 +00910e ee2e LFSR 0x2,0xe00 lfsr 2, _stack C:\MCC18\src\traditional\startup\c018i.c +009110 f000 C:\MCC18\src\traditional\startup\c018i.c -0090f6 6af8 CLRF 0xf8,0x0 clrf TBLPTRU, 0 // 1st silicon doesn't do this on POR C:\MCC18\src\traditional\startup\c018i.c +009112 6af8 CLRF 0xf8,0x0 clrf TBLPTRU, 0 // 1st silicon doesn't do this on POR C:\MCC18\src\traditional\startup\c018i.c C:\MCC18\src\traditional\startup\c018i.c -0090f8 9c24 BCF 0x24,0x6,0x0 bcf __FPFLAGS,RND,0 // Initialize rounding flag for floating point libs C:\MCC18\src\traditional\startup\c018i.c +009114 9c38 BCF 0x38,0x6,0x0 bcf __FPFLAGS,RND,0 // Initialize rounding flag for floating point libs C:\MCC18\src\traditional\startup\c018i.c C:\MCC18\src\traditional\startup\c018i.c _endasm C:\MCC18\src\traditional\startup\c018i.c -0090fa ec95 CALL 0x8d2a,0x0 _do_cinit (); C:\MCC18\src\traditional\startup\c018i.c -0090fc f046 +009116 eca3 CALL 0x8d46,0x0 _do_cinit (); C:\MCC18\src\traditional\startup\c018i.c +009118 f046 C:\MCC18\src\traditional\startup\c018i.c loop: C:\MCC18\src\traditional\startup\c018i.c C:\MCC18\src\traditional\startup\c018i.c // If user defined __init is not found, the one in clib.lib will be used C:\MCC18\src\traditional\startup\c018i.c -0090fe ec90 CALL 0x9120,0x0 __init (); C:\MCC18\src\traditional\startup\c018i.c -009100 f048 +00911a ec9e CALL 0x913c,0x0 __init (); C:\MCC18\src\traditional\startup\c018i.c +00911c f048 C:\MCC18\src\traditional\startup\c018i.c // Call the user's main routine C:\MCC18\src\traditional\startup\c018i.c -009102 ec1c CALL 0x8a38,0x0 main (); C:\MCC18\src\traditional\startup\c018i.c -009104 f045 +00911e ec2a CALL 0x8a54,0x0 main (); C:\MCC18\src\traditional\startup\c018i.c +009120 f045 C:\MCC18\src\traditional\startup\c018i.c -009106 d7fb BRA 0x90fe goto loop; C:\MCC18\src\traditional\startup\c018i.c -009108 0012 RETURN 0x0 } /* end _startup() */ C:\MCC18\src\traditional\startup\c018i.c +009122 d7fb BRA 0x911a goto loop; C:\MCC18\src\traditional\startup\c018i.c +009124 0012 RETURN 0x0 } /* end _startup() */ C:\MCC18\src\traditional\startup\c018i.c C:\MCC18\src\traditional\startup\c018i.c /* MPLAB-C18 initialized data memory support */ C:\MCC18\src\traditional\startup\c018i.c /* The linker will populate the _cinit table */ C:\MCC18\src\traditional\startup\c018i.c @@ -93,30 +93,30 @@ Address Value Disassembly Source static short long data_ptr; C:\MCC18\src\traditional\startup\c018i.c C:\MCC18\src\traditional\startup\c018i.c // Initialized data... C:\MCC18\src\traditional\startup\c018i.c -008d2a 0e2a MOVLW 0x2a TBLPTR = (short long)&_cinit; C:\MCC18\src\traditional\startup\c018i.c -008d2c 6ef6 MOVWF 0xf6,0x0 -008d2e 0e10 MOVLW 0x10 -008d30 6ef7 MOVWF 0xf7,0x0 -008d32 0e00 MOVLW 0x0 -008d34 6ef8 MOVWF 0xf8,0x0 +008d46 0e2a MOVLW 0x2a TBLPTR = (short long)&_cinit; C:\MCC18\src\traditional\startup\c018i.c +008d48 6ef6 MOVWF 0xf6,0x0 +008d4a 0e10 MOVLW 0x10 +008d4c 6ef7 MOVWF 0xf7,0x0 +008d4e 0e00 MOVLW 0x0 +008d50 6ef8 MOVWF 0xf8,0x0 _asm C:\MCC18\src\traditional\startup\c018i.c -008d36 0101 MOVLB 0x1 movlb data_ptr C:\MCC18\src\traditional\startup\c018i.c -008d38 0009 TBLRDPOSTINC tblrdpostinc C:\MCC18\src\traditional\startup\c018i.c -008d3a 50f5 MOVF 0xf5,0x0,0x0 movf TABLAT, 0, 0 C:\MCC18\src\traditional\startup\c018i.c -008d3c 6f3c MOVWF 0x3c,0x1 movwf curr_entry, 1 C:\MCC18\src\traditional\startup\c018i.c -008d3e 0009 TBLRDPOSTINC tblrdpostinc C:\MCC18\src\traditional\startup\c018i.c -008d40 50f5 MOVF 0xf5,0x0,0x0 movf TABLAT, 0, 0 C:\MCC18\src\traditional\startup\c018i.c -008d42 6f3d MOVWF 0x3d,0x1 movwf curr_entry+1, 1 C:\MCC18\src\traditional\startup\c018i.c +008d52 0105 MOVLB 0x5 movlb data_ptr C:\MCC18\src\traditional\startup\c018i.c +008d54 0009 TBLRDPOSTINC tblrdpostinc C:\MCC18\src\traditional\startup\c018i.c +008d56 50f5 MOVF 0xf5,0x0,0x0 movf TABLAT, 0, 0 C:\MCC18\src\traditional\startup\c018i.c +008d58 6fe1 MOVWF 0xe1,0x1 movwf curr_entry, 1 C:\MCC18\src\traditional\startup\c018i.c +008d5a 0009 TBLRDPOSTINC tblrdpostinc C:\MCC18\src\traditional\startup\c018i.c +008d5c 50f5 MOVF 0xf5,0x0,0x0 movf TABLAT, 0, 0 C:\MCC18\src\traditional\startup\c018i.c +008d5e 6fe2 MOVWF 0xe2,0x1 movwf curr_entry+1, 1 C:\MCC18\src\traditional\startup\c018i.c _endasm C:\MCC18\src\traditional\startup\c018i.c //while (curr_entry) C:\MCC18\src\traditional\startup\c018i.c //{ C:\MCC18\src\traditional\startup\c018i.c test: C:\MCC18\src\traditional\startup\c018i.c _asm C:\MCC18\src\traditional\startup\c018i.c -008d44 e103 BNZ 0x8d4c bnz 3 C:\MCC18\src\traditional\startup\c018i.c -008d46 673c TSTFSZ 0x3c,0x1 tstfsz curr_entry, 1 C:\MCC18\src\traditional\startup\c018i.c -008d48 d001 BRA 0x8d4c bra 1 C:\MCC18\src\traditional\startup\c018i.c +008d60 e103 BNZ 0x8d68 bnz 3 C:\MCC18\src\traditional\startup\c018i.c +008d62 67e1 TSTFSZ 0xe1,0x1 tstfsz curr_entry, 1 C:\MCC18\src\traditional\startup\c018i.c +008d64 d001 BRA 0x8d68 bra 1 C:\MCC18\src\traditional\startup\c018i.c _endasm C:\MCC18\src\traditional\startup\c018i.c -008d4a d03d BRA 0x8dc6 goto done; C:\MCC18\src\traditional\startup\c018i.c +008d66 d03d BRA 0x8de2 goto done; C:\MCC18\src\traditional\startup\c018i.c /* Count down so we only have to look up the data in _cinit C:\MCC18\src\traditional\startup\c018i.c * once. C:\MCC18\src\traditional\startup\c018i.c * C:\MCC18\src\traditional\startup\c018i.c @@ -126,37 +126,37 @@ Address Value Disassembly Source */ C:\MCC18\src\traditional\startup\c018i.c _asm C:\MCC18\src\traditional\startup\c018i.c /* read the source address */ C:\MCC18\src\traditional\startup\c018i.c -008d4c 0009 TBLRDPOSTINC tblrdpostinc C:\MCC18\src\traditional\startup\c018i.c -008d4e 50f5 MOVF 0xf5,0x0,0x0 movf TABLAT, 0, 0 C:\MCC18\src\traditional\startup\c018i.c -008d50 6f37 MOVWF 0x37,0x1 movwf prom, 1 C:\MCC18\src\traditional\startup\c018i.c -008d52 0009 TBLRDPOSTINC tblrdpostinc C:\MCC18\src\traditional\startup\c018i.c -008d54 50f5 MOVF 0xf5,0x0,0x0 movf TABLAT, 0, 0 C:\MCC18\src\traditional\startup\c018i.c -008d56 6f38 MOVWF 0x38,0x1 movwf prom+1, 1 C:\MCC18\src\traditional\startup\c018i.c -008d58 0009 TBLRDPOSTINC tblrdpostinc C:\MCC18\src\traditional\startup\c018i.c -008d5a 50f5 MOVF 0xf5,0x0,0x0 movf TABLAT, 0, 0 C:\MCC18\src\traditional\startup\c018i.c -008d5c 6f39 MOVWF 0x39,0x1 movwf prom+2, 1 C:\MCC18\src\traditional\startup\c018i.c - /* skip a byte since it's stored as a 32bit int */ C:\MCC18\src\traditional\startup\c018i.c -008d5e 0009 TBLRDPOSTINC tblrdpostinc C:\MCC18\src\traditional\startup\c018i.c - /* read the destination address directly into FSR0 */ C:\MCC18\src\traditional\startup\c018i.c -008d60 0009 TBLRDPOSTINC tblrdpostinc C:\MCC18\src\traditional\startup\c018i.c -008d62 50f5 MOVF 0xf5,0x0,0x0 movf TABLAT, 0, 0 C:\MCC18\src\traditional\startup\c018i.c -008d64 6ee9 MOVWF 0xe9,0x0 movwf FSR0L, 0 C:\MCC18\src\traditional\startup\c018i.c -008d66 0009 TBLRDPOSTINC tblrdpostinc C:\MCC18\src\traditional\startup\c018i.c -008d68 50f5 MOVF 0xf5,0x0,0x0 movf TABLAT, 0, 0 C:\MCC18\src\traditional\startup\c018i.c -008d6a 6eea MOVWF 0xea,0x0 movwf FSR0H, 0 C:\MCC18\src\traditional\startup\c018i.c - /* skip two bytes since it's stored as a 32bit int */ C:\MCC18\src\traditional\startup\c018i.c -008d6c 0009 TBLRDPOSTINC tblrdpostinc C:\MCC18\src\traditional\startup\c018i.c +008d68 0009 TBLRDPOSTINC tblrdpostinc C:\MCC18\src\traditional\startup\c018i.c +008d6a 50f5 MOVF 0xf5,0x0,0x0 movf TABLAT, 0, 0 C:\MCC18\src\traditional\startup\c018i.c +008d6c 6fdc MOVWF 0xdc,0x1 movwf prom, 1 C:\MCC18\src\traditional\startup\c018i.c 008d6e 0009 TBLRDPOSTINC tblrdpostinc C:\MCC18\src\traditional\startup\c018i.c +008d70 50f5 MOVF 0xf5,0x0,0x0 movf TABLAT, 0, 0 C:\MCC18\src\traditional\startup\c018i.c +008d72 6fdd MOVWF 0xdd,0x1 movwf prom+1, 1 C:\MCC18\src\traditional\startup\c018i.c +008d74 0009 TBLRDPOSTINC tblrdpostinc C:\MCC18\src\traditional\startup\c018i.c +008d76 50f5 MOVF 0xf5,0x0,0x0 movf TABLAT, 0, 0 C:\MCC18\src\traditional\startup\c018i.c +008d78 6fde MOVWF 0xde,0x1 movwf prom+2, 1 C:\MCC18\src\traditional\startup\c018i.c + /* skip a byte since it's stored as a 32bit int */ C:\MCC18\src\traditional\startup\c018i.c +008d7a 0009 TBLRDPOSTINC tblrdpostinc C:\MCC18\src\traditional\startup\c018i.c /* read the destination address directly into FSR0 */ C:\MCC18\src\traditional\startup\c018i.c -008d70 0009 TBLRDPOSTINC tblrdpostinc C:\MCC18\src\traditional\startup\c018i.c -008d72 50f5 MOVF 0xf5,0x0,0x0 movf TABLAT, 0, 0 C:\MCC18\src\traditional\startup\c018i.c -008d74 6f3a MOVWF 0x3a,0x1 movwf curr_byte, 1 C:\MCC18\src\traditional\startup\c018i.c -008d76 0009 TBLRDPOSTINC tblrdpostinc C:\MCC18\src\traditional\startup\c018i.c -008d78 50f5 MOVF 0xf5,0x0,0x0 movf TABLAT, 0, 0 C:\MCC18\src\traditional\startup\c018i.c -008d7a 6f3b MOVWF 0x3b,0x1 movwf curr_byte+1, 1 C:\MCC18\src\traditional\startup\c018i.c - /* skip two bytes since it's stored as a 32bit int */ C:\MCC18\src\traditional\startup\c018i.c 008d7c 0009 TBLRDPOSTINC tblrdpostinc C:\MCC18\src\traditional\startup\c018i.c -008d7e 0009 TBLRDPOSTINC tblrdpostinc C:\MCC18\src\traditional\startup\c018i.c +008d7e 50f5 MOVF 0xf5,0x0,0x0 movf TABLAT, 0, 0 C:\MCC18\src\traditional\startup\c018i.c +008d80 6ee9 MOVWF 0xe9,0x0 movwf FSR0L, 0 C:\MCC18\src\traditional\startup\c018i.c +008d82 0009 TBLRDPOSTINC tblrdpostinc C:\MCC18\src\traditional\startup\c018i.c +008d84 50f5 MOVF 0xf5,0x0,0x0 movf TABLAT, 0, 0 C:\MCC18\src\traditional\startup\c018i.c +008d86 6eea MOVWF 0xea,0x0 movwf FSR0H, 0 C:\MCC18\src\traditional\startup\c018i.c + /* skip two bytes since it's stored as a 32bit int */ C:\MCC18\src\traditional\startup\c018i.c +008d88 0009 TBLRDPOSTINC tblrdpostinc C:\MCC18\src\traditional\startup\c018i.c +008d8a 0009 TBLRDPOSTINC tblrdpostinc C:\MCC18\src\traditional\startup\c018i.c + /* read the destination address directly into FSR0 */ C:\MCC18\src\traditional\startup\c018i.c +008d8c 0009 TBLRDPOSTINC tblrdpostinc C:\MCC18\src\traditional\startup\c018i.c +008d8e 50f5 MOVF 0xf5,0x0,0x0 movf TABLAT, 0, 0 C:\MCC18\src\traditional\startup\c018i.c +008d90 6fdf MOVWF 0xdf,0x1 movwf curr_byte, 1 C:\MCC18\src\traditional\startup\c018i.c +008d92 0009 TBLRDPOSTINC tblrdpostinc C:\MCC18\src\traditional\startup\c018i.c +008d94 50f5 MOVF 0xf5,0x0,0x0 movf TABLAT, 0, 0 C:\MCC18\src\traditional\startup\c018i.c +008d96 6fe0 MOVWF 0xe0,0x1 movwf curr_byte+1, 1 C:\MCC18\src\traditional\startup\c018i.c + /* skip two bytes since it's stored as a 32bit int */ C:\MCC18\src\traditional\startup\c018i.c +008d98 0009 TBLRDPOSTINC tblrdpostinc C:\MCC18\src\traditional\startup\c018i.c +008d9a 0009 TBLRDPOSTINC tblrdpostinc C:\MCC18\src\traditional\startup\c018i.c _endasm C:\MCC18\src\traditional\startup\c018i.c //prom = data_ptr->from; C:\MCC18\src\traditional\startup\c018i.c //FSR0 = data_ptr->to; C:\MCC18\src\traditional\startup\c018i.c @@ -165,61 +165,61 @@ Address Value Disassembly Source * off since we'll be using the table pointer to do the copying C:\MCC18\src\traditional\startup\c018i.c * for the entry. C:\MCC18\src\traditional\startup\c018i.c */ C:\MCC18\src\traditional\startup\c018i.c -008d80 cff6 MOVFF 0xff6,0x13e data_ptr = TBLPTR; C:\MCC18\src\traditional\startup\c018i.c -008d82 f13e -008d84 cff7 MOVFF 0xff7,0x13f -008d86 f13f -008d88 cff8 MOVFF 0xff8,0x140 -008d8a f140 +008d9c cff6 MOVFF 0xff6,0x5e3 data_ptr = TBLPTR; C:\MCC18\src\traditional\startup\c018i.c +008d9e f5e3 +008da0 cff7 MOVFF 0xff7,0x5e4 +008da2 f5e4 +008da4 cff8 MOVFF 0xff8,0x5e5 +008da6 f5e5 C:\MCC18\src\traditional\startup\c018i.c /* now assign the source address to the table pointer */ C:\MCC18\src\traditional\startup\c018i.c -008d8c c137 MOVFF 0x137,0xff6 TBLPTR = prom; C:\MCC18\src\traditional\startup\c018i.c -008d8e fff6 -008d90 c138 MOVFF 0x138,0xff7 -008d92 fff7 -008d94 c139 MOVFF 0x139,0xff8 -008d96 fff8 +008da8 c5dc MOVFF 0x5dc,0xff6 TBLPTR = prom; C:\MCC18\src\traditional\startup\c018i.c +008daa fff6 +008dac c5dd MOVFF 0x5dd,0xff7 +008dae fff7 +008db0 c5de MOVFF 0x5de,0xff8 +008db2 fff8 C:\MCC18\src\traditional\startup\c018i.c /* do the copy loop */ C:\MCC18\src\traditional\startup\c018i.c _asm C:\MCC18\src\traditional\startup\c018i.c // determine if we have any more bytes to copy C:\MCC18\src\traditional\startup\c018i.c -008d98 0101 MOVLB 0x1 movlb curr_byte C:\MCC18\src\traditional\startup\c018i.c -008d9a 533a MOVF 0x3a,0x1,0x1 movf curr_byte, 1, 1 C:\MCC18\src\traditional\startup\c018i.c +008db4 0105 MOVLB 0x5 movlb curr_byte C:\MCC18\src\traditional\startup\c018i.c +008db6 53df MOVF 0xdf,0x1,0x1 movf curr_byte, 1, 1 C:\MCC18\src\traditional\startup\c018i.c copy_loop: C:\MCC18\src\traditional\startup\c018i.c -008d9c e102 BNZ 0x8da2 bnz 2 // copy_one_byte C:\MCC18\src\traditional\startup\c018i.c -008d9e 533b MOVF 0x3b,0x1,0x1 movf curr_byte + 1, 1, 1 C:\MCC18\src\traditional\startup\c018i.c -008da0 e007 BZ 0x8db0 bz 7 // done_copying C:\MCC18\src\traditional\startup\c018i.c +008db8 e102 BNZ 0x8dbe bnz 2 // copy_one_byte C:\MCC18\src\traditional\startup\c018i.c +008dba 53e0 MOVF 0xe0,0x1,0x1 movf curr_byte + 1, 1, 1 C:\MCC18\src\traditional\startup\c018i.c +008dbc e007 BZ 0x8dcc bz 7 // done_copying C:\MCC18\src\traditional\startup\c018i.c C:\MCC18\src\traditional\startup\c018i.c copy_one_byte: C:\MCC18\src\traditional\startup\c018i.c -008da2 0009 TBLRDPOSTINC tblrdpostinc C:\MCC18\src\traditional\startup\c018i.c -008da4 50f5 MOVF 0xf5,0x0,0x0 movf TABLAT, 0, 0 C:\MCC18\src\traditional\startup\c018i.c -008da6 6eee MOVWF 0xee,0x0 movwf POSTINC0, 0 C:\MCC18\src\traditional\startup\c018i.c +008dbe 0009 TBLRDPOSTINC tblrdpostinc C:\MCC18\src\traditional\startup\c018i.c +008dc0 50f5 MOVF 0xf5,0x0,0x0 movf TABLAT, 0, 0 C:\MCC18\src\traditional\startup\c018i.c +008dc2 6eee MOVWF 0xee,0x0 movwf POSTINC0, 0 C:\MCC18\src\traditional\startup\c018i.c C:\MCC18\src\traditional\startup\c018i.c // decrement byte counter C:\MCC18\src\traditional\startup\c018i.c -008da8 073a DECF 0x3a,0x1,0x1 decf curr_byte, 1, 1 C:\MCC18\src\traditional\startup\c018i.c -008daa e2f8 BC 0x8d9c bc -8 // copy_loop C:\MCC18\src\traditional\startup\c018i.c -008dac 073b DECF 0x3b,0x1,0x1 decf curr_byte + 1, 1, 1 C:\MCC18\src\traditional\startup\c018i.c -008dae d7f9 BRA 0x8da2 bra -7 // copy_one_byte C:\MCC18\src\traditional\startup\c018i.c +008dc4 07df DECF 0xdf,0x1,0x1 decf curr_byte, 1, 1 C:\MCC18\src\traditional\startup\c018i.c +008dc6 e2f8 BC 0x8db8 bc -8 // copy_loop C:\MCC18\src\traditional\startup\c018i.c +008dc8 07e0 DECF 0xe0,0x1,0x1 decf curr_byte + 1, 1, 1 C:\MCC18\src\traditional\startup\c018i.c +008dca d7f9 BRA 0x8dbe bra -7 // copy_one_byte C:\MCC18\src\traditional\startup\c018i.c C:\MCC18\src\traditional\startup\c018i.c done_copying: C:\MCC18\src\traditional\startup\c018i.c C:\MCC18\src\traditional\startup\c018i.c _endasm C:\MCC18\src\traditional\startup\c018i.c /* restore the table pointer for the next entry */ C:\MCC18\src\traditional\startup\c018i.c -008db0 c13e MOVFF 0x13e,0xff6 TBLPTR = data_ptr; C:\MCC18\src\traditional\startup\c018i.c -008db2 fff6 -008db4 c13f MOVFF 0x13f,0xff7 -008db6 fff7 -008db8 c140 MOVFF 0x140,0xff8 -008dba fff8 +008dcc c5e3 MOVFF 0x5e3,0xff6 TBLPTR = data_ptr; C:\MCC18\src\traditional\startup\c018i.c +008dce fff6 +008dd0 c5e4 MOVFF 0x5e4,0xff7 +008dd2 fff7 +008dd4 c5e5 MOVFF 0x5e5,0xff8 +008dd6 fff8 /* next entry... */ C:\MCC18\src\traditional\startup\c018i.c -008dbc 0101 MOVLB 0x1 curr_entry--; C:\MCC18\src\traditional\startup\c018i.c -008dbe 073c DECF 0x3c,0x1,0x1 -008dc0 0e00 MOVLW 0x0 -008dc2 5b3d SUBWFB 0x3d,0x1,0x1 -008dc4 d7bf BRA 0x8d44 goto test; C:\MCC18\src\traditional\startup\c018i.c +008dd8 0105 MOVLB 0x5 curr_entry--; C:\MCC18\src\traditional\startup\c018i.c +008dda 07e1 DECF 0xe1,0x1,0x1 +008ddc 0e00 MOVLW 0x0 +008dde 5be2 SUBWFB 0xe2,0x1,0x1 +008de0 d7bf BRA 0x8d60 goto test; C:\MCC18\src\traditional\startup\c018i.c done: C:\MCC18\src\traditional\startup\c018i.c ; C:\MCC18\src\traditional\startup\c018i.c -008dc6 0012 RETURN 0x0 } C:\MCC18\src\traditional\startup\c018i.c +008de2 0012 RETURN 0x0 } C:\MCC18\src\traditional\startup\c018i.c /******************************************************************** C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c File Information: C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c FileName: usb_device.c C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c @@ -685,45 +685,45 @@ Address Value Disassembly Source None C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c ***************************************************************************/ C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -006cac ecc0 CALL 0x7980,0x0 void USBDeviceInit(void) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -006cae f03c +006cc8 ecce CALL 0x799c,0x0 void USBDeviceInit(void) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +006cca f03c { C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c BYTE i; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -006cb0 98a0 BCF 0xa0,0x4,0x0 USBDisableInterrupts(); C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +006ccc 98a0 BCF 0xa0,0x4,0x0 USBDisableInterrupts(); C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c // Clear all USB error flags C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -006cb2 6a63 CLRF 0x63,0x0 USBClearInterruptRegister(U1EIR); C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +006cce 6a63 CLRF 0x63,0x0 USBClearInterruptRegister(U1EIR); C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c // Clears all USB interrupts C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -006cb4 6a62 CLRF 0x62,0x0 USBClearInterruptRegister(U1IR); C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +006cd0 6a62 CLRF 0x62,0x0 USBClearInterruptRegister(U1IR); C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c //Clear all of the endpoint control registers C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -006cb6 010f MOVLB 0xf U1EP0 = 0; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -006cb8 6b26 CLRF 0x26,0x1 +006cd2 010f MOVLB 0xf U1EP0 = 0; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +006cd4 6b26 CLRF 0x26,0x1 C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -006cba ec9f CALL 0x793e,0x0 DisableNonZeroEndpoints(USB_MAX_EP_NUMBER); C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -006cbc f03c -00793e 0e02 MOVLW 0x2 -007940 6ee6 MOVWF 0xe6,0x0 -007942 6ae6 CLRF 0xe6,0x0 -007944 6ae6 CLRF 0xe6,0x0 -007946 0e27 MOVLW 0x27 -007948 6ee6 MOVWF 0xe6,0x0 -00794a 0e0f MOVLW 0xf -00794c ef08 GOTO 0x7810 -00794e f03c +006cd6 ecad CALL 0x795a,0x0 DisableNonZeroEndpoints(USB_MAX_EP_NUMBER); C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +006cd8 f03c +00795a 0e02 MOVLW 0x2 +00795c 6ee6 MOVWF 0xe6,0x0 +00795e 6ae6 CLRF 0xe6,0x0 +007960 6ae6 CLRF 0xe6,0x0 +007962 0e27 MOVLW 0x27 +007964 6ee6 MOVWF 0xe6,0x0 +007966 0e0f MOVLW 0xf +007968 ef16 GOTO 0x782c +00796a f03c C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -006cbe 010f MOVLB 0xf SetConfigurationOptions(); C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -006cc0 ec5e CALL 0x78bc,0x0 -006cc2 f03c -0078bc 0e16 MOVLW 0x16 -0078be 6f39 MOVWF 0x39,0x1 -0078c0 0e9f MOVLW 0x9f -0078c2 6f37 MOVWF 0x37,0x1 -0078c4 0e7b MOVLW 0x7b -0078c6 6f36 MOVWF 0x36,0x1 -0078c8 0012 RETURN 0x0 +006cda 010f MOVLB 0xf SetConfigurationOptions(); C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +006cdc ec6c CALL 0x78d8,0x0 +006cde f03c +0078d8 0e16 MOVLW 0x16 +0078da 6f39 MOVWF 0x39,0x1 +0078dc 0e9f MOVLW 0x9f +0078de 6f37 MOVWF 0x37,0x1 +0078e0 0e7b MOVLW 0x7b +0078e2 6f36 MOVWF 0x36,0x1 +0078e4 0012 RETURN 0x0 C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c //power up the module (if not already powered) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c USBPowerModule(); C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c @@ -732,152 +732,152 @@ Address Value Disassembly Source USBSetBDTAddress(BDT); C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c //Clear all of the BDT entries C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -006cc4 6adf CLRF 0xdf,0x0 for(i=0;i<(sizeof(BDT)/sizeof(BDT_ENTRY));i++) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -006cc6 50df MOVF 0xdf,0x0,0x0 -006cc8 6e33 MOVWF 0x33,0x0 -006cca 6a34 CLRF 0x34,0x0 -006ccc 0e0c MOVLW 0xc -006cce 5c33 SUBWF 0x33,0x0,0x0 -006cd0 0e00 MOVLW 0x0 -006cd2 5834 SUBWFB 0x34,0x0,0x0 -006cd4 e210 BC 0x6cf6 -006cf2 2adf INCF 0xdf,0x1,0x0 -006cf4 d7e8 BRA 0x6cc6 +006ce0 6adf CLRF 0xdf,0x0 for(i=0;i<(sizeof(BDT)/sizeof(BDT_ENTRY));i++) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +006ce2 50df MOVF 0xdf,0x0,0x0 +006ce4 6e47 MOVWF 0x47,0x0 +006ce6 6a48 CLRF 0x48,0x0 +006ce8 0e0c MOVLW 0xc +006cea 5c47 SUBWF 0x47,0x0,0x0 +006cec 0e00 MOVLW 0x0 +006cee 5848 SUBWFB 0x48,0x0,0x0 +006cf0 e210 BC 0x6d12 +006d0e 2adf INCF 0xdf,0x1,0x0 +006d10 d7e8 BRA 0x6ce2 { C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -006cd6 50df MOVF 0xdf,0x0,0x0 BDT[i].Val = 0x00; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -006cd8 0d04 MULLW 0x4 -006cda cff3 MOVFF 0xff3,0xfe9 -006cdc ffe9 -006cde cff4 MOVFF 0xff4,0xfea -006ce0 ffea -006ce2 0e00 MOVLW 0x0 -006ce4 26e9 ADDWF 0xe9,0x1,0x0 -006ce6 0e04 MOVLW 0x4 -006ce8 22ea ADDWFC 0xea,0x1,0x0 -006cea 6aee CLRF 0xee,0x0 -006cec 6aee CLRF 0xee,0x0 -006cee 6aee CLRF 0xee,0x0 -006cf0 6aee CLRF 0xee,0x0 +006cf2 50df MOVF 0xdf,0x0,0x0 BDT[i].Val = 0x00; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +006cf4 0d04 MULLW 0x4 +006cf6 cff3 MOVFF 0xff3,0xfe9 +006cf8 ffe9 +006cfa cff4 MOVFF 0xff4,0xfea +006cfc ffea +006cfe 0e00 MOVLW 0x0 +006d00 26e9 ADDWF 0xe9,0x1,0x0 +006d02 0e04 MOVLW 0x4 +006d04 22ea ADDWFC 0xea,0x1,0x0 +006d06 6aee CLRF 0xee,0x0 +006d08 6aee CLRF 0xee,0x0 +006d0a 6aee CLRF 0xee,0x0 +006d0c 6aee CLRF 0xee,0x0 } C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c // Assert reset request to all of the Ping Pong buffer pointers C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -006cf6 8c65 BSF 0x65,0x6,0x0 USBPingPongBufferReset = 1; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +006d12 8c65 BSF 0x65,0x6,0x0 USBPingPongBufferReset = 1; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c // Reset to default address C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -006cf8 010f MOVLB 0xf U1ADDR = 0x00; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -006cfa 6b38 CLRF 0x38,0x1 +006d14 010f MOVLB 0xf U1ADDR = 0x00; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +006d16 6b38 CLRF 0x38,0x1 C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c // Make sure packet processing is enabled C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -006cfc 9865 BCF 0x65,0x4,0x0 USBPacketDisable = 0; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +006d18 9865 BCF 0x65,0x4,0x0 USBPacketDisable = 0; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c //Stop trying to reset ping pong buffer pointers C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -006cfe 9c65 BCF 0x65,0x6,0x0 USBPingPongBufferReset = 0; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +006d1a 9c65 BCF 0x65,0x6,0x0 USBPingPongBufferReset = 0; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c // Flush any pending transactions C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -006d00 a662 BTFSS 0x62,0x3,0x0 while(USBTransactionCompleteIF == 1u) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -006d02 d007 BRA 0x6d12 -006d10 d7f7 BRA 0x6d00 +006d1c a662 BTFSS 0x62,0x3,0x0 while(USBTransactionCompleteIF == 1u) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +006d1e d007 BRA 0x6d2e +006d2c d7f7 BRA 0x6d1c { C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -006d04 9662 BCF 0x62,0x3,0x0 USBClearInterruptFlag(USBTransactionCompleteIFReg,USBTransactionCompleteIFBitNum); C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +006d20 9662 BCF 0x62,0x3,0x0 USBClearInterruptFlag(USBTransactionCompleteIFReg,USBTransactionCompleteIFBitNum); C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c //Initialize USB stack software state variables C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -006d06 0101 MOVLB 0x1 inPipes[0].info.Val = 0; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -006d08 6bda CLRF 0xda,0x1 -006d0a 6bdf CLRF 0xdf,0x1 outPipes[0].info.Val = 0; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -006d0c 6be0 CLRF 0xe0,0x1 outPipes[0].wCount.Val = 0; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -006d0e 6be1 CLRF 0xe1,0x1 +006d22 0105 MOVLB 0x5 inPipes[0].info.Val = 0; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +006d24 6bbf CLRF 0xbf,0x1 +006d26 6bc4 CLRF 0xc4,0x1 outPipes[0].info.Val = 0; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +006d28 6bc5 CLRF 0xc5,0x1 outPipes[0].wCount.Val = 0; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +006d2a 6bc6 CLRF 0xc6,0x1 } C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c //Set flags to TRUE, so the USBCtrlEPAllowStatusStage() function knows not to C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c //try and arm a status stage, even before the first control transfer starts. C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -006d12 0101 MOVLB 0x1 USBStatusStageEnabledFlag1 = TRUE; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -006d14 0e01 MOVLW 0x1 -006d16 6ff3 MOVWF 0xf3,0x1 -006d18 6ff4 MOVWF 0xf4,0x1 USBStatusStageEnabledFlag2 = TRUE; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +006d2e 0105 MOVLB 0x5 USBStatusStageEnabledFlag1 = TRUE; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +006d30 0e01 MOVLW 0x1 +006d32 6fd8 MOVWF 0xd8,0x1 +006d34 6fd9 MOVWF 0xd9,0x1 USBStatusStageEnabledFlag2 = TRUE; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c //Initialize other flags C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -006d1a 6bf5 CLRF 0xf5,0x1 USBDeferINDataStagePackets = FALSE; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -006d1c 6bf6 CLRF 0xf6,0x1 USBDeferOUTDataStagePackets = FALSE; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -006d1e 6be7 CLRF 0xe7,0x1 USBBusIsSuspended = FALSE; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +006d36 6bda CLRF 0xda,0x1 USBDeferINDataStagePackets = FALSE; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +006d38 6bdb CLRF 0xdb,0x1 USBDeferOUTDataStagePackets = FALSE; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +006d3a 6bcc CLRF 0xcc,0x1 USBBusIsSuspended = FALSE; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c //Initialize all pBDTEntryIn[] and pBDTEntryOut[] C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c //pointers to NULL, so they don't get used inadvertently. C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -006d20 6adf CLRF 0xdf,0x0 for(i = 0; i < (BYTE)(USB_MAX_EP_NUMBER+1u); i++) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -006d22 0e03 MOVLW 0x3 -006d24 5cdf SUBWF 0xdf,0x0,0x0 -006d26 e211 BC 0x6d4a -006d48 d7ec BRA 0x6d22 -00784e 2adf INCF 0xdf,0x1,0x0 -007850 0012 RETURN 0x0 +006d3c 6adf CLRF 0xdf,0x0 for(i = 0; i < (BYTE)(USB_MAX_EP_NUMBER+1u); i++) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +006d3e 0e03 MOVLW 0x3 +006d40 5cdf SUBWF 0xdf,0x0,0x0 +006d42 e211 BC 0x6d66 +006d64 d7ec BRA 0x6d3e +00786a 2adf INCF 0xdf,0x1,0x0 +00786c 0012 RETURN 0x0 { C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -006d28 6aea CLRF 0xea,0x0 pBDTEntryIn[i] = 0u; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -006d2a 34df RLCF 0xdf,0x0,0x0 -006d2c ecc3 CALL 0x7986,0x0 -006d2e f03c -006d30 22ea ADDWFC 0xea,0x1,0x0 -006d32 6aee CLRF 0xee,0x0 -006d34 6aed CLRF 0xed,0x0 -007986 0bfe ANDLW 0xfe -007988 36ea RLCF 0xea,0x1,0x0 -00798a 6ee9 MOVWF 0xe9,0x0 -00798c 0ed0 MOVLW 0xd0 -00798e 26e9 ADDWF 0xe9,0x1,0x0 -007990 0e01 MOVLW 0x1 -007992 0012 RETURN 0x0 -006d36 6aea CLRF 0xea,0x0 pBDTEntryOut[i] = 0u; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -006d38 34df RLCF 0xdf,0x0,0x0 -006d3a ecca CALL 0x7994,0x0 -006d3c f03c -006d3e 22ea ADDWFC 0xea,0x1,0x0 -006d40 6aee CLRF 0xee,0x0 -006d42 6aed CLRF 0xed,0x0 -007994 0bfe ANDLW 0xfe -007996 36ea RLCF 0xea,0x1,0x0 -007998 6ee9 MOVWF 0xe9,0x0 -00799a 0eca MOVLW 0xca -00799c 26e9 ADDWF 0xe9,0x1,0x0 -00799e 0e01 MOVLW 0x1 -0079a0 0012 RETURN 0x0 -006d44 ec1f CALL 0x783e,0x0 ep_data_in[i].Val = 0u; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -006d46 f03c -00783e 50df MOVF 0xdf,0x0,0x0 -007840 d8bc RCALL 0x79ba -007842 22ea ADDWFC 0xea,0x1,0x0 -007844 6aef CLRF 0xef,0x0 -007846 50df MOVF 0xdf,0x0,0x0 ep_data_out[i].Val = 0u; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -007848 d8b3 RCALL 0x79b0 -00784a 22ea ADDWFC 0xea,0x1,0x0 -00784c 6aef CLRF 0xef,0x0 +006d44 6aea CLRF 0xea,0x0 pBDTEntryIn[i] = 0u; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +006d46 34df RLCF 0xdf,0x0,0x0 +006d48 ecd1 CALL 0x79a2,0x0 +006d4a f03c +006d4c 22ea ADDWFC 0xea,0x1,0x0 +006d4e 6aee CLRF 0xee,0x0 +006d50 6aed CLRF 0xed,0x0 +0079a2 0bfe ANDLW 0xfe +0079a4 36ea RLCF 0xea,0x1,0x0 +0079a6 6ee9 MOVWF 0xe9,0x0 +0079a8 0eb5 MOVLW 0xb5 +0079aa 26e9 ADDWF 0xe9,0x1,0x0 +0079ac 0e05 MOVLW 0x5 +0079ae 0012 RETURN 0x0 +006d52 6aea CLRF 0xea,0x0 pBDTEntryOut[i] = 0u; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +006d54 34df RLCF 0xdf,0x0,0x0 +006d56 ecd8 CALL 0x79b0,0x0 +006d58 f03c +006d5a 22ea ADDWFC 0xea,0x1,0x0 +006d5c 6aee CLRF 0xee,0x0 +006d5e 6aed CLRF 0xed,0x0 +0079b0 0bfe ANDLW 0xfe +0079b2 36ea RLCF 0xea,0x1,0x0 +0079b4 6ee9 MOVWF 0xe9,0x0 +0079b6 0eaf MOVLW 0xaf +0079b8 26e9 ADDWF 0xe9,0x1,0x0 +0079ba 0e05 MOVLW 0x5 +0079bc 0012 RETURN 0x0 +006d60 ec2d CALL 0x785a,0x0 ep_data_in[i].Val = 0u; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +006d62 f03c +00785a 50df MOVF 0xdf,0x0,0x0 +00785c d8bc RCALL 0x79d6 +00785e 22ea ADDWFC 0xea,0x1,0x0 +007860 6aef CLRF 0xef,0x0 +007862 50df MOVF 0xdf,0x0,0x0 ep_data_out[i].Val = 0u; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +007864 d8b3 RCALL 0x79cc +007866 22ea ADDWFC 0xea,0x1,0x0 +007868 6aef CLRF 0xef,0x0 } C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c //Get ready for the first packet C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -006d4a 0101 MOVLB 0x1 pBDTEntryIn[0] = (volatile BDT_ENTRY*)&BDT[EP0_IN_EVEN]; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -006d4c 0e08 MOVLW 0x8 -006d4e 6fd0 MOVWF 0xd0,0x1 -006d50 0e04 MOVLW 0x4 -006d52 6fd1 MOVWF 0xd1,0x1 +006d66 0105 MOVLB 0x5 pBDTEntryIn[0] = (volatile BDT_ENTRY*)&BDT[EP0_IN_EVEN]; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +006d68 0e08 MOVLW 0x8 +006d6a 6fb5 MOVWF 0xb5,0x1 +006d6c 0e04 MOVLW 0x4 +006d6e 6fb6 MOVWF 0xb6,0x1 // Initialize EP0 as a Ctrl EP C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -006d54 010f MOVLB 0xf U1EP0 = EP_CTRL|USB_HANDSHAKE_ENABLED; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -006d56 0e16 MOVLW 0x16 -006d58 6f26 MOVWF 0x26,0x1 +006d70 010f MOVLB 0xf U1EP0 = EP_CTRL|USB_HANDSHAKE_ENABLED; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +006d72 0e16 MOVLW 0x16 +006d74 6f26 MOVWF 0x26,0x1 //Prepare for the first SETUP on EP0 OUT C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -006d5a 0104 MOVLB 0x4 BDT[EP0_OUT_EVEN].ADR = ConvertToPhysicalAddress(&SetupPkt); C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -006d5c 0e30 MOVLW 0x30 -006d5e 6f02 MOVWF 0x2,0x1 -006d60 0e04 MOVLW 0x4 -006d62 6f03 MOVWF 0x3,0x1 -006d64 0e40 MOVLW 0x40 BDT[EP0_OUT_EVEN].CNT = USB_EP0_BUFF_SIZE; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -006d66 6f01 MOVWF 0x1,0x1 -006d68 0e84 MOVLW 0x84 BDT[EP0_OUT_EVEN].STAT.Val = _USIE|_DAT0|_BSTALL; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -006d6a 6f00 MOVWF 0x0,0x1 +006d76 0104 MOVLB 0x4 BDT[EP0_OUT_EVEN].ADR = ConvertToPhysicalAddress(&SetupPkt); C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +006d78 0e30 MOVLW 0x30 +006d7a 6f02 MOVWF 0x2,0x1 +006d7c 0e04 MOVLW 0x4 +006d7e 6f03 MOVWF 0x3,0x1 +006d80 0e40 MOVLW 0x40 BDT[EP0_OUT_EVEN].CNT = USB_EP0_BUFF_SIZE; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +006d82 6f01 MOVWF 0x1,0x1 +006d84 0e84 MOVLW 0x84 BDT[EP0_OUT_EVEN].STAT.Val = _USIE|_DAT0|_BSTALL; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +006d86 6f00 MOVWF 0x0,0x1 C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c // Clear active configuration C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -006d6c 0101 MOVLB 0x1 USBActiveConfiguration = 0; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -006d6e 6bc4 CLRF 0xc4,0x1 +006d88 0105 MOVLB 0x5 USBActiveConfiguration = 0; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +006d8a 6ba9 CLRF 0xa9,0x1 C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c //Indicate that we are now in the detached state C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -006d70 6bc3 CLRF 0xc3,0x1 USBDeviceState = DETACHED_STATE; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -006d72 52e5 MOVF 0xe5,0x1,0x0 } C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -006d74 eff1 GOTO 0x77e2 -006d76 f03b +006d8c 6ba8 CLRF 0xa8,0x1 USBDeviceState = DETACHED_STATE; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +006d8e 52e5 MOVF 0xe5,0x1,0x0 } C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +006d90 efff GOTO 0x77fe +006d92 f03b C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c /************************************************************************** C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c Function: C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c @@ -992,8 +992,8 @@ Address Value Disassembly Source void __attribute__((interrupt(),vector(_USB_1_VECTOR))) _USB1Interrupt( void ) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c #endif C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c #else C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -006d78 ecc0 CALL 0x7980,0x0 void USBDeviceTasks(void) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -006d7a f03c +006d94 ecce CALL 0x799c,0x0 void USBDeviceTasks(void) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +006d96 f03c #endif C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c { C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c BYTE i; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c @@ -1022,19 +1022,19 @@ Address Value Disassembly Source //If the interrupt option is selected then the customer is required C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c // to notify the stack when the device is attached or removed from the C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c // bus by calling the USBDeviceAttach() and USBDeviceDetach() functions. C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -006d7c be82 BTFSC 0x82,0x7,0x0 if (USB_BUS_SENSE != 1u) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -006d7e d006 BRA 0x6d8c +006d98 be82 BTFSC 0x82,0x7,0x0 if (USB_BUS_SENSE != 1u) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +006d9a d006 BRA 0x6da8 { C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c // Disable module & detach from bus C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -006d80 6a65 CLRF 0x65,0x0 U1CON = 0; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +006d9c 6a65 CLRF 0x65,0x0 U1CON = 0; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c // Mask all USB interrupts C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -006d82 010f MOVLB 0xf U1IE = 0; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -006d84 6b36 CLRF 0x36,0x1 +006d9e 010f MOVLB 0xf U1IE = 0; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +006da0 6b36 CLRF 0x36,0x1 C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c //Move to the detached state C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -006d86 0101 MOVLB 0x1 USBDeviceState = DETACHED_STATE; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -006d88 6bc3 CLRF 0xc3,0x1 +006da2 0105 MOVLB 0x5 USBDeviceState = DETACHED_STATE; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +006da4 6ba8 CLRF 0xa8,0x1 C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c #ifdef USB_SUPPORT_OTG C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c //Disable D+ Pullup C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c @@ -1063,7 +1063,7 @@ Address Value Disassembly Source //return so that we don't go through the rest of C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c //the state machine C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c USBClearUSBInterrupt(); C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -006d8a d06f BRA 0x6e6a return; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +006da6 d06f BRA 0x6e86 return; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c } C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c #ifdef USB_SUPPORT_OTG C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c @@ -1086,32 +1086,32 @@ Address Value Disassembly Source #endif //#ifdef USB_SUPPORT_OTG C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c //if we are in the detached state C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -006d8c 0101 MOVLB 0x1 if(USBDeviceState == DETACHED_STATE) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -006d8e 51c3 MOVF 0xc3,0x0,0x1 -006d90 e10c BNZ 0x6daa +006da8 0105 MOVLB 0x5 if(USBDeviceState == DETACHED_STATE) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +006daa 51a8 MOVF 0xa8,0x0,0x1 +006dac e10c BNZ 0x6dc6 { C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c //Initialize register to known value C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -006d92 6a65 CLRF 0x65,0x0 U1CON = 0; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +006dae 6a65 CLRF 0x65,0x0 U1CON = 0; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c // Mask all USB interrupts C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -006d94 010f MOVLB 0xf U1IE = 0; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -006d96 6b36 CLRF 0x36,0x1 +006db0 010f MOVLB 0xf U1IE = 0; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +006db2 6b36 CLRF 0x36,0x1 C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c //Enable/set things like: pull ups, full/low-speed mode, C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c //set the ping pong mode, and set internal transceiver C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -006d98 ec5e CALL 0x78bc,0x0 SetConfigurationOptions(); C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -006d9a f03c +006db4 ec6c CALL 0x78d8,0x0 SetConfigurationOptions(); C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +006db6 f03c C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c // Enable module & attach to bus C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -006d9c b665 BTFSC 0x65,0x3,0x0 while(!U1CONbits.USBEN){U1CONbits.USBEN = 1;} C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -006d9e d002 BRA 0x6da4 -006da0 8665 BSF 0x65,0x3,0x0 -006da2 d7fc BRA 0x6d9c +006db8 b665 BTFSC 0x65,0x3,0x0 while(!U1CONbits.USBEN){U1CONbits.USBEN = 1;} C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +006dba d002 BRA 0x6dc0 +006dbc 8665 BSF 0x65,0x3,0x0 +006dbe d7fc BRA 0x6db8 C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c //moved to the attached state C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -006da4 0101 MOVLB 0x1 USBDeviceState = ATTACHED_STATE; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -006da6 0e01 MOVLW 0x1 -006da8 6fc3 MOVWF 0xc3,0x1 +006dc0 0105 MOVLB 0x5 USBDeviceState = ATTACHED_STATE; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +006dc2 0e01 MOVLW 0x1 +006dc4 6fa8 MOVWF 0xa8,0x1 C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c #ifdef USB_SUPPORT_OTG C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c U1OTGCON |= USB_OTG_DPLUS_ENABLE | USB_OTG_ENABLE; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c @@ -1119,8 +1119,8 @@ Address Value Disassembly Source } C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c #endif //#if defined(USB_POLLING) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -006daa 05c3 DECF 0xc3,0x0,0x1 if(USBDeviceState == ATTACHED_STATE) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -006dac e10a BNZ 0x6dc2 +006dc6 05a8 DECF 0xa8,0x0,0x1 if(USBDeviceState == ATTACHED_STATE) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +006dc8 e10a BNZ 0x6dde { C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c /* C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c * After enabling the USB module, it takes some time for the C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c @@ -1131,19 +1131,19 @@ Address Value Disassembly Source * as a USB bus reset from the USB host. C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c */ C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -006dae ba65 BTFSC 0x65,0x5,0x0 if(!USBSE0Event) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -006db0 d008 BRA 0x6dc2 +006dca ba65 BTFSC 0x65,0x5,0x0 if(!USBSE0Event) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +006dcc d008 BRA 0x6dde { C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -006db2 6a62 CLRF 0x62,0x0 USBClearInterruptRegister(U1IR);// Clear all USB interrupts C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +006dce 6a62 CLRF 0x62,0x0 USBClearInterruptRegister(U1IR);// Clear all USB interrupts C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c #if defined(USB_POLLING) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -006db4 010f MOVLB 0xf U1IE=0; // Mask all USB interrupts C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -006db6 6b36 CLRF 0x36,0x1 +006dd0 010f MOVLB 0xf U1IE=0; // Mask all USB interrupts C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +006dd2 6b36 CLRF 0x36,0x1 #endif C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -006db8 8136 BSF 0x36,0x0,0x1 USBResetIE = 1; // Unmask RESET interrupt C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -006dba 8936 BSF 0x36,0x4,0x1 USBIdleIE = 1; // Unmask IDLE interrupt C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -006dbc 0101 MOVLB 0x1 USBDeviceState = POWERED_STATE; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -006dbe 0e02 MOVLW 0x2 -006dc0 6fc3 MOVWF 0xc3,0x1 +006dd4 8136 BSF 0x36,0x0,0x1 USBResetIE = 1; // Unmask RESET interrupt C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +006dd6 8936 BSF 0x36,0x4,0x1 USBIdleIE = 1; // Unmask IDLE interrupt C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +006dd8 0105 MOVLB 0x5 USBDeviceState = POWERED_STATE; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +006dda 0e02 MOVLW 0x2 +006ddc 6fa8 MOVWF 0xa8,0x1 } C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c } C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c @@ -1161,27 +1161,27 @@ Address Value Disassembly Source /* C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c * Task A: Service USB Activity Interrupt C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c */ C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -006dc2 5062 MOVF 0x62,0x0,0x0 if(USBActivityIF && USBActivityIE) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -006dc4 0b04 ANDLW 0x4 -006dc6 e006 BZ 0x6dd4 -006dc8 010f MOVLB 0xf -006dca 5136 MOVF 0x36,0x0,0x1 -006dcc 0b04 ANDLW 0x4 -006dce e002 BZ 0x6dd4 +006dde 5062 MOVF 0x62,0x0,0x0 if(USBActivityIF && USBActivityIE) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +006de0 0b04 ANDLW 0x4 +006de2 e006 BZ 0x6df0 +006de4 010f MOVLB 0xf +006de6 5136 MOVF 0x36,0x0,0x1 +006de8 0b04 ANDLW 0x4 +006dea e002 BZ 0x6df0 { C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -006dd0 9462 BCF 0x62,0x2,0x0 USBClearInterruptFlag(USBActivityIFReg,USBActivityIFBitNum); C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +006dec 9462 BCF 0x62,0x2,0x0 USBClearInterruptFlag(USBActivityIFReg,USBActivityIFBitNum); C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c #if defined(USB_SUPPORT_OTG) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c U1OTGIR = 0x10; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c #else C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -006dd2 db47 RCALL 0x7462 USBWakeFromSuspend(); C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +006dee db47 RCALL 0x747e USBWakeFromSuspend(); C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c #endif C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c } C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c /* C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c * Pointless to continue servicing if the device is in suspend mode. C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c */ C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -006dd4 b265 BTFSC 0x65,0x1,0x0 if(USBSuspendControl==1u) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -006dd6 d049 BRA 0x6e6a +006df0 b265 BTFSC 0x65,0x1,0x0 if(USBSuspendControl==1u) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +006df2 d049 BRA 0x6e86 { C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c USBClearUSBInterrupt(); C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c return; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c @@ -1197,23 +1197,23 @@ Address Value Disassembly Source * DETACHED_STATE or ATTACHED_STATE, and therefore cannot C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c * cause a USB reset event during these two states. C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c */ C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -006dd8 5062 MOVF 0x62,0x0,0x0 if(USBResetIF && USBResetIE) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -006dda 0b01 ANDLW 0x1 -006ddc e009 BZ 0x6df0 -006dde 010f MOVLB 0xf -006de0 5136 MOVF 0x36,0x0,0x1 -006de2 0b01 ANDLW 0x1 -006de4 e005 BZ 0x6df0 +006df4 5062 MOVF 0x62,0x0,0x0 if(USBResetIF && USBResetIE) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +006df6 0b01 ANDLW 0x1 +006df8 e009 BZ 0x6e0c +006dfa 010f MOVLB 0xf +006dfc 5136 MOVF 0x36,0x0,0x1 +006dfe 0b01 ANDLW 0x1 +006e00 e005 BZ 0x6e0c { C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -006de6 df62 RCALL 0x6cac USBDeviceInit(); C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +006e02 df62 RCALL 0x6cc8 USBDeviceInit(); C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c //Re-enable the interrupts since the USBDeviceInit() function will C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c // disable them. This will do nothing in a polling setup C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c USBUnmaskInterrupts(); C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -006de8 0101 MOVLB 0x1 USBDeviceState = DEFAULT_STATE; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -006dea 0e04 MOVLW 0x4 -006dec 6fc3 MOVWF 0xc3,0x1 +006e04 0105 MOVLB 0x5 USBDeviceState = DEFAULT_STATE; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +006e06 0e04 MOVLW 0x4 +006e08 6fa8 MOVWF 0xa8,0x1 C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c #ifdef USB_SUPPORT_OTG C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c //Disable HNP C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c @@ -1223,51 +1223,51 @@ Address Value Disassembly Source USBOTGDeactivateHnp(); C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c #endif C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -006dee 9062 BCF 0x62,0x0,0x0 USBClearInterruptFlag(USBResetIFReg,USBResetIFBitNum); C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +006e0a 9062 BCF 0x62,0x0,0x0 USBClearInterruptFlag(USBResetIFReg,USBResetIFBitNum); C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c } C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c /* C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c * Task C: Service other USB interrupts C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c */ C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -006df0 5062 MOVF 0x62,0x0,0x0 if(USBIdleIF && USBIdleIE) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -006df2 0b10 ANDLW 0x10 -006df4 e006 BZ 0x6e02 -006df6 010f MOVLB 0xf -006df8 5136 MOVF 0x36,0x0,0x1 -006dfa 0b10 ANDLW 0x10 -006dfc e002 BZ 0x6e02 +006e0c 5062 MOVF 0x62,0x0,0x0 if(USBIdleIF && USBIdleIE) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +006e0e 0b10 ANDLW 0x10 +006e10 e006 BZ 0x6e1e +006e12 010f MOVLB 0xf +006e14 5136 MOVF 0x36,0x0,0x1 +006e16 0b10 ANDLW 0x10 +006e18 e002 BZ 0x6e1e { C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c #ifdef USB_SUPPORT_OTG C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c //If Suspended, Try to switch to Host C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c USBOTGSelectRole(ROLE_HOST); C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c #else C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -006dfe db26 RCALL 0x744c USBSuspend(); C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +006e1a db26 RCALL 0x7468 USBSuspend(); C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c #endif C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -006e00 9862 BCF 0x62,0x4,0x0 USBClearInterruptFlag(USBIdleIFReg,USBIdleIFBitNum); C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +006e1c 9862 BCF 0x62,0x4,0x0 USBClearInterruptFlag(USBIdleIFReg,USBIdleIFBitNum); C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c } C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -006e02 ac62 BTFSS 0x62,0x6,0x0 if(USBSOFIF) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -006e04 d010 BRA 0x6e26 +006e1e ac62 BTFSS 0x62,0x6,0x0 if(USBSOFIF) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +006e20 d010 BRA 0x6e42 { C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -006e06 010f MOVLB 0xf if(USBSOFIE) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -006e08 ad36 BTFSS 0x36,0x6,0x1 -006e0a d005 BRA 0x6e16 +006e22 010f MOVLB 0xf if(USBSOFIE) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +006e24 ad36 BTFSS 0x36,0x6,0x1 +006e26 d005 BRA 0x6e32 { C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -006e0c ec65 CALL 0x78ca,0x0 USB_SOF_HANDLER(EVENT_SOF,0,1); C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -006e0e f03c -006e10 0e73 MOVLW 0x73 -006e12 ecde CALL 0x77bc,0x0 -006e14 f03b -0078ca 0e01 MOVLW 0x1 -0078cc 6ee6 MOVWF 0xe6,0x0 -0078ce 6ae6 CLRF 0xe6,0x0 -0078d0 0e00 MOVLW 0x0 -0078d2 6ee6 MOVWF 0xe6,0x0 -0078d4 6ae6 CLRF 0xe6,0x0 -0078d6 0012 RETURN 0x0 +006e28 ec73 CALL 0x78e6,0x0 USB_SOF_HANDLER(EVENT_SOF,0,1); C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +006e2a f03c +006e2c 0e73 MOVLW 0x73 +006e2e ecec CALL 0x77d8,0x0 +006e30 f03b +0078e6 0e01 MOVLW 0x1 +0078e8 6ee6 MOVWF 0xe6,0x0 +0078ea 6ae6 CLRF 0xe6,0x0 +0078ec 0e00 MOVLW 0x0 +0078ee 6ee6 MOVWF 0xe6,0x0 +0078f0 6ae6 CLRF 0xe6,0x0 +0078f2 0012 RETURN 0x0 } C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -006e16 9c62 BCF 0x62,0x6,0x0 USBClearInterruptFlag(USBSOFIFReg,USBSOFIFBitNum); C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +006e32 9c62 BCF 0x62,0x6,0x0 USBClearInterruptFlag(USBSOFIFReg,USBSOFIFBitNum); C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c #if defined(USB_ENABLE_STATUS_STAGE_TIMEOUTS) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c //Supporting this feature requires a 1ms timebase for keeping track of the timeout interval. C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c @@ -1292,59 +1292,59 @@ Address Value Disassembly Source #endif C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c //Decrement our status stage counter. C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -006e18 0101 MOVLB 0x1 if(USBStatusStageTimeoutCounter != 0u) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -006e1a 51f1 MOVF 0xf1,0x0,0x1 -006e1c e001 BZ 0x6e20 +006e34 0105 MOVLB 0x5 if(USBStatusStageTimeoutCounter != 0u) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +006e36 51d6 MOVF 0xd6,0x0,0x1 +006e38 e001 BZ 0x6e3c { C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -006e1e 07f1 DECF 0xf1,0x1,0x1 USBStatusStageTimeoutCounter--; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +006e3a 07d6 DECF 0xd6,0x1,0x1 USBStatusStageTimeoutCounter--; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c } C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c //Check if too much time has elapsed since progress was made in C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c //processing the control transfer, without arming the status stage. C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c //If so, auto-arm the status stage to ensure that the control C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c //transfer can [eventually] complete, within the timing limits C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c //dictated by section 9.2.6 of the official USB 2.0 specifications. C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -006e20 51f1 MOVF 0xf1,0x0,0x1 if(USBStatusStageTimeoutCounter == 0u) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -006e22 e101 BNZ 0x6e26 +006e3c 51d6 MOVF 0xd6,0x0,0x1 if(USBStatusStageTimeoutCounter == 0u) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +006e3e e101 BNZ 0x6e42 { C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -006e24 d8f4 RCALL 0x700e USBCtrlEPAllowStatusStage(); //Does nothing if the status stage was already armed. C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +006e40 d8f4 RCALL 0x702a USBCtrlEPAllowStatusStage(); //Does nothing if the status stage was already armed. C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c } C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c #endif C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c } C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -006e26 5062 MOVF 0x62,0x0,0x0 if(USBStallIF && USBStallIE) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -006e28 0b20 ANDLW 0x20 -006e2a e005 BZ 0x6e36 -006e2c 010f MOVLB 0xf -006e2e 5136 MOVF 0x36,0x0,0x1 -006e30 0b20 ANDLW 0x20 -006e32 e001 BZ 0x6e36 +006e42 5062 MOVF 0x62,0x0,0x0 if(USBStallIF && USBStallIE) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +006e44 0b20 ANDLW 0x20 +006e46 e005 BZ 0x6e52 +006e48 010f MOVLB 0xf +006e4a 5136 MOVF 0x36,0x0,0x1 +006e4c 0b20 ANDLW 0x20 +006e4e e001 BZ 0x6e52 { C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -006e34 dafa RCALL 0x742a USBStallHandler(); C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +006e50 dafa RCALL 0x7446 USBStallHandler(); C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c } C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -006e36 5062 MOVF 0x62,0x0,0x0 if(USBErrorIF && USBErrorIE) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -006e38 0b02 ANDLW 0x2 -006e3a e00c BZ 0x6e54 -006e3c 010f MOVLB 0xf -006e3e 5136 MOVF 0x36,0x0,0x1 -006e40 0b02 ANDLW 0x2 -006e42 e008 BZ 0x6e54 +006e52 5062 MOVF 0x62,0x0,0x0 if(USBErrorIF && USBErrorIE) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +006e54 0b02 ANDLW 0x2 +006e56 e00c BZ 0x6e70 +006e58 010f MOVLB 0xf +006e5a 5136 MOVF 0x36,0x0,0x1 +006e5c 0b02 ANDLW 0x2 +006e5e e008 BZ 0x6e70 { C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -006e44 ec65 CALL 0x78ca,0x0 USB_ERROR_HANDLER(EVENT_BUS_ERROR,0,1); C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -006e46 f03c -006e48 68e6 SETF 0xe6,0x0 -006e4a 0e7f MOVLW 0x7f -006e4c 6ee6 MOVWF 0xe6,0x0 -006e4e ecd1 CALL 0x79a2,0x0 -006e50 f03c -0079a2 ec79 CALL 0x8af2,0x0 -0079a4 f045 -0079a6 6e33 MOVWF 0x33,0x0 -0079a8 0e06 MOVLW 0x6 -0079aa 5ee1 SUBWF 0xe1,0x1,0x0 -0079ac 5033 MOVF 0x33,0x0,0x0 -0079ae 0012 RETURN 0x0 -006e52 6a63 CLRF 0x63,0x0 USBClearInterruptRegister(U1EIR); // This clears UERRIF C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +006e60 ec73 CALL 0x78e6,0x0 USB_ERROR_HANDLER(EVENT_BUS_ERROR,0,1); C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +006e62 f03c +006e64 68e6 SETF 0xe6,0x0 +006e66 0e7f MOVLW 0x7f +006e68 6ee6 MOVWF 0xe6,0x0 +006e6a ecdf CALL 0x79be,0x0 +006e6c f03c +0079be ec87 CALL 0x8b0e,0x0 +0079c0 f045 +0079c2 6e47 MOVWF 0x47,0x0 +0079c4 0e06 MOVLW 0x6 +0079c6 5ee1 SUBWF 0xe1,0x1,0x0 +0079c8 5047 MOVF 0x47,0x0,0x0 +0079ca 0012 RETURN 0x0 +006e6e 6a63 CLRF 0x63,0x0 USBClearInterruptRegister(U1EIR); // This clears UERRIF C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c //On PIC18, clearing the source of the error will automatically clear C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c // the interrupt flag. On other devices the interrupt flag must be C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c @@ -1359,91 +1359,91 @@ Address Value Disassembly Source * Once bus reset is received, the device transitions into the DEFAULT C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c * state and is ready for communication. C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c */ C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -006e54 0e04 MOVLW 0x4 if(USBDeviceState < DEFAULT_STATE) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -006e56 0101 MOVLB 0x1 -006e58 6ee7 MOVWF 0xe7,0x0 -006e5a 19c3 XORWF 0xc3,0x0,0x1 -006e5c aee8 BTFSS 0xe8,0x7,0x0 -006e5e d002 BRA 0x6e64 -006e60 34e7 RLCF 0xe7,0x0,0x0 -006e62 d002 BRA 0x6e68 -006e64 50e7 MOVF 0xe7,0x0,0x0 -006e66 5dc3 SUBWF 0xc3,0x0,0x1 -006e68 e202 BC 0x6e6e +006e70 0e04 MOVLW 0x4 if(USBDeviceState < DEFAULT_STATE) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +006e72 0105 MOVLB 0x5 +006e74 6ee7 MOVWF 0xe7,0x0 +006e76 19a8 XORWF 0xa8,0x0,0x1 +006e78 aee8 BTFSS 0xe8,0x7,0x0 +006e7a d002 BRA 0x6e80 +006e7c 34e7 RLCF 0xe7,0x0,0x0 +006e7e d002 BRA 0x6e84 +006e80 50e7 MOVF 0xe7,0x0,0x0 +006e82 5da8 SUBWF 0xa8,0x0,0x1 +006e84 e202 BC 0x6e8a { C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -006e6a 98a1 BCF 0xa1,0x4,0x0 USBClearUSBInterrupt(); C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -006e6c d02f BRA 0x6ecc return; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +006e86 98a1 BCF 0xa1,0x4,0x0 USBClearUSBInterrupt(); C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +006e88 d02f BRA 0x6ee8 return; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c } C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c /* C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c * Task D: Servicing USB Transaction Complete Interrupt C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c */ C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -006e6e 010f MOVLB 0xf if(USBTransactionCompleteIE) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -006e70 a736 BTFSS 0x36,0x3,0x1 -006e72 d02b BRA 0x6eca +006e8a 010f MOVLB 0xf if(USBTransactionCompleteIE) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +006e8c a736 BTFSS 0x36,0x3,0x1 +006e8e d02b BRA 0x6ee6 { C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -006e74 6adf CLRF 0xdf,0x0 for(i = 0; i < 4u; i++) //Drain or deplete the USAT FIFO entries. If the USB FIFO ever gets full, USB bandwidth C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -006e76 0e04 MOVLW 0x4 -006e78 5cdf SUBWF 0xdf,0x0,0x0 -006e7a e227 BC 0x6eca -006ec6 2adf INCF 0xdf,0x1,0x0 -006ec8 d7d6 BRA 0x6e76 +006e90 6adf CLRF 0xdf,0x0 for(i = 0; i < 4u; i++) //Drain or deplete the USAT FIFO entries. If the USB FIFO ever gets full, USB bandwidth C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +006e92 0e04 MOVLW 0x4 +006e94 5cdf SUBWF 0xdf,0x0,0x0 +006e96 e227 BC 0x6ee6 +006ee2 2adf INCF 0xdf,0x1,0x0 +006ee4 d7d6 BRA 0x6e92 { //utilization can be compromised, and the device won't be able to receive SETUP packets. C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -006e7c a662 BTFSS 0x62,0x3,0x0 if(USBTransactionCompleteIF) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -006e7e d025 BRA 0x6eca +006e98 a662 BTFSS 0x62,0x3,0x0 if(USBTransactionCompleteIF) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +006e9a d025 BRA 0x6ee6 { C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c //Save and extract USTAT register info. Will use this info later. C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -006e80 cf64 MOVFF 0xf64,0x1e8 USTATcopy.Val = U1STAT; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -006e82 f1e8 -006e84 0101 MOVLB 0x1 endpoint_number = USBHALGetLastEndpoint(USTATcopy); C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -006e86 51e8 MOVF 0xe8,0x0,0x1 -006e88 0b78 ANDLW 0x78 -006e8a 42e8 RRNCF 0xe8,0x1,0x0 -006e8c 42e8 RRNCF 0xe8,0x1,0x0 -006e8e 42e8 RRNCF 0xe8,0x1,0x0 -006e90 6fe9 MOVWF 0xe9,0x1 +006e9c cf64 MOVFF 0xf64,0x5cd USTATcopy.Val = U1STAT; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +006e9e f5cd +006ea0 0105 MOVLB 0x5 endpoint_number = USBHALGetLastEndpoint(USTATcopy); C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +006ea2 51cd MOVF 0xcd,0x0,0x1 +006ea4 0b78 ANDLW 0x78 +006ea6 42e8 RRNCF 0xe8,0x1,0x0 +006ea8 42e8 RRNCF 0xe8,0x1,0x0 +006eaa 42e8 RRNCF 0xe8,0x1,0x0 +006eac 6fce MOVWF 0xce,0x1 C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -006e92 9662 BCF 0x62,0x3,0x0 USBClearInterruptFlag(USBTransactionCompleteIFReg,USBTransactionCompleteIFBitNum); C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +006eae 9662 BCF 0x62,0x3,0x0 USBClearInterruptFlag(USBTransactionCompleteIFReg,USBTransactionCompleteIFBitNum); C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c //Keep track of the hardware ping pong state for endpoints other C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c //than EP0, if ping pong buffering is enabled. C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c #if (USB_PING_PONG_MODE == USB_PING_PONG__ALL_BUT_EP0) || (USB_PING_PONG_MODE == USB_PING_PONG__FULL_PING_PONG) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -006e94 b5e8 BTFSC 0xe8,0x2,0x1 if(USBHALGetLastDirection(USTATcopy) == OUT_FROM_HOST) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -006e96 d004 BRA 0x6ea0 +006eb0 b5cd BTFSC 0xcd,0x2,0x1 if(USBHALGetLastDirection(USTATcopy) == OUT_FROM_HOST) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +006eb2 d004 BRA 0x6ebc { C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -006e98 51e9 MOVF 0xe9,0x0,0x1 ep_data_out[endpoint_number].bits.ping_pong_state ^= 1; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -006e9a ecd8 CALL 0x79b0,0x0 -006e9c f03c +006eb4 51ce MOVF 0xce,0x0,0x1 ep_data_out[endpoint_number].bits.ping_pong_state ^= 1; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +006eb6 ece6 CALL 0x79cc,0x0 +006eb8 f03c } C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -006e9e d003 BRA 0x6ea6 else C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +006eba d003 BRA 0x6ec2 else C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c { C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -006ea0 51e9 MOVF 0xe9,0x0,0x1 ep_data_in[endpoint_number].bits.ping_pong_state ^= 1; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -006ea2 ecdd CALL 0x79ba,0x0 -006ea4 f03c -006ea6 22ea ADDWFC 0xea,0x1,0x0 -006ea8 70ef BTG 0xef,0x0,0x0 +006ebc 51ce MOVF 0xce,0x0,0x1 ep_data_in[endpoint_number].bits.ping_pong_state ^= 1; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +006ebe eceb CALL 0x79d6,0x0 +006ec0 f03c +006ec2 22ea ADDWFC 0xea,0x1,0x0 +006ec4 70ef BTG 0xef,0x0,0x0 } C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c #endif C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c //USBCtrlEPService only services transactions over EP0. C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c //It ignores all other EP transactions. C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -006eaa 51e9 MOVF 0xe9,0x0,0x1 if(endpoint_number == 0u) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -006eac e102 BNZ 0x6eb2 +006ec6 51ce MOVF 0xce,0x0,0x1 if(endpoint_number == 0u) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +006ec8 e102 BNZ 0x6ece { C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -006eae dae6 RCALL 0x747c USBCtrlEPService(); C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +006eca dae6 RCALL 0x7498 USBCtrlEPService(); C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c } C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -006eb0 d00a BRA 0x6ec6 else C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +006ecc d00a BRA 0x6ee2 else C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c { C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -006eb2 0e00 MOVLW 0x0 USB_TRANSFER_COMPLETE_HANDLER(EVENT_TRANSFER, (BYTE*)&USTATcopy.Val, 0); C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -006eb4 6ee6 MOVWF 0xe6,0x0 -006eb6 6ae6 CLRF 0xe6,0x0 -006eb8 0ee8 MOVLW 0xe8 -006eba 6ee6 MOVWF 0xe6,0x0 -006ebc 0e01 MOVLW 0x1 -006ebe 6ee6 MOVWF 0xe6,0x0 -006ec0 0e72 MOVLW 0x72 -006ec2 ecde CALL 0x77bc,0x0 -006ec4 f03b +006ece 0e00 MOVLW 0x0 USB_TRANSFER_COMPLETE_HANDLER(EVENT_TRANSFER, (BYTE*)&USTATcopy.Val, 0); C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +006ed0 6ee6 MOVWF 0xe6,0x0 +006ed2 6ae6 CLRF 0xe6,0x0 +006ed4 0ecd MOVLW 0xcd +006ed6 6ee6 MOVWF 0xe6,0x0 +006ed8 0e05 MOVLW 0x5 +006eda 6ee6 MOVWF 0xe6,0x0 +006edc 0e72 MOVLW 0x72 +006ede ecec CALL 0x77d8,0x0 +006ee0 f03b } C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c }//end if(USBTransactionCompleteIF) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c else C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c @@ -1451,10 +1451,10 @@ Address Value Disassembly Source }//end for() C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c }//end if(USBTransactionCompleteIE) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -006eca 98a1 BCF 0xa1,0x4,0x0 USBClearUSBInterrupt(); C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -006ecc 52e5 MOVF 0xe5,0x1,0x0 }//end of USBDeviceTasks() C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -006ece eff1 GOTO 0x77e2 -006ed0 f03b +006ee6 98a1 BCF 0xa1,0x4,0x0 USBClearUSBInterrupt(); C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +006ee8 52e5 MOVF 0xe5,0x1,0x0 }//end of USBDeviceTasks() C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +006eea efff GOTO 0x77fe +006eec f03b C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c /******************************************************************************* C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c Function: C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c @@ -1505,37 +1505,37 @@ Address Value Disassembly Source Remarks: C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c None C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c *****************************************************************************/ C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -006ed2 ec91 CALL 0x7922,0x0 void USBEnableEndpoint(BYTE ep, BYTE options) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -006ed4 f03c +006eee ec9f CALL 0x793e,0x0 void USBEnableEndpoint(BYTE ep, BYTE options) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +006ef0 f03c { C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c unsigned char* p; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c //Use USBConfigureEndpoint() to set up the pBDTEntryIn/Out[ep] pointer and C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c //starting DTS state in the BDT entry. C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -006ed6 0efd MOVLW 0xfd if(options & USB_OUT_ENABLED) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -006ed8 a4db BTFSS 0xdb,0x2,0x0 -006eda d003 BRA 0x6ee2 +006ef2 0efd MOVLW 0xfd if(options & USB_OUT_ENABLED) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +006ef4 a4db BTFSS 0xdb,0x2,0x0 +006ef6 d003 BRA 0x6efe { C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -006edc 6ae6 CLRF 0xe6,0x0 USBConfigureEndpoint(ep, OUT_FROM_HOST); C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -006ede ec56 CALL 0x78ac,0x0 -006ee0 f03c -0078ac 0efe MOVLW 0xfe -0078ae cfdb MOVFF 0xfdb,0xfe6 -0078b0 ffe6 -0078b2 ec4c CALL 0x7098,0x0 -0078b4 f038 -0078b6 52e5 MOVF 0xe5,0x1,0x0 -0078b8 52e5 MOVF 0xe5,0x1,0x0 -0078ba 0012 RETURN 0x0 +006ef8 6ae6 CLRF 0xe6,0x0 USBConfigureEndpoint(ep, OUT_FROM_HOST); C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +006efa ec64 CALL 0x78c8,0x0 +006efc f03c +0078c8 0efe MOVLW 0xfe +0078ca cfdb MOVFF 0xfdb,0xfe6 +0078cc ffe6 +0078ce ec5a CALL 0x70b4,0x0 +0078d0 f038 +0078d2 52e5 MOVF 0xe5,0x1,0x0 +0078d4 52e5 MOVF 0xe5,0x1,0x0 +0078d6 0012 RETURN 0x0 } C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -006ee2 0efd MOVLW 0xfd if(options & USB_IN_ENABLED) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -006ee4 a2db BTFSS 0xdb,0x1,0x0 -006ee6 d004 BRA 0x6ef0 +006efe 0efd MOVLW 0xfd if(options & USB_IN_ENABLED) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +006f00 a2db BTFSS 0xdb,0x1,0x0 +006f02 d004 BRA 0x6f0c { C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -006ee8 0e01 MOVLW 0x1 USBConfigureEndpoint(ep, IN_TO_HOST); C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -006eea 6ee6 MOVWF 0xe6,0x0 -006eec ec56 CALL 0x78ac,0x0 -006eee f03c +006f04 0e01 MOVLW 0x1 USBConfigureEndpoint(ep, IN_TO_HOST); C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +006f06 6ee6 MOVWF 0xe6,0x0 +006f08 ec64 CALL 0x78c8,0x0 +006f0a f03c } C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c //Update the relevant UEPx register to actually enable the endpoint with C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c @@ -1544,28 +1544,28 @@ Address Value Disassembly Source #if defined(__C32__) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c p = (unsigned char*)(&U1EP0+(4*ep)); C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c #else C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -006ef0 0efe MOVLW 0xfe p = (unsigned char*)(&U1EP0+ep); C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -006ef2 50db MOVF 0xdb,0x0,0x0 -006ef4 6a34 CLRF 0x34,0x0 -006ef6 0f26 ADDLW 0x26 -006ef8 6e33 MOVWF 0x33,0x0 -006efa 0e0f MOVLW 0xf -006efc ec50 CALL 0x78a0,0x0 -006efe f03c +006f0c 0efe MOVLW 0xfe p = (unsigned char*)(&U1EP0+ep); C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +006f0e 50db MOVF 0xdb,0x0,0x0 +006f10 6a48 CLRF 0x48,0x0 +006f12 0f26 ADDLW 0x26 +006f14 6e47 MOVWF 0x47,0x0 +006f16 0e0f MOVLW 0xf +006f18 ec5e CALL 0x78bc,0x0 +006f1a f03c #endif C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -006f00 ece2 CALL 0x77c4,0x0 *p = options; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -006f02 f03b -006f04 0efd MOVLW 0xfd -006f06 cfdb MOVFF 0xfdb,0xfef -006f08 ffef -006f0a 0e02 MOVLW 0x2 } C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -006f0c 5ce1 SUBWF 0xe1,0x0,0x0 -006f0e e202 BC 0x6f14 -006f10 6ae1 CLRF 0xe1,0x0 -006f12 52e5 MOVF 0xe5,0x1,0x0 -006f14 6ee1 MOVWF 0xe1,0x0 -006f16 eff1 GOTO 0x77e2 -006f18 f03b +006f1c ecf0 CALL 0x77e0,0x0 *p = options; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +006f1e f03b +006f20 0efd MOVLW 0xfd +006f22 cfdb MOVFF 0xfdb,0xfef +006f24 ffef +006f26 0e02 MOVLW 0x2 } C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +006f28 5ce1 SUBWF 0xe1,0x0,0x0 +006f2a e202 BC 0x6f30 +006f2c 6ae1 CLRF 0xe1,0x0 +006f2e 52e5 MOVF 0xe5,0x1,0x0 +006f30 6ee1 MOVWF 0xe1,0x0 +006f32 efff GOTO 0x77fe +006f34 f03b C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c /************************************************************************* C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c @@ -1658,46 +1658,46 @@ Address Value Disassembly Source function first. C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c *************************************************************************/ C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -006f1a ec91 CALL 0x7922,0x0 USB_HANDLE USBTransferOnePacket(BYTE ep,BYTE dir,BYTE* data,BYTE len) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -006f1c f03c -007922 df5a RCALL 0x77d8 -007924 0e02 MOVLW 0x2 -007926 26e1 ADDWF 0xe1,0x1,0x0 -007928 0012 RETURN 0x0 +006f36 ec9f CALL 0x793e,0x0 USB_HANDLE USBTransferOnePacket(BYTE ep,BYTE dir,BYTE* data,BYTE len) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +006f38 f03c +00793e df5a RCALL 0x77f4 +007940 0e02 MOVLW 0x2 +007942 26e1 ADDWF 0xe1,0x1,0x0 +007944 0012 RETURN 0x0 { C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c volatile BDT_ENTRY* handle; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c //If the direction is IN C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -006f1e 0efd MOVLW 0xfd if(dir != 0u) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -006f20 50db MOVF 0xdb,0x0,0x0 -006f22 e003 BZ 0x6f2a +006f3a 0efd MOVLW 0xfd if(dir != 0u) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +006f3c 50db MOVF 0xdb,0x0,0x0 +006f3e e003 BZ 0x6f46 { C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c //point to the IN BDT of the specified endpoint C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -006f24 ecd9 CALL 0x77b2,0x0 handle = pBDTEntryIn[ep]; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -006f26 f03b +006f40 ece7 CALL 0x77ce,0x0 handle = pBDTEntryIn[ep]; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +006f42 f03b } C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -006f28 d002 BRA 0x6f2e else C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +006f44 d002 BRA 0x6f4a else C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c { C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c //else point to the OUT BDT of the specified endpoint C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -006f2a ec10 CALL 0x7820,0x0 handle = pBDTEntryOut[ep]; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -006f2c f03c -006f2e ec3c CALL 0x7878,0x0 -006f30 f03c +006f46 ec1e CALL 0x783c,0x0 handle = pBDTEntryOut[ep]; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +006f48 f03c +006f4a ec4a CALL 0x7894,0x0 +006f4c f03c } C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c //Error checking code. Make sure the handle (pBDTEntryIn[ep] or C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c //pBDTEntryOut[ep]) is initialized before using it. C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -006f32 cfd9 MOVFF 0xfd9,0xfe9 if(handle == 0) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -006f34 ffe9 -006f36 cfda MOVFF 0xfda,0xfea -006f38 ffea -006f3a 50ee MOVF 0xee,0x0,0x0 -006f3c 10ed IORWF 0xed,0x0,0x0 -006f3e e103 BNZ 0x6f46 +006f4e cfd9 MOVFF 0xfd9,0xfe9 if(handle == 0) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +006f50 ffe9 +006f52 cfda MOVFF 0xfda,0xfea +006f54 ffea +006f56 50ee MOVF 0xee,0x0,0x0 +006f58 10ed IORWF 0xed,0x0,0x0 +006f5a e103 BNZ 0x6f62 { C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -006f40 6af3 CLRF 0xf3,0x0 return 0; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -006f42 6af4 CLRF 0xf4,0x0 -006f44 d028 BRA 0x6f96 +006f5c 6af3 CLRF 0xf3,0x0 return 0; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +006f5e 6af4 CLRF 0xf4,0x0 +006f60 d028 BRA 0x6fb2 } C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c //Toggle the DTS bit if required C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c @@ -1711,62 +1711,62 @@ Address Value Disassembly Source #endif C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c //Set the data pointer, data length, and enable the endpoint C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -006f46 ece2 CALL 0x77c4,0x0 handle->ADR = ConvertToPhysicalAddress(data); C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -006f48 f03b -006f4a ecec CALL 0x79d8,0x0 -006f4c f03c -006f4e 0efb MOVLW 0xfb -006f50 cfdb MOVFF 0xfdb,0xfee -006f52 ffee -006f54 0efc MOVLW 0xfc -006f56 cfdb MOVFF 0xfdb,0xfed -006f58 ffed -006f5a ece2 CALL 0x77c4,0x0 handle->CNT = len; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -006f5c f03b -006f5e 52ee MOVF 0xee,0x1,0x0 -006f60 0efa MOVLW 0xfa -006f62 cfdb MOVFF 0xfdb,0xfef -006f64 ffef -006f66 0e40 MOVLW 0x40 handle->STAT.Val &= _DTSMASK; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -006f68 ece2 CALL 0x79c4,0x0 -006f6a f03c -006f6c 0e88 MOVLW 0x88 handle->STAT.Val |= _USIE | (_DTSEN & _DTS_CHECKING_ENABLED); C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -006f6e ecf1 CALL 0x79e2,0x0 -006f70 f03c +006f62 ecf0 CALL 0x77e0,0x0 handle->ADR = ConvertToPhysicalAddress(data); C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +006f64 f03b +006f66 ecfa CALL 0x79f4,0x0 +006f68 f03c +006f6a 0efb MOVLW 0xfb +006f6c cfdb MOVFF 0xfdb,0xfee +006f6e ffee +006f70 0efc MOVLW 0xfc +006f72 cfdb MOVFF 0xfdb,0xfed +006f74 ffed +006f76 ecf0 CALL 0x77e0,0x0 handle->CNT = len; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +006f78 f03b +006f7a 52ee MOVF 0xee,0x1,0x0 +006f7c 0efa MOVLW 0xfa +006f7e cfdb MOVFF 0xfdb,0xfef +006f80 ffef +006f82 0e40 MOVLW 0x40 handle->STAT.Val &= _DTSMASK; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +006f84 ecf0 CALL 0x79e0,0x0 +006f86 f03c +006f88 0e88 MOVLW 0x88 handle->STAT.Val |= _USIE | (_DTSEN & _DTS_CHECKING_ENABLED); C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +006f8a ecff CALL 0x79fe,0x0 +006f8c f03c C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c //Point to the next buffer for ping pong purposes. C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -006f72 0efd MOVLW 0xfd if(dir != OUT_FROM_HOST) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -006f74 50db MOVF 0xdb,0x0,0x0 -006f76 e003 BZ 0x6f7e +006f8e 0efd MOVLW 0xfd if(dir != OUT_FROM_HOST) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +006f90 50db MOVF 0xdb,0x0,0x0 +006f92 e003 BZ 0x6f9a { C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c //toggle over the to the next buffer for an IN endpoint C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -006f78 ecd9 CALL 0x77b2,0x0 USBAdvancePingPongBuffer(&pBDTEntryIn[ep]); C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -006f7a f03b +006f94 ece7 CALL 0x77ce,0x0 USBAdvancePingPongBuffer(&pBDTEntryIn[ep]); C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +006f96 f03b } C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -006f7c d002 BRA 0x6f82 else C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +006f98 d002 BRA 0x6f9e else C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c { C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c //toggle over the to the next buffer for an OUT endpoint C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -006f7e ec10 CALL 0x7820,0x0 USBAdvancePingPongBuffer(&pBDTEntryOut[ep]); C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -006f80 f03c -006f82 22ea ADDWFC 0xea,0x1,0x0 -006f84 74ef BTG 0xef,0x2,0x0 +006f9a ec1e CALL 0x783c,0x0 USBAdvancePingPongBuffer(&pBDTEntryOut[ep]); C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +006f9c f03c +006f9e 22ea ADDWFC 0xea,0x1,0x0 +006fa0 74ef BTG 0xef,0x2,0x0 } C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -006f86 cfde MOVFF 0xfde,0x33 return (USB_HANDLE)handle; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -006f88 f033 -006f8a cfdd MOVFF 0xfdd,0x34 -006f8c f034 -006f8e c033 MOVFF 0x33,0xff3 -006f90 fff3 -006f92 c034 MOVFF 0x34,0xff4 -006f94 fff4 -006f96 0e02 MOVLW 0x2 } C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -006f98 5ce1 SUBWF 0xe1,0x0,0x0 -006f9a e202 BC 0x6fa0 -006f9c 6ae1 CLRF 0xe1,0x0 -006f9e 52e5 MOVF 0xe5,0x1,0x0 -006fa0 6ee1 MOVWF 0xe1,0x0 -006fa2 eff1 GOTO 0x77e2 -006fa4 f03b +006fa2 cfde MOVFF 0xfde,0x47 return (USB_HANDLE)handle; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +006fa4 f047 +006fa6 cfdd MOVFF 0xfdd,0x48 +006fa8 f048 +006faa c047 MOVFF 0x47,0xff3 +006fac fff3 +006fae c048 MOVFF 0x48,0xff4 +006fb0 fff4 +006fb2 0e02 MOVLW 0x2 } C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +006fb4 5ce1 SUBWF 0xe1,0x0,0x0 +006fb6 e202 BC 0x6fbc +006fb8 6ae1 CLRF 0xe1,0x0 +006fba 52e5 MOVF 0xe5,0x1,0x0 +006fbc 6ee1 MOVWF 0xe1,0x0 +006fbe efff GOTO 0x77fe +006fc0 f03b C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c /******************************************************************** C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c @@ -1792,79 +1792,79 @@ Address Value Disassembly Source None C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c *******************************************************************/ C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -006fa6 ec91 CALL 0x7922,0x0 void USBStallEndpoint(BYTE ep, BYTE dir) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -006fa8 f03c +006fc2 ec9f CALL 0x793e,0x0 void USBStallEndpoint(BYTE ep, BYTE dir) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +006fc4 f03c { C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c BDT_ENTRY *p; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -006faa 0efe MOVLW 0xfe if(ep == 0u) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -006fac 50db MOVF 0xdb,0x0,0x0 -006fae e103 BNZ 0x6fb6 +006fc6 0efe MOVLW 0xfe if(ep == 0u) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +006fc8 50db MOVF 0xdb,0x0,0x0 +006fca e103 BNZ 0x6fd2 { C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c //For control endpoints (ex: EP0), we need to STALL both IN and OUT C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c //endpoints. EP0 OUT must also be prepared to receive the next SETUP C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c //packet that will arrrive. C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -006fb0 eca8 CALL 0x7950,0x0 pBDTEntryEP0OutNext->CNT = USB_EP0_BUFF_SIZE; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -006fb2 f03c -007950 df2c RCALL 0x77aa +006fcc ecb6 CALL 0x796c,0x0 pBDTEntryEP0OutNext->CNT = USB_EP0_BUFF_SIZE; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +006fce f03c +00796c df2c RCALL 0x77c6 pBDTEntryEP0OutNext->ADR = ConvertToPhysicalAddress(&SetupPkt); C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -007952 0e8c MOVLW 0x8c pBDTEntryEP0OutNext->STAT.Val = _USIE|_DAT0|(_DTSEN & _DTS_CHECKING_ENABLED)|_BSTALL; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -007954 6eef MOVWF 0xef,0x0 -007956 df3b RCALL 0x77ce pBDTEntryIn[0]->STAT.Val = _USIE|_BSTALL; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -007958 0e84 MOVLW 0x84 -00795a 6eef MOVWF 0xef,0x0 -00795c 0012 RETURN 0x0 +00796e 0e8c MOVLW 0x8c pBDTEntryEP0OutNext->STAT.Val = _USIE|_DAT0|(_DTSEN & _DTS_CHECKING_ENABLED)|_BSTALL; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +007970 6eef MOVWF 0xef,0x0 +007972 df3b RCALL 0x77ea pBDTEntryIn[0]->STAT.Val = _USIE|_BSTALL; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +007974 0e84 MOVLW 0x84 +007976 6eef MOVWF 0xef,0x0 +007978 0012 RETURN 0x0 C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c } C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -006fb4 d009 BRA 0x6fc8 else C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +006fd0 d009 BRA 0x6fe4 else C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c { C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -006fb6 ec15 CALL 0x782a,0x0 p = (BDT_ENTRY*)(&BDT[EP(ep,dir,0)]); C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -006fb8 f03c -006fba ec7f CALL 0x78fe,0x0 -006fbc f03c -0078fe 0d04 MULLW 0x4 -007900 cff3 MOVFF 0xff3,0x33 -007902 f033 -007904 cff4 MOVFF 0xff4,0x34 -007906 f034 -007908 0e00 MOVLW 0x0 -00790a 2633 ADDWF 0x33,0x1,0x0 -00790c 0e04 MOVLW 0x4 -00790e dfc8 RCALL 0x78a0 -007910 0e84 MOVLW 0x84 p->STAT.Val |= _BSTALL | _USIE; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -007912 eff1 GOTO 0x79e2 -007914 f03c -0079e2 def0 RCALL 0x77c4 -0079e4 50e8 MOVF 0xe8,0x0,0x0 -0079e6 12ef IORWF 0xef,0x1,0x0 -0079e8 0012 RETURN 0x0 +006fd2 ec23 CALL 0x7846,0x0 p = (BDT_ENTRY*)(&BDT[EP(ep,dir,0)]); C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +006fd4 f03c +006fd6 ec8d CALL 0x791a,0x0 +006fd8 f03c +00791a 0d04 MULLW 0x4 +00791c cff3 MOVFF 0xff3,0x47 +00791e f047 +007920 cff4 MOVFF 0xff4,0x48 +007922 f048 +007924 0e00 MOVLW 0x0 +007926 2647 ADDWF 0x47,0x1,0x0 +007928 0e04 MOVLW 0x4 +00792a dfc8 RCALL 0x78bc +00792c 0e84 MOVLW 0x84 p->STAT.Val |= _BSTALL | _USIE; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +00792e efff GOTO 0x79fe +007930 f03c +0079fe def0 RCALL 0x77e0 +007a00 50e8 MOVF 0xe8,0x0,0x0 +007a02 12ef IORWF 0xef,0x1,0x0 +007a04 0012 RETURN 0x0 C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c //If the device is in FULL or ALL_BUT_EP0 ping pong modes C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c //then stall that entry as well C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c #if (USB_PING_PONG_MODE == USB_PING_PONG__FULL_PING_PONG) || (USB_PING_PONG_MODE == USB_PING_PONG__ALL_BUT_EP0) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -006fbe ec15 CALL 0x782a,0x0 p = (BDT_ENTRY*)(&BDT[EP(ep,dir,1)]); C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -006fc0 f03c -006fc2 0f01 ADDLW 0x1 -006fc4 ec7f CALL 0x78fe,0x0 -006fc6 f03c -0078a0 2234 ADDWFC 0x34,0x1,0x0 -0078a2 c033 MOVFF 0x33,0xfde -0078a4 ffde -0078a6 c034 MOVFF 0x34,0xfdd -0078a8 ffdd -0078aa 0012 RETURN 0x0 +006fda ec23 CALL 0x7846,0x0 p = (BDT_ENTRY*)(&BDT[EP(ep,dir,1)]); C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +006fdc f03c +006fde 0f01 ADDLW 0x1 +006fe0 ec8d CALL 0x791a,0x0 +006fe2 f03c +0078bc 2248 ADDWFC 0x48,0x1,0x0 +0078be c047 MOVFF 0x47,0xfde +0078c0 ffde +0078c2 c048 MOVFF 0x48,0xfdd +0078c4 ffdd +0078c6 0012 RETURN 0x0 p->STAT.Val |= _BSTALL | _USIE; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c #endif C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c } C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -006fc8 0e02 MOVLW 0x2 } C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -006fca 5ce1 SUBWF 0xe1,0x0,0x0 -006fcc e202 BC 0x6fd2 -006fce 6ae1 CLRF 0xe1,0x0 -006fd0 52e5 MOVF 0xe5,0x1,0x0 -006fd2 6ee1 MOVWF 0xe1,0x0 -006fd4 eff1 GOTO 0x77e2 -006fd6 f03b +006fe4 0e02 MOVLW 0x2 } C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +006fe6 5ce1 SUBWF 0xe1,0x0,0x0 +006fe8 e202 BC 0x6fee +006fea 6ae1 CLRF 0xe1,0x0 +006fec 52e5 MOVF 0xe5,0x1,0x0 +006fee 6ee1 MOVWF 0xe1,0x0 +006ff0 efff GOTO 0x77fe +006ff2 f03b C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c /************************************************************************** C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c Function: C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c @@ -1889,49 +1889,49 @@ Address Value Disassembly Source None C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c **************************************************************************/ C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -006fd8 ecec CALL 0x77d8,0x0 void USBCancelIO(BYTE endpoint) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -006fda f03b +006ff4 ecfa CALL 0x77f4,0x0 void USBCancelIO(BYTE endpoint) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +006ff6 f03b { C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -006fdc a865 BTFSS 0x65,0x4,0x0 if(USBPacketDisable == 1u) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -006fde d016 BRA 0x700c +006ff8 a865 BTFSS 0x65,0x4,0x0 if(USBPacketDisable == 1u) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +006ffa d016 BRA 0x7028 { C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c //The PKTDIS bit is currently set right now. It is therefore "safe" C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c //to mess with the BDT right now. C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -006fe0 ecb9 CALL 0x7972,0x0 pBDTEntryIn[endpoint]->Val &= _DTSMASK; //Makes UOWN = 0 (_UCPU mode). Deactivates endpoint. Only sends NAKs. C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -006fe2 f03c -006fe4 0e40 MOVLW 0x40 -006fe6 16ee ANDWF 0xee,0x1,0x0 -006fe8 6aee CLRF 0xee,0x0 -006fea 6aee CLRF 0xee,0x0 -006fec 6aee CLRF 0xee,0x0 -006fee ecb9 CALL 0x7972,0x0 pBDTEntryIn[endpoint]->Val ^= _DTSMASK; //Toggle the DTS bit. This packet didn't get sent yet, and the next call to USBTransferOnePacket() will re-toggle the DTS bit back to the original (correct) value. C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -006ff0 f03c -006ff2 7cee BTG 0xee,0x6,0x0 +006ffc ecc7 CALL 0x798e,0x0 pBDTEntryIn[endpoint]->Val &= _DTSMASK; //Makes UOWN = 0 (_UCPU mode). Deactivates endpoint. Only sends NAKs. C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +006ffe f03c +007000 0e40 MOVLW 0x40 +007002 16ee ANDWF 0xee,0x1,0x0 +007004 6aee CLRF 0xee,0x0 +007006 6aee CLRF 0xee,0x0 +007008 6aee CLRF 0xee,0x0 +00700a ecc7 CALL 0x798e,0x0 pBDTEntryIn[endpoint]->Val ^= _DTSMASK; //Toggle the DTS bit. This packet didn't get sent yet, and the next call to USBTransferOnePacket() will re-toggle the DTS bit back to the original (correct) value. C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +00700c f03c +00700e 7cee BTG 0xee,0x6,0x0 C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c //Need to do additional handling if ping-pong buffering is being used C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c #if ((USB_PING_PONG_MODE == USB_PING_PONG__FULL_PING_PONG) || (USB_PING_PONG_MODE == USB_PING_PONG__ALL_BUT_EP0)) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c //Point to the next buffer for ping pong purposes. UOWN getting cleared C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c //(either due to SIE clearing it after a transaction, or the firmware C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c //clearing it) makes hardware ping pong pointer advance. C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -006ff4 dbde RCALL 0x77b2 USBAdvancePingPongBuffer(&pBDTEntryIn[endpoint]); C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -006ff6 22ea ADDWFC 0xea,0x1,0x0 -006ff8 74ef BTG 0xef,0x2,0x0 +007010 dbde RCALL 0x77ce USBAdvancePingPongBuffer(&pBDTEntryIn[endpoint]); C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +007012 22ea ADDWFC 0xea,0x1,0x0 +007014 74ef BTG 0xef,0x2,0x0 C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -006ffa 0e40 MOVLW 0x40 pBDTEntryIn[endpoint]->STAT.Val &= _DTSMASK; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -006ffc 6e33 MOVWF 0x33,0x0 -006ffe ecb9 CALL 0x7972,0x0 -007000 f03c -007002 5033 MOVF 0x33,0x0,0x0 -007004 16ef ANDWF 0xef,0x1,0x0 -007006 ecb9 CALL 0x7972,0x0 pBDTEntryIn[endpoint]->STAT.Val ^= _DTSMASK; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -007008 f03c -00700a 7cef BTG 0xef,0x6,0x0 -007972 df1f RCALL 0x77b2 -007974 ef29 GOTO 0x7852 -007976 f03c +007016 0e40 MOVLW 0x40 pBDTEntryIn[endpoint]->STAT.Val &= _DTSMASK; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +007018 6e47 MOVWF 0x47,0x0 +00701a ecc7 CALL 0x798e,0x0 +00701c f03c +00701e 5047 MOVF 0x47,0x0,0x0 +007020 16ef ANDWF 0xef,0x1,0x0 +007022 ecc7 CALL 0x798e,0x0 pBDTEntryIn[endpoint]->STAT.Val ^= _DTSMASK; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +007024 f03c +007026 7cef BTG 0xef,0x6,0x0 +00798e df1f RCALL 0x77ce +007990 ef37 GOTO 0x786e +007992 f03c #endif C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c } C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -00700c d3ea BRA 0x77e2 } C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +007028 d3ea BRA 0x77fe } C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c /************************************************************************** C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c Function: C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c @@ -2205,63 +2205,63 @@ Address Value Disassembly Source //USBCtrlEPAllowStatusStage() can be called twice simultaneously (ex: once C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c //in main loop context, while simultaneously getting an interrupt which C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c //tries to call USBCtrlEPAllowStatusStage() again, at the same time). C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -00700e 0101 MOVLB 0x1 if(USBStatusStageEnabledFlag1 == FALSE) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -007010 51f3 MOVF 0xf3,0x0,0x1 -007012 e122 BNZ 0x7058 +00702a 0105 MOVLB 0x5 if(USBStatusStageEnabledFlag1 == FALSE) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +00702c 51d8 MOVF 0xd8,0x0,0x1 +00702e e122 BNZ 0x7074 { C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -007014 0e01 MOVLW 0x1 USBStatusStageEnabledFlag1 = TRUE; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -007016 6ff3 MOVWF 0xf3,0x1 -007018 51f4 MOVF 0xf4,0x0,0x1 if(USBStatusStageEnabledFlag2 == FALSE) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -00701a e11e BNZ 0x7058 +007030 0e01 MOVLW 0x1 USBStatusStageEnabledFlag1 = TRUE; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +007032 6fd8 MOVWF 0xd8,0x1 +007034 51d9 MOVF 0xd9,0x0,0x1 if(USBStatusStageEnabledFlag2 == FALSE) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +007036 e11e BNZ 0x7074 { C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -00701c 0e01 MOVLW 0x1 USBStatusStageEnabledFlag2 = TRUE; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -00701e 6ff4 MOVWF 0xf4,0x1 +007038 0e01 MOVLW 0x1 USBStatusStageEnabledFlag2 = TRUE; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +00703a 6fd9 MOVWF 0xd9,0x1 C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c //Determine which endpoints (EP0 IN or OUT needs arming for the status C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c //stage), based on the type of control transfer currently pending. C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -007020 0e02 MOVLW 0x2 if(controlTransferState == CTRL_TRF_RX) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -007022 5dd7 SUBWF 0xd7,0x0,0x1 -007024 e107 BNZ 0x7034 +00703c 0e02 MOVLW 0x2 if(controlTransferState == CTRL_TRF_RX) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +00703e 5dbc SUBWF 0xbc,0x0,0x1 +007040 e107 BNZ 0x7050 { C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -007026 dbd3 RCALL 0x77ce pBDTEntryIn[0]->CNT = 0; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -007028 52ee MOVF 0xee,0x1,0x0 -00702a 6aef CLRF 0xef,0x0 -00702c dbd0 RCALL 0x77ce pBDTEntryIn[0]->STAT.Val = _USIE|_DAT1|(_DTSEN & _DTS_CHECKING_ENABLED); C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -00702e 0ec8 MOVLW 0xc8 -007030 6eef MOVWF 0xef,0x0 +007042 dbd3 RCALL 0x77ea pBDTEntryIn[0]->CNT = 0; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +007044 52ee MOVF 0xee,0x1,0x0 +007046 6aef CLRF 0xef,0x0 +007048 dbd0 RCALL 0x77ea pBDTEntryIn[0]->STAT.Val = _USIE|_DAT1|(_DTSEN & _DTS_CHECKING_ENABLED); C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +00704a 0ec8 MOVLW 0xc8 +00704c 6eef MOVWF 0xef,0x0 } C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -007032 0012 RETURN 0x0 else if(controlTransferState == CTRL_TRF_TX) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -007034 05d7 DECF 0xd7,0x0,0x1 -007036 e110 BNZ 0x7058 +00704e 0012 RETURN 0x0 else if(controlTransferState == CTRL_TRF_TX) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +007050 05bc DECF 0xbc,0x0,0x1 +007052 e110 BNZ 0x7074 { C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -007038 6bea CLRF 0xea,0x1 BothEP0OutUOWNsSet = FALSE; //Indicator flag used in USBCtrlTrfOutHandler() C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +007054 6bcf CLRF 0xcf,0x1 BothEP0OutUOWNsSet = FALSE; //Indicator flag used in USBCtrlTrfOutHandler() C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c //This buffer (when ping pong buffering is enabled on EP0 OUT) receives the C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c //next SETUP packet. C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c #if((USB_PING_PONG_MODE == USB_PING_PONG__EP0_OUT_ONLY) || (USB_PING_PONG_MODE == USB_PING_PONG__FULL_PING_PONG)) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -00703a dbdf RCALL 0x77fa pBDTEntryEP0OutCurrent->CNT = USB_EP0_BUFF_SIZE; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -00703c 52ee MOVF 0xee,0x1,0x0 -00703e 0e40 MOVLW 0x40 -007040 6eef MOVWF 0xef,0x0 -007042 dbdb RCALL 0x77fa pBDTEntryEP0OutCurrent->ADR = ConvertToPhysicalAddress(&SetupPkt); C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -007044 ec8b CALL 0x7916,0x0 -007046 f03c -007048 dbd8 RCALL 0x77fa pBDTEntryEP0OutCurrent->STAT.Val = _USIE|_BSTALL; //Prepare endpoint to accept a SETUP transaction C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -00704a 0e84 MOVLW 0x84 -00704c 6eef MOVWF 0xef,0x0 -00704e 0e01 MOVLW 0x1 BothEP0OutUOWNsSet = TRUE; //Indicator flag used in USBCtrlTrfOutHandler() C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -007050 6fea MOVWF 0xea,0x1 +007056 dbdf RCALL 0x7816 pBDTEntryEP0OutCurrent->CNT = USB_EP0_BUFF_SIZE; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +007058 52ee MOVF 0xee,0x1,0x0 +00705a 0e40 MOVLW 0x40 +00705c 6eef MOVWF 0xef,0x0 +00705e dbdb RCALL 0x7816 pBDTEntryEP0OutCurrent->ADR = ConvertToPhysicalAddress(&SetupPkt); C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +007060 ec99 CALL 0x7932,0x0 +007062 f03c +007064 dbd8 RCALL 0x7816 pBDTEntryEP0OutCurrent->STAT.Val = _USIE|_BSTALL; //Prepare endpoint to accept a SETUP transaction C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +007066 0e84 MOVLW 0x84 +007068 6eef MOVWF 0xef,0x0 +00706a 0e01 MOVLW 0x1 BothEP0OutUOWNsSet = TRUE; //Indicator flag used in USBCtrlTrfOutHandler() C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +00706c 6fcf MOVWF 0xcf,0x1 #endif C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c //This EP0 OUT buffer receives the 0-byte OUT status stage packet. C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -007052 dbab RCALL 0x77aa pBDTEntryEP0OutNext->CNT = USB_EP0_BUFF_SIZE; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +00706e dbab RCALL 0x77c6 pBDTEntryEP0OutNext->CNT = USB_EP0_BUFF_SIZE; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c pBDTEntryEP0OutNext->ADR = ConvertToPhysicalAddress(&SetupPkt); C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -007054 0e80 MOVLW 0x80 pBDTEntryEP0OutNext->STAT.Val = _USIE; // Note: DTSEN is 0 C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -007056 6eef MOVWF 0xef,0x0 +007070 0e80 MOVLW 0x80 pBDTEntryEP0OutNext->STAT.Val = _USIE; // Note: DTSEN is 0 C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +007072 6eef MOVWF 0xef,0x0 } C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c } C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c } C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -007058 0012 RETURN 0x0 } C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +007074 0012 RETURN 0x0 } C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c /******************************************************************************* C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c @@ -2292,51 +2292,51 @@ Address Value Disassembly Source *****************************************************************************/ C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c void USBCtrlEPAllowDataStage(void) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c { C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -00705a 0101 MOVLB 0x1 USBDeferINDataStagePackets = FALSE; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -00705c 6bf5 CLRF 0xf5,0x1 -00705e 6bf6 CLRF 0xf6,0x1 USBDeferOUTDataStagePackets = FALSE; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +007076 0105 MOVLB 0x5 USBDeferINDataStagePackets = FALSE; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +007078 6bda CLRF 0xda,0x1 +00707a 6bdb CLRF 0xdb,0x1 USBDeferOUTDataStagePackets = FALSE; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -007060 0e02 MOVLW 0x2 if(controlTransferState == CTRL_TRF_RX) //(...) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -007062 5dd7 SUBWF 0xd7,0x0,0x1 -007064 e106 BNZ 0x7072 +00707c 0e02 MOVLW 0x2 if(controlTransferState == CTRL_TRF_RX) //(...) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +00707e 5dbc SUBWF 0xbc,0x0,0x1 +007080 e106 BNZ 0x708e { C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c //Prepare EP0 OUT to receive the first OUT data packet in the data stage sequence. C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -007066 ece6 CALL 0x79cc,0x0 pBDTEntryEP0OutNext->CNT = USB_EP0_BUFF_SIZE; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -007068 f03c -00706a dbcc RCALL 0x7804 pBDTEntryEP0OutNext->ADR = ConvertToPhysicalAddress(&CtrlTrfData); C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -00706c ec7a CALL 0x78f4,0x0 pBDTEntryEP0OutNext->STAT.Val = _USIE|_DAT1|(_DTSEN & _DTS_CHECKING_ENABLED); C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -00706e f03c +007082 ecf4 CALL 0x79e8,0x0 pBDTEntryEP0OutNext->CNT = USB_EP0_BUFF_SIZE; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +007084 f03c +007086 dbcc RCALL 0x7820 pBDTEntryEP0OutNext->ADR = ConvertToPhysicalAddress(&CtrlTrfData); C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +007088 ec88 CALL 0x7910,0x0 pBDTEntryEP0OutNext->STAT.Val = _USIE|_DAT1|(_DTSEN & _DTS_CHECKING_ENABLED); C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +00708a f03c } C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -007070 d010 BRA 0x7092 else //else must be controlTransferState == CTRL_TRF_TX (...) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +00708c d010 BRA 0x70ae else //else must be controlTransferState == CTRL_TRF_TX (...) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c { C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c //Error check the data stage byte count. Make sure the user specified C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c //value was no greater than the number of bytes the host requested. C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -007072 51db MOVF 0xdb,0x0,0x1 if(SetupPkt.wLength < inPipes[0].wCount.Val) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -007074 0104 MOVLB 0x4 -007076 5d36 SUBWF 0x36,0x0,0x1 -007078 0101 MOVLB 0x1 -00707a 51dc MOVF 0xdc,0x0,0x1 -00707c 0104 MOVLB 0x4 -00707e 5937 SUBWFB 0x37,0x0,0x1 -007080 e204 BC 0x708a +00708e 51c0 MOVF 0xc0,0x0,0x1 if(SetupPkt.wLength < inPipes[0].wCount.Val) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +007090 0104 MOVLB 0x4 +007092 5d36 SUBWF 0x36,0x0,0x1 +007094 0105 MOVLB 0x5 +007096 51c1 MOVF 0xc1,0x0,0x1 +007098 0104 MOVLB 0x4 +00709a 5937 SUBWFB 0x37,0x0,0x1 +00709c e204 BC 0x70a6 { C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -007082 c436 MOVFF 0x436,0x1db inPipes[0].wCount.Val = SetupPkt.wLength; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -007084 f1db -007086 c437 MOVFF 0x437,0x1dc -007088 f1dc +00709e c436 MOVFF 0x436,0x5c0 inPipes[0].wCount.Val = SetupPkt.wLength; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +0070a0 f5c0 +0070a2 c437 MOVFF 0x437,0x5c1 +0070a4 f5c1 } C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -00708a d861 RCALL 0x714e USBCtrlTrfTxService(); //Copies one IN data packet worth of data from application buffer C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +0070a6 d861 RCALL 0x716a USBCtrlTrfTxService(); //Copies one IN data packet worth of data from application buffer C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c //to CtrlTrfData buffer. Also keeps track of how many bytes remaining. C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c //Cnt should have been initialized by responsible request owner (ex: by C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c //using the USBEP0SendRAMPtr() or USBEP0SendROMPtr() API function). C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -00708c dba0 RCALL 0x77ce pBDTEntryIn[0]->ADR = ConvertToPhysicalAddress(&CtrlTrfData); C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -00708e dbba RCALL 0x7804 -007090 db9e RCALL 0x77ce pBDTEntryIn[0]->STAT.Val = _USIE|_DAT1|(_DTSEN & _DTS_CHECKING_ENABLED); C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -007092 0ec8 MOVLW 0xc8 -007094 6eef MOVWF 0xef,0x0 +0070a8 dba0 RCALL 0x77ea pBDTEntryIn[0]->ADR = ConvertToPhysicalAddress(&CtrlTrfData); C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +0070aa dbba RCALL 0x7820 +0070ac db9e RCALL 0x77ea pBDTEntryIn[0]->STAT.Val = _USIE|_DAT1|(_DTSEN & _DTS_CHECKING_ENABLED); C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +0070ae 0ec8 MOVLW 0xc8 +0070b0 6eef MOVWF 0xef,0x0 } C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -007096 0012 RETURN 0x0 } C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +0070b2 0012 RETURN 0x0 } C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c /******************************************************************************/ C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c @@ -2361,81 +2361,81 @@ Address Value Disassembly Source * C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c * Note: None C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c *******************************************************************/ C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -007098 ec91 CALL 0x7922,0x0 static void USBConfigureEndpoint(BYTE EPNum, BYTE direction) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -00709a f03c +0070b4 ec9f CALL 0x793e,0x0 static void USBConfigureEndpoint(BYTE EPNum, BYTE direction) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +0070b6 f03c { C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c volatile BDT_ENTRY* handle; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c //Compute a pointer to the even BDT entry corresponding to the C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c //EPNum and direction values passed to this function. C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -00709c 0e00 MOVLW 0x0 handle = (volatile BDT_ENTRY*)&BDT[EP0_OUT_EVEN]; //Get address of start of BDT C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -00709e 6ede MOVWF 0xde,0x0 -0070a0 0e04 MOVLW 0x4 -0070a2 6edd MOVWF 0xdd,0x0 -0070a4 dbc2 RCALL 0x782a handle += EP(EPNum,direction,0u); //Add in offset to the BDT of interest C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -0070a6 0d04 MULLW 0x4 -0070a8 cff4 MOVFF 0xff4,0x34 -0070aa f034 -0070ac cfd9 MOVFF 0xfd9,0xfe9 -0070ae ffe9 -0070b0 cfda MOVFF 0xfda,0xfea -0070b2 ffea -0070b4 50f3 MOVF 0xf3,0x0,0x0 -0070b6 26ee ADDWF 0xee,0x1,0x0 -0070b8 5034 MOVF 0x34,0x0,0x0 -0070ba 22ed ADDWFC 0xed,0x1,0x0 -00782a 0efd MOVLW 0xfd -00782c 50db MOVF 0xdb,0x0,0x0 -00782e 24e8 ADDWF 0xe8,0x0,0x0 -007830 6e35 MOVWF 0x35,0x0 -007832 0efe MOVLW 0xfe -007834 50db MOVF 0xdb,0x0,0x0 -007836 0d04 MULLW 0x4 -007838 50f3 MOVF 0xf3,0x0,0x0 -00783a 2435 ADDWF 0x35,0x0,0x0 -00783c 0012 RETURN 0x0 +0070b8 0e00 MOVLW 0x0 handle = (volatile BDT_ENTRY*)&BDT[EP0_OUT_EVEN]; //Get address of start of BDT C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +0070ba 6ede MOVWF 0xde,0x0 +0070bc 0e04 MOVLW 0x4 +0070be 6edd MOVWF 0xdd,0x0 +0070c0 dbc2 RCALL 0x7846 handle += EP(EPNum,direction,0u); //Add in offset to the BDT of interest C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +0070c2 0d04 MULLW 0x4 +0070c4 cff4 MOVFF 0xff4,0x48 +0070c6 f048 +0070c8 cfd9 MOVFF 0xfd9,0xfe9 +0070ca ffe9 +0070cc cfda MOVFF 0xfda,0xfea +0070ce ffea +0070d0 50f3 MOVF 0xf3,0x0,0x0 +0070d2 26ee ADDWF 0xee,0x1,0x0 +0070d4 5048 MOVF 0x48,0x0,0x0 +0070d6 22ed ADDWFC 0xed,0x1,0x0 +007846 0efd MOVLW 0xfd +007848 50db MOVF 0xdb,0x0,0x0 +00784a 24e8 ADDWF 0xe8,0x0,0x0 +00784c 6e49 MOVWF 0x49,0x0 +00784e 0efe MOVLW 0xfe +007850 50db MOVF 0xdb,0x0,0x0 +007852 0d04 MULLW 0x4 +007854 50f3 MOVF 0xf3,0x0,0x0 +007856 2449 ADDWF 0x49,0x0,0x0 +007858 0012 RETURN 0x0 C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -0070bc db83 RCALL 0x77c4 handle->STAT.UOWN = 0; //mostly redundant, since USBStdSetCfgHandler() C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -0070be 9eef BCF 0xef,0x7,0x0 +0070d8 db83 RCALL 0x77e0 handle->STAT.UOWN = 0; //mostly redundant, since USBStdSetCfgHandler() C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +0070da 9eef BCF 0xef,0x7,0x0 //already cleared the entire BDT table C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c //Make sure our pBDTEntryIn/Out[] pointer is initialized. Needed later C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c //for USBTransferOnePacket() API calls. C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -0070c0 0efd MOVLW 0xfd if(direction == OUT_FROM_HOST) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -0070c2 50db MOVF 0xdb,0x0,0x0 -0070c4 e102 BNZ 0x70ca +0070dc 0efd MOVLW 0xfd if(direction == OUT_FROM_HOST) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +0070de 50db MOVF 0xdb,0x0,0x0 +0070e0 e102 BNZ 0x70e6 { C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -0070c6 dbac RCALL 0x7820 pBDTEntryOut[EPNum] = handle; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -007820 0efe MOVLW 0xfe -007822 6aea CLRF 0xea,0x0 -007824 34db RLCF 0xdb,0x0,0x0 -007826 efca GOTO 0x7994 -007828 f03c +0070e2 dbac RCALL 0x783c pBDTEntryOut[EPNum] = handle; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +00783c 0efe MOVLW 0xfe +00783e 6aea CLRF 0xea,0x0 +007840 34db RLCF 0xdb,0x0,0x0 +007842 efd8 GOTO 0x79b0 +007844 f03c } C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -0070c8 d001 BRA 0x70cc else C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +0070e4 d001 BRA 0x70e8 else C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c { C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -0070ca db73 RCALL 0x77b2 pBDTEntryIn[EPNum] = handle; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -0070cc 22ea ADDWFC 0xea,0x1,0x0 -0070ce cfde MOVFF 0xfde,0xfee -0070d0 ffee -0070d2 cfdd MOVFF 0xfdd,0xfed -0070d4 ffed -0077b2 0efe MOVLW 0xfe -0077b4 6aea CLRF 0xea,0x0 -0077b6 34db RLCF 0xdb,0x0,0x0 -0077b8 efc3 GOTO 0x7986 -0077ba f03c +0070e6 db73 RCALL 0x77ce pBDTEntryIn[EPNum] = handle; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +0070e8 22ea ADDWFC 0xea,0x1,0x0 +0070ea cfde MOVFF 0xfde,0xfee +0070ec ffee +0070ee cfdd MOVFF 0xfdd,0xfed +0070f0 ffed +0077ce 0efe MOVLW 0xfe +0077d0 6aea CLRF 0xea,0x0 +0077d2 34db RLCF 0xdb,0x0,0x0 +0077d4 efd1 GOTO 0x79a2 +0077d6 f03c } C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c #if (USB_PING_PONG_MODE == USB_PING_PONG__FULL_PING_PONG) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -0070d6 db76 RCALL 0x77c4 handle->STAT.DTS = 0; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -0070d8 9cef BCF 0xef,0x6,0x0 -0070da db74 RCALL 0x77c4 (handle+1)->STAT.DTS = 1; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -0070dc 0e04 MOVLW 0x4 -0070de 26e9 ADDWF 0xe9,0x1,0x0 -0070e0 0e00 MOVLW 0x0 -0070e2 22ea ADDWFC 0xea,0x1,0x0 -0070e4 8cef BSF 0xef,0x6,0x0 +0070f2 db76 RCALL 0x77e0 handle->STAT.DTS = 0; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +0070f4 9cef BCF 0xef,0x6,0x0 +0070f6 db74 RCALL 0x77e0 (handle+1)->STAT.DTS = 1; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +0070f8 0e04 MOVLW 0x4 +0070fa 26e9 ADDWF 0xe9,0x1,0x0 +0070fc 0e00 MOVLW 0x0 +0070fe 22ea ADDWFC 0xea,0x1,0x0 +007100 8cef BSF 0xef,0x6,0x0 #elif (USB_PING_PONG_MODE == USB_PING_PONG__NO_PING_PONG) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c //Set DTS to one because the first thing we will do C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c //when transmitting is toggle the bit C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c @@ -2452,13 +2452,13 @@ Address Value Disassembly Source (handle+1)->STAT.DTS = 1; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c } C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c #endif C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -0070e6 0e02 MOVLW 0x2 } C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -0070e8 5ce1 SUBWF 0xe1,0x0,0x0 -0070ea e202 BC 0x70f0 -0070ec 6ae1 CLRF 0xe1,0x0 -0070ee 52e5 MOVF 0xe5,0x1,0x0 -0070f0 6ee1 MOVWF 0xe1,0x0 -0070f2 d377 BRA 0x77e2 +007102 0e02 MOVLW 0x2 } C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +007104 5ce1 SUBWF 0xe1,0x0,0x0 +007106 e202 BC 0x710c +007108 6ae1 CLRF 0xe1,0x0 +00710a 52e5 MOVF 0xe5,0x1,0x0 +00710c 6ee1 MOVWF 0xe1,0x0 +00710e d377 BRA 0x77fe C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c /****************************************************************************** C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c @@ -2495,21 +2495,21 @@ Address Value Disassembly Source * PKTDIS bit is set when a Setup Transaction is received. C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c * Clear to resume packet processing. C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c */ C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -0070f4 9865 BCF 0x65,0x4,0x0 USBPacketDisable = 0; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +007110 9865 BCF 0x65,0x4,0x0 USBPacketDisable = 0; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c //Check the busy bits and the SetupPtk.DataDir variables to determine what type of C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c //control transfer is currently in progress. We need to know the type of control C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c //transfer that is currently pending, in order to know how to properly arm the C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c //EP0 IN and EP0 OUT endpoints. C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -0070f6 0101 MOVLB 0x1 if(inPipes[0].info.bits.busy == 0u) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -0070f8 bfda BTFSC 0xda,0x7,0x1 -0070fa d00d BRA 0x7116 +007112 0105 MOVLB 0x5 if(inPipes[0].info.bits.busy == 0u) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +007114 bfbf BTFSC 0xbf,0x7,0x1 +007116 d00d BRA 0x7132 { C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -0070fc afdf BTFSS 0xdf,0x7,0x1 if(outPipes[0].info.bits.busy == 1u) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -0070fe d009 BRA 0x7112 +007118 afc4 BTFSS 0xc4,0x7,0x1 if(outPipes[0].info.bits.busy == 1u) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +00711a d009 BRA 0x712e { C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -007100 0e02 MOVLW 0x2 controlTransferState = CTRL_TRF_RX; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -007102 6fd7 MOVWF 0xd7,0x1 +00711c 0e02 MOVLW 0x2 controlTransferState = CTRL_TRF_RX; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +00711e 6fbc MOVWF 0xbc,0x1 /* C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c * Control Write: C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c * ... | C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c @@ -2520,26 +2520,26 @@ Address Value Disassembly Source // RAM buffer wasn't available yet) by calling USBDeferDataStage(). C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c // If it did so, it is then responsible for calling USBCtrlEPAllowDataStage(), C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c // once it is ready to begin receiving the data. C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -007104 51f6 MOVF 0xf6,0x0,0x1 if(USBDeferOUTDataStagePackets == FALSE) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -007106 e101 BNZ 0x710a +007120 51db MOVF 0xdb,0x0,0x1 if(USBDeferOUTDataStagePackets == FALSE) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +007122 e101 BNZ 0x7126 { C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -007108 dfa8 RCALL 0x705a USBCtrlEPAllowDataStage(); C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +007124 dfa8 RCALL 0x7076 USBCtrlEPAllowDataStage(); C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c } C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c //2. IN endpoint 0 status stage will be armed by USBCtrlEPAllowStatusStage() C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c //after all of the OUT data has been received and consumed, or if a timeout occurs. C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -00710a 0101 MOVLB 0x1 USBStatusStageEnabledFlag2 = FALSE; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -00710c 6bf4 CLRF 0xf4,0x1 -00710e 6bf3 CLRF 0xf3,0x1 USBStatusStageEnabledFlag1 = FALSE; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +007126 0105 MOVLB 0x5 USBStatusStageEnabledFlag2 = FALSE; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +007128 6bd9 CLRF 0xd9,0x1 +00712a 6bd8 CLRF 0xd8,0x1 USBStatusStageEnabledFlag1 = FALSE; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c } C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -007110 0012 RETURN 0x0 else C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +00712c 0012 RETURN 0x0 else C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c { C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c /* C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c * If no one knows how to service this request then stall. C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c * Must also prepare EP0 to receive the next SETUP transaction. C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c */ C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -007112 efa8 GOTO 0x7950 pBDTEntryEP0OutNext->CNT = USB_EP0_BUFF_SIZE; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -007114 f03c +00712e efb6 GOTO 0x796c pBDTEntryEP0OutNext->CNT = USB_EP0_BUFF_SIZE; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +007130 f03c pBDTEntryEP0OutNext->ADR = ConvertToPhysicalAddress(&SetupPkt); C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c pBDTEntryEP0OutNext->STAT.Val = _USIE|_DAT0|(_DTSEN & _DTS_CHECKING_ENABLED)|_BSTALL; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c pBDTEntryIn[0]->STAT.Val = _USIE|_BSTALL; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c @@ -2547,13 +2547,13 @@ Address Value Disassembly Source } C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c else // A module has claimed ownership of the control transfer session. C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c { C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -007116 0104 MOVLB 0x4 if(SetupPkt.DataDir == USB_SETUP_DEVICE_TO_HOST_BITFIELD) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -007118 af30 BTFSS 0x30,0x7,0x1 -00711a d00d BRA 0x7136 +007132 0104 MOVLB 0x4 if(SetupPkt.DataDir == USB_SETUP_DEVICE_TO_HOST_BITFIELD) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +007134 af30 BTFSS 0x30,0x7,0x1 +007136 d00d BRA 0x7152 { C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -00711c 0101 MOVLB 0x1 controlTransferState = CTRL_TRF_TX; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -00711e 0e01 MOVLW 0x1 -007120 6fd7 MOVWF 0xd7,0x1 +007138 0105 MOVLB 0x5 controlTransferState = CTRL_TRF_TX; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +00713a 0e01 MOVLW 0x1 +00713c 6fbc MOVWF 0xbc,0x1 /* C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c * Control Read: C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c * ... | C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c @@ -2567,10 +2567,10 @@ Address Value Disassembly Source * is ready to begin sending the data, it should then call the C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c * USBCtrlEPAllowDataStage() function to start the data stage. C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c */ C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -007122 51f5 MOVF 0xf5,0x0,0x1 if(USBDeferINDataStagePackets == FALSE) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -007124 e101 BNZ 0x7128 +00713e 51da MOVF 0xda,0x0,0x1 if(USBDeferINDataStagePackets == FALSE) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +007140 e101 BNZ 0x7144 { C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -007126 df99 RCALL 0x705a USBCtrlEPAllowDataStage(); C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +007142 df99 RCALL 0x7076 USBCtrlEPAllowDataStage(); C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c } C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c // 2. (Optionally) allow the status stage now, to prepare for early termination. C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c @@ -2593,14 +2593,14 @@ Address Value Disassembly Source // recommended for the USB class handler firmware to call USBDeferStatusStage(), for this C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c // type of control transfer. If the USB class handler firmware needs more time to fetch the IN C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c // data that needs to be sent to the host, it should instead use the USBDeferDataStage() function. C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -007128 0101 MOVLB 0x1 USBStatusStageEnabledFlag2 = FALSE; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -00712a 6bf4 CLRF 0xf4,0x1 -00712c 6bf3 CLRF 0xf3,0x1 USBStatusStageEnabledFlag1 = FALSE; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -00712e 51f2 MOVF 0xf2,0x0,0x1 if(USBDeferStatusStagePacket == FALSE) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -007130 e10d BNZ 0x714c +007144 0105 MOVLB 0x5 USBStatusStageEnabledFlag2 = FALSE; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +007146 6bd9 CLRF 0xd9,0x1 +007148 6bd8 CLRF 0xd8,0x1 USBStatusStageEnabledFlag1 = FALSE; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +00714a 51d7 MOVF 0xd7,0x0,0x1 if(USBDeferStatusStagePacket == FALSE) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +00714c e10d BNZ 0x7168 { C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -007132 ef07 GOTO 0x700e USBCtrlEPAllowStatusStage(); C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -007134 f038 +00714e ef15 GOTO 0x702a USBCtrlEPAllowStatusStage(); C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +007150 f038 } C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c } C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c else // (SetupPkt.DataDir == USB_SETUP_DIRECTION_HOST_TO_DEVICE) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c @@ -2615,29 +2615,29 @@ Address Value Disassembly Source //(hence: outPipes[0].info.bits.busy == 0). There is however still C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c //an IN status stage. C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -007136 0101 MOVLB 0x1 controlTransferState = CTRL_TRF_RX; //Since this is a HOST_TO_DEVICE control transfer C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -007138 0e02 MOVLW 0x2 -00713a 6fd7 MOVWF 0xd7,0x1 +007152 0105 MOVLB 0x5 controlTransferState = CTRL_TRF_RX; //Since this is a HOST_TO_DEVICE control transfer C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +007154 0e02 MOVLW 0x2 +007156 6fbc MOVWF 0xbc,0x1 C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c //1. Prepare OUT EP to receive the next SETUP packet. C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -00713c db36 RCALL 0x77aa pBDTEntryEP0OutNext->CNT = USB_EP0_BUFF_SIZE; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +007158 db36 RCALL 0x77c6 pBDTEntryEP0OutNext->CNT = USB_EP0_BUFF_SIZE; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c pBDTEntryEP0OutNext->ADR = ConvertToPhysicalAddress(&SetupPkt); C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -00713e 0e84 MOVLW 0x84 pBDTEntryEP0OutNext->STAT.Val = _USIE|_BSTALL; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -007140 6eef MOVWF 0xef,0x0 +00715a 0e84 MOVLW 0x84 pBDTEntryEP0OutNext->STAT.Val = _USIE|_BSTALL; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +00715c 6eef MOVWF 0xef,0x0 C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c //2. Prepare for IN status stage of the control transfer C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -007142 6bf4 CLRF 0xf4,0x1 USBStatusStageEnabledFlag2 = FALSE; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -007144 6bf3 CLRF 0xf3,0x1 USBStatusStageEnabledFlag1 = FALSE; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -007146 51f2 MOVF 0xf2,0x0,0x1 if(USBDeferStatusStagePacket == FALSE) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -007148 e101 BNZ 0x714c +00715e 6bd9 CLRF 0xd9,0x1 USBStatusStageEnabledFlag2 = FALSE; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +007160 6bd8 CLRF 0xd8,0x1 USBStatusStageEnabledFlag1 = FALSE; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +007162 51d7 MOVF 0xd7,0x0,0x1 if(USBDeferStatusStagePacket == FALSE) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +007164 e101 BNZ 0x7168 { C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -00714a df61 RCALL 0x700e USBCtrlEPAllowStatusStage(); C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +007166 df61 RCALL 0x702a USBCtrlEPAllowStatusStage(); C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c } C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c } C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c }//end if(ctrl_trf_session_owner == MUID_NULL) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -00714c 0012 RETURN 0x0 }//end USBCtrlEPServiceComplete C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +007168 0012 RETURN 0x0 }//end USBCtrlEPServiceComplete C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c /****************************************************************************** C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c @@ -2660,120 +2660,120 @@ Address Value Disassembly Source * C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c * Note: C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c *****************************************************************************/ C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -00714e ecc0 CALL 0x7980,0x0 static void USBCtrlTrfTxService(void) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -007150 f03c +00716a ecce CALL 0x799c,0x0 static void USBCtrlTrfTxService(void) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +00716c f03c { C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c BYTE byteToSend; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c //Figure out how many bytes of data to send in the next IN transaction. C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c //Assume a full size packet, unless otherwise determined below. C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -007152 0e40 MOVLW 0x40 byteToSend = USB_EP0_BUFF_SIZE; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -007154 6edf MOVWF 0xdf,0x0 -007156 0101 MOVLB 0x1 if(inPipes[0].wCount.Val < (BYTE)USB_EP0_BUFF_SIZE) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -007158 5ddb SUBWF 0xdb,0x0,0x1 -00715a 0e00 MOVLW 0x0 -00715c 59dc SUBWFB 0xdc,0x0,0x1 -00715e e20a BC 0x7174 +00716e 0e40 MOVLW 0x40 byteToSend = USB_EP0_BUFF_SIZE; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +007170 6edf MOVWF 0xdf,0x0 +007172 0105 MOVLB 0x5 if(inPipes[0].wCount.Val < (BYTE)USB_EP0_BUFF_SIZE) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +007174 5dc0 SUBWF 0xc0,0x0,0x1 +007176 0e00 MOVLW 0x0 +007178 59c1 SUBWFB 0xc1,0x0,0x1 +00717a e20a BC 0x7190 { C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -007160 c1db MOVFF 0x1db,0xfdf byteToSend = inPipes[0].wCount.Val; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -007162 ffdf +00717c c5c0 MOVFF 0x5c0,0xfdf byteToSend = inPipes[0].wCount.Val; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +00717e ffdf C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c //Keep track of whether or not we have sent a "short packet" yet. C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c //This is useful so that later on, we can configure EP0 IN to STALL, C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c //after we have sent all of the intended data. This makes sure the C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c //hardware STALLs if the host erroneously tries to send more IN token C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c //packets, requesting more data than intended in the control transfer. C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -007164 51d6 MOVF 0xd6,0x0,0x1 if(shortPacketStatus == SHORT_PKT_NOT_USED) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -007166 e102 BNZ 0x716c +007180 51bb MOVF 0xbb,0x0,0x1 if(shortPacketStatus == SHORT_PKT_NOT_USED) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +007182 e102 BNZ 0x7188 { C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -007168 0e01 MOVLW 0x1 shortPacketStatus = SHORT_PKT_PENDING; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +007184 0e01 MOVLW 0x1 shortPacketStatus = SHORT_PKT_PENDING; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c } C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -00716a d003 BRA 0x7172 else if(shortPacketStatus == SHORT_PKT_PENDING) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -00716c 05d6 DECF 0xd6,0x0,0x1 -00716e e102 BNZ 0x7174 +007186 d003 BRA 0x718e else if(shortPacketStatus == SHORT_PKT_PENDING) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +007188 05bb DECF 0xbb,0x0,0x1 +00718a e102 BNZ 0x7190 { C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -007170 0e02 MOVLW 0x2 shortPacketStatus = SHORT_PKT_SENT; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -007172 6fd6 MOVWF 0xd6,0x1 +00718c 0e02 MOVLW 0x2 shortPacketStatus = SHORT_PKT_SENT; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +00718e 6fbb MOVWF 0xbb,0x1 } C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c } C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c //Keep track of how many bytes remain to be sent in the transfer, by C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c //subtracting the number of bytes about to be sent from the total. C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -007174 50df MOVF 0xdf,0x0,0x0 inPipes[0].wCount.Val = inPipes[0].wCount.Val - byteToSend; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -007176 6a34 CLRF 0x34,0x0 -007178 50e8 MOVF 0xe8,0x0,0x0 -00717a 5ddb SUBWF 0xdb,0x0,0x1 -00717c 6fdb MOVWF 0xdb,0x1 -00717e 5034 MOVF 0x34,0x0,0x0 -007180 59dc SUBWFB 0xdc,0x0,0x1 -007182 6fdc MOVWF 0xdc,0x1 +007190 50df MOVF 0xdf,0x0,0x0 inPipes[0].wCount.Val = inPipes[0].wCount.Val - byteToSend; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +007192 6a48 CLRF 0x48,0x0 +007194 50e8 MOVF 0xe8,0x0,0x0 +007196 5dc0 SUBWF 0xc0,0x0,0x1 +007198 6fc0 MOVWF 0xc0,0x1 +00719a 5048 MOVF 0x48,0x0,0x0 +00719c 59c1 SUBWFB 0xc1,0x0,0x1 +00719e 6fc1 MOVWF 0xc1,0x1 C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c //Next, load the number of bytes to send to BC7..0 in buffer descriptor. C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c //Note: Control endpoints may never have a max packet size of > 64 bytes. C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c //Therefore, the BC8 and BC9 bits should always be maintained clear. C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -007184 db24 RCALL 0x77ce pBDTEntryIn[0]->CNT = byteToSend; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -007186 52ee MOVF 0xee,0x1,0x0 -007188 cfdf MOVFF 0xfdf,0xfef -00718a ffef +0071a0 db24 RCALL 0x77ea pBDTEntryIn[0]->CNT = byteToSend; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +0071a2 52ee MOVF 0xee,0x1,0x0 +0071a4 cfdf MOVFF 0xfdf,0xfef +0071a6 ffef C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c //Now copy the data from the source location, to the CtrlTrfData[] buffer, C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c //which we will send to the host. C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -00718c 0e38 MOVLW 0x38 pDst = (USB_VOLATILE BYTE*)CtrlTrfData; // Set destination pointer C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -00718e 6fe4 MOVWF 0xe4,0x1 -007190 0e04 MOVLW 0x4 -007192 6fe5 MOVWF 0xe5,0x1 -007194 b1da BTFSC 0xda,0x0,0x1 if(inPipes[0].info.bits.ctrl_trf_mem == USB_EP0_ROM) // Determine type of memory source C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -007196 d00d BRA 0x71b2 +0071a8 0e38 MOVLW 0x38 pDst = (USB_VOLATILE BYTE*)CtrlTrfData; // Set destination pointer C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +0071aa 6fc9 MOVWF 0xc9,0x1 +0071ac 0e04 MOVLW 0x4 +0071ae 6fca MOVWF 0xca,0x1 +0071b0 b1bf BTFSC 0xbf,0x0,0x1 if(inPipes[0].info.bits.ctrl_trf_mem == USB_EP0_ROM) // Determine type of memory source C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +0071b2 d00d BRA 0x71ce { C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -007198 50df MOVF 0xdf,0x0,0x0 while(byteToSend) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -00719a e017 BZ 0x71ca -0071b0 d7f3 BRA 0x7198 +0071b4 50df MOVF 0xdf,0x0,0x0 while(byteToSend) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +0071b6 e017 BZ 0x71e6 +0071cc d7f3 BRA 0x71b4 { C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -00719c c1d8 MOVFF 0x1d8,0xff6 *pDst++ = *inPipes[0].pSrc.bRom++; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -00719e fff6 -0071a0 c1d9 MOVFF 0x1d9,0xff7 -0071a2 fff7 -0071a4 2bd8 INCF 0xd8,0x1,0x1 -0071a6 0e00 MOVLW 0x0 -0071a8 23d9 ADDWFC 0xd9,0x1,0x1 -0071aa 0008 TBLRD -0071ac 50f5 MOVF 0xf5,0x0,0x0 -0071ae db57 RCALL 0x785e -00785e 6ee6 MOVWF 0xe6,0x0 -007860 c1e4 MOVFF 0x1e4,0xfe9 -007862 ffe9 -007864 c1e5 MOVFF 0x1e5,0xfea -007866 ffea -007868 2be4 INCF 0xe4,0x1,0x1 -00786a 0e00 MOVLW 0x0 -00786c 23e5 ADDWFC 0xe5,0x1,0x1 -00786e 52e5 MOVF 0xe5,0x1,0x0 -007870 50e7 MOVF 0xe7,0x0,0x0 -007872 6eef MOVWF 0xef,0x0 -007874 06df DECF 0xdf,0x1,0x0 byteToSend--; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -007876 0012 RETURN 0x0 +0071b8 c5bd MOVFF 0x5bd,0xff6 *pDst++ = *inPipes[0].pSrc.bRom++; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +0071ba fff6 +0071bc c5be MOVFF 0x5be,0xff7 +0071be fff7 +0071c0 2bbd INCF 0xbd,0x1,0x1 +0071c2 0e00 MOVLW 0x0 +0071c4 23be ADDWFC 0xbe,0x1,0x1 +0071c6 0008 TBLRD +0071c8 50f5 MOVF 0xf5,0x0,0x0 +0071ca db57 RCALL 0x787a +00787a 6ee6 MOVWF 0xe6,0x0 +00787c c5c9 MOVFF 0x5c9,0xfe9 +00787e ffe9 +007880 c5ca MOVFF 0x5ca,0xfea +007882 ffea +007884 2bc9 INCF 0xc9,0x1,0x1 +007886 0e00 MOVLW 0x0 +007888 23ca ADDWFC 0xca,0x1,0x1 +00788a 52e5 MOVF 0xe5,0x1,0x0 +00788c 50e7 MOVF 0xe7,0x0,0x0 +00788e 6eef MOVWF 0xef,0x0 +007890 06df DECF 0xdf,0x1,0x0 byteToSend--; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +007892 0012 RETURN 0x0 }//end while(byte_to_send.Val) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c } C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c else // RAM C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c { C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -0071b2 50df MOVF 0xdf,0x0,0x0 while(byteToSend) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -0071b4 e00a BZ 0x71ca -0071c8 d7f4 BRA 0x71b2 +0071ce 50df MOVF 0xdf,0x0,0x0 while(byteToSend) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +0071d0 e00a BZ 0x71e6 +0071e4 d7f4 BRA 0x71ce { C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -0071b6 c1d8 MOVFF 0x1d8,0xfe9 *pDst++ = *inPipes[0].pSrc.bRam++; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -0071b8 ffe9 -0071ba c1d9 MOVFF 0x1d9,0xfea -0071bc ffea -0071be 2bd8 INCF 0xd8,0x1,0x1 -0071c0 0e00 MOVLW 0x0 -0071c2 23d9 ADDWFC 0xd9,0x1,0x1 -0071c4 50ef MOVF 0xef,0x0,0x0 -0071c6 db4b RCALL 0x785e +0071d2 c5bd MOVFF 0x5bd,0xfe9 *pDst++ = *inPipes[0].pSrc.bRam++; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +0071d4 ffe9 +0071d6 c5be MOVFF 0x5be,0xfea +0071d8 ffea +0071da 2bbd INCF 0xbd,0x1,0x1 +0071dc 0e00 MOVLW 0x0 +0071de 23be ADDWFC 0xbe,0x1,0x1 +0071e0 50ef MOVF 0xef,0x0,0x0 +0071e2 db4b RCALL 0x787a byteToSend--; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c }//end while(byte_to_send.Val) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c }//end if(usb_stat.ctrl_trf_mem == _ROM) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -0071ca 52e5 MOVF 0xe5,0x1,0x0 }//end USBCtrlTrfTxService C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -0071cc d30a BRA 0x77e2 +0071e6 52e5 MOVF 0xe5,0x1,0x0 }//end USBCtrlTrfTxService C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +0071e8 d30a BRA 0x77fe C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c /****************************************************************************** C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c * Function: void USBCtrlTrfRxService(void) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c @@ -2800,135 +2800,135 @@ Address Value Disassembly Source * C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c * Note: None C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c *****************************************************************************/ C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -0071ce dba9 RCALL 0x7922 static void USBCtrlTrfRxService(void) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +0071ea dba9 RCALL 0x793e static void USBCtrlTrfRxService(void) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c { C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c BYTE byteToRead; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c BYTE i; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c //Load byteToRead with the number of bytes the host just sent us in the C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c //last OUT transaction. C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -0071d0 db14 RCALL 0x77fa byteToRead = pBDTEntryEP0OutCurrent->CNT; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -0071d2 52ee MOVF 0xee,0x1,0x0 -0071d4 cfef MOVFF 0xfef,0xfdf -0071d6 ffdf +0071ec db14 RCALL 0x7816 byteToRead = pBDTEntryEP0OutCurrent->CNT; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +0071ee 52ee MOVF 0xee,0x1,0x0 +0071f0 cfef MOVFF 0xfef,0xfdf +0071f2 ffdf C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c //Update the "outPipes[0].wCount.Val", which keeps track of the total number C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c //of remaining bytes expected to be received from the host, in the control C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c //transfer. First check to see if the host sent us more bytes than the C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c //application firmware was expecting to receive. C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -0071d8 cfdf MOVFF 0xfdf,0x33 if(byteToRead > outPipes[0].wCount.Val) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -0071da f033 -0071dc 5033 MOVF 0x33,0x0,0x0 -0071de 0101 MOVLB 0x1 -0071e0 5de0 SUBWF 0xe0,0x0,0x1 -0071e2 0e00 MOVLW 0x0 -0071e4 59e1 SUBWFB 0xe1,0x0,0x1 -0071e6 e202 BC 0x71ec +0071f4 cfdf MOVFF 0xfdf,0x47 if(byteToRead > outPipes[0].wCount.Val) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +0071f6 f047 +0071f8 5047 MOVF 0x47,0x0,0x0 +0071fa 0105 MOVLB 0x5 +0071fc 5dc5 SUBWF 0xc5,0x0,0x1 +0071fe 0e00 MOVLW 0x0 +007200 59c6 SUBWFB 0xc6,0x0,0x1 +007202 e202 BC 0x7208 { C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -0071e8 c1e0 MOVFF 0x1e0,0xfdf byteToRead = outPipes[0].wCount.Val; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -0071ea ffdf +007204 c5c5 MOVFF 0x5c5,0xfdf byteToRead = outPipes[0].wCount.Val; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +007206 ffdf } C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c //Reduce the number of remaining bytes by the number we just received. C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -0071ec 50df MOVF 0xdf,0x0,0x0 outPipes[0].wCount.Val = outPipes[0].wCount.Val - byteToRead; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -0071ee 6e33 MOVWF 0x33,0x0 -0071f0 6a34 CLRF 0x34,0x0 -0071f2 50e8 MOVF 0xe8,0x0,0x0 -0071f4 5de0 SUBWF 0xe0,0x0,0x1 -0071f6 6fe0 MOVWF 0xe0,0x1 -0071f8 5034 MOVF 0x34,0x0,0x0 -0071fa 59e1 SUBWFB 0xe1,0x0,0x1 -0071fc 6fe1 MOVWF 0xe1,0x1 +007208 50df MOVF 0xdf,0x0,0x0 outPipes[0].wCount.Val = outPipes[0].wCount.Val - byteToRead; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +00720a 6e47 MOVWF 0x47,0x0 +00720c 6a48 CLRF 0x48,0x0 +00720e 50e8 MOVF 0xe8,0x0,0x0 +007210 5dc5 SUBWF 0xc5,0x0,0x1 +007212 6fc5 MOVWF 0xc5,0x1 +007214 5048 MOVF 0x48,0x0,0x0 +007216 59c6 SUBWFB 0xc6,0x0,0x1 +007218 6fc6 MOVWF 0xc6,0x1 C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c //Copy the OUT DATAx packet bytes that we just received from the host, C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c //into the user application buffer space. C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -0071fe 0e01 MOVLW 0x1 for(i=0;i 0u) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -007240 80d8 BSF 0xd8,0x0,0x0 -007242 55e0 SUBFWB 0xe0,0x0,0x1 -007244 0e00 MOVLW 0x0 -007246 55e1 SUBFWB 0xe1,0x0,0x1 -007248 e20d BC 0x7264 +00725a 0e00 MOVLW 0x0 if(outPipes[0].wCount.Val > 0u) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +00725c 80d8 BSF 0xd8,0x0,0x0 +00725e 55c5 SUBFWB 0xc5,0x0,0x1 +007260 0e00 MOVLW 0x0 +007262 55c6 SUBFWB 0xc6,0x0,0x1 +007264 e20d BC 0x7280 { C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -00724a dbc0 RCALL 0x79cc pBDTEntryEP0OutNext->CNT = USB_EP0_BUFF_SIZE; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -0079cc df93 RCALL 0x78f4 -0079ce 52ee MOVF 0xee,0x1,0x0 -0079d0 0e40 MOVLW 0x40 -0079d2 6eef MOVWF 0xef,0x0 -00724c dadb RCALL 0x7804 pBDTEntryEP0OutNext->ADR = ConvertToPhysicalAddress(&CtrlTrfData); C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -0079d4 ef7a GOTO 0x78f4 -0079d6 f03c -00724e dad5 RCALL 0x77fa if(pBDTEntryEP0OutCurrent->STAT.DTS == 0u) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -007250 50ef MOVF 0xef,0x0,0x0 -007252 0b40 ANDLW 0x40 -007254 e103 BNZ 0x725c +007266 dbc0 RCALL 0x79e8 pBDTEntryEP0OutNext->CNT = USB_EP0_BUFF_SIZE; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +0079e8 df93 RCALL 0x7910 +0079ea 52ee MOVF 0xee,0x1,0x0 +0079ec 0e40 MOVLW 0x40 +0079ee 6eef MOVWF 0xef,0x0 +007268 dadb RCALL 0x7820 pBDTEntryEP0OutNext->ADR = ConvertToPhysicalAddress(&CtrlTrfData); C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +0079f0 ef88 GOTO 0x7910 +0079f2 f03c +00726a dad5 RCALL 0x7816 if(pBDTEntryEP0OutCurrent->STAT.DTS == 0u) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +00726c 50ef MOVF 0xef,0x0,0x0 +00726e 0b40 ANDLW 0x40 +007270 e103 BNZ 0x7278 { C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -007256 db4e RCALL 0x78f4 pBDTEntryEP0OutNext->STAT.Val = _USIE|_DAT1|(_DTSEN & _DTS_CHECKING_ENABLED); C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -007258 0ec8 MOVLW 0xc8 +007272 db4e RCALL 0x7910 pBDTEntryEP0OutNext->STAT.Val = _USIE|_DAT1|(_DTSEN & _DTS_CHECKING_ENABLED); C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +007274 0ec8 MOVLW 0xc8 } C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -00725a d002 BRA 0x7260 else C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +007276 d002 BRA 0x727c else C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c { C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -00725c db4b RCALL 0x78f4 pBDTEntryEP0OutNext->STAT.Val = _USIE|_DAT0|(_DTSEN & _DTS_CHECKING_ENABLED); C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -00725e 0e88 MOVLW 0x88 -007260 6eef MOVWF 0xef,0x0 +007278 db4b RCALL 0x7910 pBDTEntryEP0OutNext->STAT.Val = _USIE|_DAT0|(_DTSEN & _DTS_CHECKING_ENABLED); C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +00727a 0e88 MOVLW 0x88 +00727c 6eef MOVWF 0xef,0x0 } C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c } C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -007262 d012 BRA 0x7288 else C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +00727e d012 BRA 0x72a4 else C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c { C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c //We have received all OUT packets that we were expecting to C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c //receive for the control transfer. Prepare EP0 OUT to receive C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c //the next SETUP transaction that may arrive. C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -007264 daa2 RCALL 0x77aa pBDTEntryEP0OutNext->CNT = USB_EP0_BUFF_SIZE; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +007280 daa2 RCALL 0x77c6 pBDTEntryEP0OutNext->CNT = USB_EP0_BUFF_SIZE; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c pBDTEntryEP0OutNext->ADR = ConvertToPhysicalAddress(&SetupPkt); C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c //Configure EP0 OUT to receive the next SETUP transaction for any future C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c //control transfers. However, set BSTALL in case the host tries to send C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c //more data than it claims it was going to send. C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -007266 0e84 MOVLW 0x84 pBDTEntryEP0OutNext->STAT.Val = _USIE|_BSTALL; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -007268 6eef MOVWF 0xef,0x0 +007282 0e84 MOVLW 0x84 pBDTEntryEP0OutNext->STAT.Val = _USIE|_BSTALL; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +007284 6eef MOVWF 0xef,0x0 C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c //All data bytes for the host to device control write (OUT) have now been C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c //received successfully. C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c //Go ahead and call the user specified callback function, to use/consume C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c //the control transfer data (ex: if the "void (*function)" parameter C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c //was non-NULL when USBEP0Receive() was called). C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -00726a 51e2 MOVF 0xe2,0x0,0x1 if(outPipes[0].pFunc != NULL) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -00726c 11e3 IORWF 0xe3,0x0,0x1 -00726e e007 BZ 0x727e +007286 51c7 MOVF 0xc7,0x0,0x1 if(outPipes[0].pFunc != NULL) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +007288 11c8 IORWF 0xc8,0x0,0x1 +00728a e007 BZ 0x729a { C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c #if defined(__XC8) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c //Special pragmas to suppress an expected/harmless warning C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c @@ -2938,17 +2938,17 @@ Address Value Disassembly Source outPipes[0].pFunc(); //Call the user's callback function C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c #pragma warning pop C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c #else C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -007270 d005 BRA 0x727c outPipes[0].pFunc(); //Call the user's callback function C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -007272 c1e3 MOVFF 0x1e3,0xffa -007274 fffa -007276 0101 MOVLB 0x1 -007278 51e2 MOVF 0xe2,0x0,0x1 -00727a 6ef9 MOVWF 0xf9,0x0 -00727c dffa RCALL 0x7272 +00728c d005 BRA 0x7298 outPipes[0].pFunc(); //Call the user's callback function C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +00728e c5c8 MOVFF 0x5c8,0xffa +007290 fffa +007292 0105 MOVLB 0x5 +007294 51c7 MOVF 0xc7,0x0,0x1 +007296 6ef9 MOVWF 0xf9,0x0 +007298 dffa RCALL 0x728e #endif C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c } C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -00727e 0101 MOVLB 0x1 outPipes[0].info.bits.busy = 0; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -007280 9fdf BCF 0xdf,0x7,0x1 +00729a 0105 MOVLB 0x5 outPipes[0].info.bits.busy = 0; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +00729c 9fc4 BCF 0xc4,0x7,0x1 C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c //Ready to arm status stage IN transaction now, if the application C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c //firmware has completed processing the request. If it is still busy C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c @@ -2962,20 +2962,20 @@ Address Value Disassembly Source //means either 50ms, 500ms, or 5 seconds, depending on the type of C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c //control transfer. See the USB 2.0 specification section 9.2.6 for C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c //more details. C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -007282 51f2 MOVF 0xf2,0x0,0x1 if(USBDeferStatusStagePacket == FALSE) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -007284 e101 BNZ 0x7288 +00729e 51d7 MOVF 0xd7,0x0,0x1 if(USBDeferStatusStagePacket == FALSE) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +0072a0 e101 BNZ 0x72a4 { C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -007286 dec3 RCALL 0x700e USBCtrlEPAllowStatusStage(); C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +0072a2 dec3 RCALL 0x702a USBCtrlEPAllowStatusStage(); C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c } C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c } C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -007288 0e02 MOVLW 0x2 }//end USBCtrlTrfRxService C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -00728a 5ce1 SUBWF 0xe1,0x0,0x0 -00728c e202 BC 0x7292 -00728e 6ae1 CLRF 0xe1,0x0 -007290 52e5 MOVF 0xe5,0x1,0x0 -007292 6ee1 MOVWF 0xe1,0x0 -007294 d2a6 BRA 0x77e2 +0072a4 0e02 MOVLW 0x2 }//end USBCtrlTrfRxService C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +0072a6 5ce1 SUBWF 0xe1,0x0,0x0 +0072a8 e202 BC 0x72ae +0072aa 6ae1 CLRF 0xe1,0x0 +0072ac 52e5 MOVF 0xe5,0x1,0x0 +0072ae 6ee1 MOVWF 0xe1,0x0 +0072b0 d2a6 BRA 0x77fe C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c /******************************************************************** C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c @@ -2996,112 +2996,112 @@ Address Value Disassembly Source * C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c * Note: None C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c *******************************************************************/ C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -007296 db74 RCALL 0x7980 static void USBStdSetCfgHandler(void) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +0072b2 db74 RCALL 0x799c static void USBStdSetCfgHandler(void) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c { C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c BYTE i; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c // This will generate a zero length packet C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -007298 0101 MOVLB 0x1 inPipes[0].info.bits.busy = 1; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -00729a 8fda BSF 0xda,0x7,0x1 +0072b4 0105 MOVLB 0x5 inPipes[0].info.bits.busy = 1; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +0072b6 8fbf BSF 0xbf,0x7,0x1 C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c //Clear all of the endpoint control registers C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -00729c db50 RCALL 0x793e DisableNonZeroEndpoints(USB_MAX_EP_NUMBER); C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +0072b8 db50 RCALL 0x795a DisableNonZeroEndpoints(USB_MAX_EP_NUMBER); C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c //Clear all of the BDT entries C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -00729e 0e30 MOVLW 0x30 memset((void*)&BDT[0], 0x00, sizeof(BDT)); C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -0072a0 6ee6 MOVWF 0xe6,0x0 -0072a2 6ae6 CLRF 0xe6,0x0 -0072a4 6ae6 CLRF 0xe6,0x0 -0072a6 0e00 MOVLW 0x0 -0072a8 6ee6 MOVWF 0xe6,0x0 -0072aa 0e04 MOVLW 0x4 -0072ac dab1 RCALL 0x7810 +0072ba 0e30 MOVLW 0x30 memset((void*)&BDT[0], 0x00, sizeof(BDT)); C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +0072bc 6ee6 MOVWF 0xe6,0x0 +0072be 6ae6 CLRF 0xe6,0x0 +0072c0 6ae6 CLRF 0xe6,0x0 +0072c2 0e00 MOVLW 0x0 +0072c4 6ee6 MOVWF 0xe6,0x0 +0072c6 0e04 MOVLW 0x4 +0072c8 dab1 RCALL 0x782c C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c // Assert reset request to all of the Ping Pong buffer pointers C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -0072ae 8c65 BSF 0x65,0x6,0x0 USBPingPongBufferReset = 1; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +0072ca 8c65 BSF 0x65,0x6,0x0 USBPingPongBufferReset = 1; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c //Re-Initialize all ping pong software state bits to 0 (which corresponds to C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c //the EVEN buffer being the next one that will be used), since we are also C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c //doing a hardware ping pong pointer reset above. C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -0072b0 6adf CLRF 0xdf,0x0 for(i = 0; i < (BYTE)(USB_MAX_EP_NUMBER+1u); i++) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -0072b2 0e03 MOVLW 0x3 -0072b4 5cdf SUBWF 0xdf,0x0,0x0 -0072b6 e202 BC 0x72bc -0072ba d7fb BRA 0x72b2 +0072cc 6adf CLRF 0xdf,0x0 for(i = 0; i < (BYTE)(USB_MAX_EP_NUMBER+1u); i++) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +0072ce 0e03 MOVLW 0x3 +0072d0 5cdf SUBWF 0xdf,0x0,0x0 +0072d2 e202 BC 0x72d8 +0072d6 d7fb BRA 0x72ce { C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -0072b8 dac2 RCALL 0x783e ep_data_in[i].Val = 0u; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +0072d4 dac2 RCALL 0x785a ep_data_in[i].Val = 0u; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c ep_data_out[i].Val = 0u; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c } C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c //clear the alternate interface settings C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -0072bc 0e01 MOVLW 0x1 memset((void*)&USBAlternateInterface,0x00,USB_MAX_NUM_INT); C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -0072be 6ee6 MOVWF 0xe6,0x0 -0072c0 6ae6 CLRF 0xe6,0x0 -0072c2 6ae6 CLRF 0xe6,0x0 -0072c4 0ec5 MOVLW 0xc5 -0072c6 6ee6 MOVWF 0xe6,0x0 -0072c8 0e01 MOVLW 0x1 -0072ca daa2 RCALL 0x7810 -007810 6ee6 MOVWF 0xe6,0x0 -007812 ec22 CALL 0x9044,0x0 -007814 f048 -007816 6e33 MOVWF 0x33,0x0 -007818 0e05 MOVLW 0x5 -00781a 5ee1 SUBWF 0xe1,0x1,0x0 -00781c 5033 MOVF 0x33,0x0,0x0 -00781e 0012 RETURN 0x0 +0072d8 0e01 MOVLW 0x1 memset((void*)&USBAlternateInterface,0x00,USB_MAX_NUM_INT); C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +0072da 6ee6 MOVWF 0xe6,0x0 +0072dc 6ae6 CLRF 0xe6,0x0 +0072de 6ae6 CLRF 0xe6,0x0 +0072e0 0eaa MOVLW 0xaa +0072e2 6ee6 MOVWF 0xe6,0x0 +0072e4 0e05 MOVLW 0x5 +0072e6 daa2 RCALL 0x782c +00782c 6ee6 MOVWF 0xe6,0x0 +00782e ec30 CALL 0x9060,0x0 +007830 f048 +007832 6e47 MOVWF 0x47,0x0 +007834 0e05 MOVLW 0x5 +007836 5ee1 SUBWF 0xe1,0x1,0x0 +007838 5047 MOVF 0x47,0x0,0x0 +00783a 0012 RETURN 0x0 C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c //Stop trying to reset ping pong buffer pointers C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -0072cc 9c65 BCF 0x65,0x6,0x0 USBPingPongBufferReset = 0; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +0072e8 9c65 BCF 0x65,0x6,0x0 USBPingPongBufferReset = 0; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -0072ce 0101 MOVLB 0x1 pBDTEntryIn[0] = (volatile BDT_ENTRY*)&BDT[EP0_IN_EVEN]; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -0072d0 0e08 MOVLW 0x8 -0072d2 6fd0 MOVWF 0xd0,0x1 -0072d4 0e04 MOVLW 0x4 -0072d6 6fd1 MOVWF 0xd1,0x1 +0072ea 0105 MOVLB 0x5 pBDTEntryIn[0] = (volatile BDT_ENTRY*)&BDT[EP0_IN_EVEN]; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +0072ec 0e08 MOVLW 0x8 +0072ee 6fb5 MOVWF 0xb5,0x1 +0072f0 0e04 MOVLW 0x4 +0072f2 6fb6 MOVWF 0xb6,0x1 C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c //Set the next out to the current out packet C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -0072d8 0e00 MOVLW 0x0 pBDTEntryEP0OutCurrent = (volatile BDT_ENTRY*)&BDT[EP0_OUT_EVEN]; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -0072da 6fc6 MOVWF 0xc6,0x1 -0072dc 0e04 MOVLW 0x4 -0072de 6fc7 MOVWF 0xc7,0x1 -0072e0 c1c6 MOVFF 0x1c6,0x1c8 pBDTEntryEP0OutNext = pBDTEntryEP0OutCurrent; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -0072e2 f1c8 -0072e4 6fc9 MOVWF 0xc9,0x1 +0072f4 0e00 MOVLW 0x0 pBDTEntryEP0OutCurrent = (volatile BDT_ENTRY*)&BDT[EP0_OUT_EVEN]; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +0072f6 6fab MOVWF 0xab,0x1 +0072f8 0e04 MOVLW 0x4 +0072fa 6fac MOVWF 0xac,0x1 +0072fc c5ab MOVFF 0x5ab,0x5ad pBDTEntryEP0OutNext = pBDTEntryEP0OutCurrent; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +0072fe f5ad +007300 6fae MOVWF 0xae,0x1 C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c //set the current configuration C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -0072e6 c432 MOVFF 0x432,0x1c4 USBActiveConfiguration = SetupPkt.bConfigurationValue; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -0072e8 f1c4 +007302 c432 MOVFF 0x432,0x5a9 USBActiveConfiguration = SetupPkt.bConfigurationValue; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +007304 f5a9 C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c //if the configuration value == 0 C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -0072ea 51c4 MOVF 0xc4,0x0,0x1 if(USBActiveConfiguration == 0u) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -0072ec e102 BNZ 0x72f2 +007306 51a9 MOVF 0xa9,0x0,0x1 if(USBActiveConfiguration == 0u) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +007308 e102 BNZ 0x730e { C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c //Go back to the addressed state C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -0072ee 0e10 MOVLW 0x10 USBDeviceState = ADDRESS_STATE; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +00730a 0e10 MOVLW 0x10 USBDeviceState = ADDRESS_STATE; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c } C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -0072f0 d00b BRA 0x7308 else C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +00730c d00b BRA 0x7324 else C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c { C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c //initialize the required endpoints C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -0072f2 0e01 MOVLW 0x1 USB_SET_CONFIGURATION_HANDLER(EVENT_CONFIGURED,(void*)&USBActiveConfiguration,1); C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -0072f4 6ee6 MOVWF 0xe6,0x0 -0072f6 6ae6 CLRF 0xe6,0x0 -0072f8 0ec4 MOVLW 0xc4 -0072fa 6ee6 MOVWF 0xe6,0x0 -0072fc 0e01 MOVLW 0x1 -0072fe 6ee6 MOVWF 0xe6,0x0 -007300 0e01 MOVLW 0x1 -007302 da5c RCALL 0x77bc +00730e 0e01 MOVLW 0x1 USB_SET_CONFIGURATION_HANDLER(EVENT_CONFIGURED,(void*)&USBActiveConfiguration,1); C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +007310 6ee6 MOVWF 0xe6,0x0 +007312 6ae6 CLRF 0xe6,0x0 +007314 0ea9 MOVLW 0xa9 +007316 6ee6 MOVWF 0xe6,0x0 +007318 0e05 MOVLW 0x5 +00731a 6ee6 MOVWF 0xe6,0x0 +00731c 0e01 MOVLW 0x1 +00731e da5c RCALL 0x77d8 C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c //Otherwise go to the configured state. Update the state variable last, C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c //after performing all of the set configuration related initialization C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c //tasks. C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -007304 0101 MOVLB 0x1 USBDeviceState = CONFIGURED_STATE; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -007306 0e20 MOVLW 0x20 -007308 6fc3 MOVWF 0xc3,0x1 +007320 0105 MOVLB 0x5 USBDeviceState = CONFIGURED_STATE; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +007322 0e20 MOVLW 0x20 +007324 6fa8 MOVWF 0xa8,0x1 }//end if(SetupPkt.bConfigurationValue == 0) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -00730a 52e5 MOVF 0xe5,0x1,0x0 }//end USBStdSetCfgHandler C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -00730c d26a BRA 0x77e2 +007326 52e5 MOVF 0xe5,0x1,0x0 }//end USBStdSetCfgHandler C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +007328 d26a BRA 0x77fe C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c /******************************************************************** C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c @@ -3122,114 +3122,114 @@ Address Value Disassembly Source *******************************************************************/ C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c static void USBStdGetDscHandler(void) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c { C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -00730e 0e80 MOVLW 0x80 if(SetupPkt.bmRequestType == 0x80) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -007310 0104 MOVLB 0x4 -007312 5d30 SUBWF 0x30,0x0,0x1 -007314 e14e BNZ 0x73b2 +00732a 0e80 MOVLW 0x80 if(SetupPkt.bmRequestType == 0x80) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +00732c 0104 MOVLB 0x4 +00732e 5d30 SUBWF 0x30,0x0,0x1 +007330 e14e BNZ 0x73ce { C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -007316 0101 MOVLB 0x1 inPipes[0].info.Val = USB_EP0_ROM | USB_EP0_BUSY | USB_EP0_INCLUDE_ZERO; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -007318 0ec0 MOVLW 0xc0 -00731a 6fda MOVWF 0xda,0x1 +007332 0105 MOVLB 0x5 inPipes[0].info.Val = USB_EP0_ROM | USB_EP0_BUSY | USB_EP0_INCLUDE_ZERO; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +007334 0ec0 MOVLW 0xc0 +007336 6fbf MOVWF 0xbf,0x1 C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -00731c 0104 MOVLB 0x4 switch(SetupPkt.bDescriptorType) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -00731e 5133 MOVF 0x33,0x0,0x1 -007320 0a03 XORLW 0x3 -007322 e025 BZ 0x736e -007324 0a01 XORLW 0x1 -007326 e009 BZ 0x733a -007328 0a03 XORLW 0x3 -00732a e141 BNZ 0x73ae +007338 0104 MOVLB 0x4 switch(SetupPkt.bDescriptorType) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +00733a 5133 MOVF 0x33,0x0,0x1 +00733c 0a03 XORLW 0x3 +00733e e025 BZ 0x738a +007340 0a01 XORLW 0x1 +007342 e009 BZ 0x7356 +007344 0a03 XORLW 0x3 +007346 e141 BNZ 0x73ca { C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c case USB_DESCRIPTOR_DEVICE: C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c #if !defined(USB_USER_DEVICE_DESCRIPTOR) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c inPipes[0].pSrc.bRom = (ROM BYTE*)&device_dsc; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c #else C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -00732c 0101 MOVLB 0x1 inPipes[0].pSrc.bRom = (ROM BYTE*)USB_USER_DEVICE_DESCRIPTOR; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -00732e 0ea4 MOVLW 0xa4 -007330 6fd8 MOVWF 0xd8,0x1 -007332 0e8f MOVLW 0x8f -007334 6fd9 MOVWF 0xd9,0x1 +007348 0105 MOVLB 0x5 inPipes[0].pSrc.bRom = (ROM BYTE*)USB_USER_DEVICE_DESCRIPTOR; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +00734a 0ec0 MOVLW 0xc0 +00734c 6fbd MOVWF 0xbd,0x1 +00734e 0e8f MOVLW 0x8f +007350 6fbe MOVWF 0xbe,0x1 #endif C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -007336 0e12 MOVLW 0x12 inPipes[0].wCount.Val = sizeof(device_dsc); C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -007338 d034 BRA 0x73a2 break; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +007352 0e12 MOVLW 0x12 inPipes[0].wCount.Val = sizeof(device_dsc); C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +007354 d034 BRA 0x73be break; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c case USB_DESCRIPTOR_CONFIGURATION: C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c #if !defined(USB_USER_CONFIG_DESCRIPTOR) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c inPipes[0].pSrc.bRom = *(USB_CD_Ptr+SetupPkt.bDscIndex); C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c #else C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -00733a 5132 MOVF 0x32,0x0,0x1 inPipes[0].pSrc.bRom = *(USB_USER_CONFIG_DESCRIPTOR+SetupPkt.bDscIndex); C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -00733c 6ef6 MOVWF 0xf6,0x0 -00733e 6af7 CLRF 0xf7,0x0 -007340 90d8 BCF 0xd8,0x0,0x0 -007342 36f6 RLCF 0xf6,0x1,0x0 -007344 36f7 RLCF 0xf7,0x1,0x0 -007346 0ef9 MOVLW 0xf9 -007348 26f6 ADDWF 0xf6,0x1,0x0 -00734a 0e8f MOVLW 0x8f -00734c 22f7 ADDWFC 0xf7,0x1,0x0 -00734e 0009 TBLRDPOSTINC -007350 cff5 MOVFF 0xff5,0x1d8 -007352 f1d8 -007354 000a TBLRDPOSTDEC -007356 cff5 MOVFF 0xff5,0x1d9 -007358 f1d9 +007356 5132 MOVF 0x32,0x0,0x1 inPipes[0].pSrc.bRom = *(USB_USER_CONFIG_DESCRIPTOR+SetupPkt.bDscIndex); C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +007358 6ef6 MOVWF 0xf6,0x0 +00735a 6af7 CLRF 0xf7,0x0 +00735c 90d8 BCF 0xd8,0x0,0x0 +00735e 36f6 RLCF 0xf6,0x1,0x0 +007360 36f7 RLCF 0xf7,0x1,0x0 +007362 0e15 MOVLW 0x15 +007364 26f6 ADDWF 0xf6,0x1,0x0 +007366 0e90 MOVLW 0x90 +007368 22f7 ADDWFC 0xf7,0x1,0x0 +00736a 0009 TBLRDPOSTINC +00736c cff5 MOVFF 0xff5,0x5bd +00736e f5bd +007370 000a TBLRDPOSTDEC +007372 cff5 MOVFF 0xff5,0x5be +007374 f5be #endif C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c //This must be loaded using byte addressing. The source pointer C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c // may not be word aligned for the 16 or 32 bit machines resulting C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c // in an address error on the dereference. C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -00735a 0e02 MOVLW 0x2 inPipes[0].wCount.byte.LB = *(inPipes[0].pSrc.bRom+2); C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -00735c 0101 MOVLB 0x1 -00735e dabc RCALL 0x78d8 -007360 cff5 MOVFF 0xff5,0x1db -007362 f1db -0078d8 6af7 CLRF 0xf7,0x0 -0078da 25d8 ADDWF 0xd8,0x0,0x1 -0078dc 6ef6 MOVWF 0xf6,0x0 -0078de 51d9 MOVF 0xd9,0x0,0x1 -0078e0 22f7 ADDWFC 0xf7,0x1,0x0 -0078e2 0008 TBLRD -0078e4 0012 RETURN 0x0 -007364 0e03 MOVLW 0x3 inPipes[0].wCount.byte.HB = *(inPipes[0].pSrc.bRom+3); C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -007366 dab8 RCALL 0x78d8 -007368 cff5 MOVFF 0xff5,0x1dc -00736a f1dc -00736c 0012 RETURN 0x0 break; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +007376 0e02 MOVLW 0x2 inPipes[0].wCount.byte.LB = *(inPipes[0].pSrc.bRom+2); C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +007378 0105 MOVLB 0x5 +00737a dabc RCALL 0x78f4 +00737c cff5 MOVFF 0xff5,0x5c0 +00737e f5c0 +0078f4 6af7 CLRF 0xf7,0x0 +0078f6 25bd ADDWF 0xbd,0x0,0x1 +0078f8 6ef6 MOVWF 0xf6,0x0 +0078fa 51be MOVF 0xbe,0x0,0x1 +0078fc 22f7 ADDWFC 0xf7,0x1,0x0 +0078fe 0008 TBLRD +007900 0012 RETURN 0x0 +007380 0e03 MOVLW 0x3 inPipes[0].wCount.byte.HB = *(inPipes[0].pSrc.bRom+3); C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +007382 dab8 RCALL 0x78f4 +007384 cff5 MOVFF 0xff5,0x5c1 +007386 f5c1 +007388 0012 RETURN 0x0 break; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c case USB_DESCRIPTOR_STRING: C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c //USB_NUM_STRING_DESCRIPTORS was introduced as optional in release v2.3. In v2.4 and C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c // later it is now manditory. This should be defined in usb_config.h and should C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c // indicate the number of string descriptors. C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -00736e 0e04 MOVLW 0x4 if(SetupPkt.bDscIndexSTAT.UOWN == 1u) && (p->STAT.BSTALL == 1u)) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -0073fa e006 BZ 0x7408 -0073fc d9e3 RCALL 0x77c4 -0073fe 50ef MOVF 0xef,0x0,0x0 -007400 0b04 ANDLW 0x4 -007402 e002 BZ 0x7408 -007404 0e01 MOVLW 0x1 CtrlTrfData[0]=0x01; // Set bit0 C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -007406 6f38 MOVWF 0x38,0x1 +007414 dabf RCALL 0x7994 if((p->STAT.UOWN == 1u) && (p->STAT.BSTALL == 1u)) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +007416 e006 BZ 0x7424 +007418 d9e3 RCALL 0x77e0 +00741a 50ef MOVF 0xef,0x0,0x0 +00741c 0b04 ANDLW 0x4 +00741e e002 BZ 0x7424 +007420 0e01 MOVLW 0x1 CtrlTrfData[0]=0x01; // Set bit0 C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +007422 6f38 MOVWF 0x38,0x1 break; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c } C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c }//end switch C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -007408 0101 MOVLB 0x1 if(inPipes[0].info.bits.busy == 1u) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -00740a afda BTFSS 0xda,0x7,0x1 -00740c d007 BRA 0x741c +007424 0105 MOVLB 0x5 if(inPipes[0].info.bits.busy == 1u) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +007426 afbf BTFSS 0xbf,0x7,0x1 +007428 d007 BRA 0x7438 { C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -00740e 0e38 MOVLW 0x38 inPipes[0].pSrc.bRam = (BYTE*)&CtrlTrfData; // Set Source C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -007410 6fd8 MOVWF 0xd8,0x1 -007412 0e04 MOVLW 0x4 -007414 6fd9 MOVWF 0xd9,0x1 -007416 81da BSF 0xda,0x0,0x1 inPipes[0].info.bits.ctrl_trf_mem = USB_EP0_RAM; // Set memory type C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -007418 0e02 MOVLW 0x2 inPipes[0].wCount.v[0] = 2; // Set data count C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -00741a 6fdb MOVWF 0xdb,0x1 +00742a 0e38 MOVLW 0x38 inPipes[0].pSrc.bRam = (BYTE*)&CtrlTrfData; // Set Source C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +00742c 6fbd MOVWF 0xbd,0x1 +00742e 0e04 MOVLW 0x4 +007430 6fbe MOVWF 0xbe,0x1 +007432 81bf BSF 0xbf,0x0,0x1 inPipes[0].info.bits.ctrl_trf_mem = USB_EP0_RAM; // Set memory type C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +007434 0e02 MOVLW 0x2 inPipes[0].wCount.v[0] = 2; // Set data count C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +007436 6fc0 MOVWF 0xc0,0x1 }//end if(...) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -00741c 0e02 MOVLW 0x2 }//end USBStdGetStatusHandler C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -00741e 5ce1 SUBWF 0xe1,0x0,0x0 -007420 e202 BC 0x7426 -007422 6ae1 CLRF 0xe1,0x0 -007424 52e5 MOVF 0xe5,0x1,0x0 -007426 6ee1 MOVWF 0xe1,0x0 -007428 d1dc BRA 0x77e2 +007438 0e02 MOVLW 0x2 }//end USBStdGetStatusHandler C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +00743a 5ce1 SUBWF 0xe1,0x0,0x0 +00743c e202 BC 0x7442 +00743e 6ae1 CLRF 0xe1,0x0 +007440 52e5 MOVF 0xe5,0x1,0x0 +007442 6ee1 MOVWF 0xe1,0x0 +007444 d1dc BRA 0x77fe C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c /******************************************************************** C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c * Function: void USBStallHandler(void) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c @@ -3391,30 +3391,30 @@ Address Value Disassembly Source */ C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c /* v2b fix */ C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -00742a 010f MOVLB 0xf if(U1EP0bits.EPSTALL == 1u) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -00742c a126 BTFSS 0x26,0x0,0x1 -00742e d00c BRA 0x7448 +007446 010f MOVLB 0xf if(U1EP0bits.EPSTALL == 1u) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +007448 a126 BTFSS 0x26,0x0,0x1 +00744a d00c BRA 0x7464 { C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c // UOWN - if 0, owned by CPU, if 1, owned by SIE C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -007430 d9e4 RCALL 0x77fa if((pBDTEntryEP0OutCurrent->STAT.Val == _USIE) && (pBDTEntryIn[0]->STAT.Val == (_USIE|_BSTALL))) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -007432 50ef MOVF 0xef,0x0,0x0 -007434 0880 SUBLW 0x80 -007436 e107 BNZ 0x7446 -007438 d9ca RCALL 0x77ce -00743a 50ef MOVF 0xef,0x0,0x0 -00743c 0884 SUBLW 0x84 -00743e e103 BNZ 0x7446 +00744c d9e4 RCALL 0x7816 if((pBDTEntryEP0OutCurrent->STAT.Val == _USIE) && (pBDTEntryIn[0]->STAT.Val == (_USIE|_BSTALL))) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +00744e 50ef MOVF 0xef,0x0,0x0 +007450 0880 SUBLW 0x80 +007452 e107 BNZ 0x7462 +007454 d9ca RCALL 0x77ea +007456 50ef MOVF 0xef,0x0,0x0 +007458 0884 SUBLW 0x84 +00745a e103 BNZ 0x7462 { C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c // Set ep0Bo to stall also C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -007440 d9dc RCALL 0x77fa pBDTEntryEP0OutCurrent->STAT.Val = _USIE|_DAT0|(_DTSEN & _DTS_CHECKING_ENABLED)|_BSTALL; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -007442 0e8c MOVLW 0x8c -007444 6eef MOVWF 0xef,0x0 +00745c d9dc RCALL 0x7816 pBDTEntryEP0OutCurrent->STAT.Val = _USIE|_DAT0|(_DTSEN & _DTS_CHECKING_ENABLED)|_BSTALL; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +00745e 0e8c MOVLW 0x8c +007460 6eef MOVWF 0xef,0x0 }//end if C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -007446 9126 BCF 0x26,0x0,0x1 U1EP0bits.EPSTALL = 0; // Clear stall status C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +007462 9126 BCF 0x26,0x0,0x1 U1EP0bits.EPSTALL = 0; // Clear stall status C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c }//end if C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -007448 9a62 BCF 0x62,0x5,0x0 USBClearInterruptFlag(USBStallIFReg,USBStallIFBitNum); C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -00744a 0012 RETURN 0x0 } C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +007464 9a62 BCF 0x62,0x5,0x0 USBClearInterruptFlag(USBStallIFReg,USBStallIFBitNum); C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +007466 0012 RETURN 0x0 } C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c /******************************************************************** C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c * Function: void USBSuspend(void) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c @@ -3457,27 +3457,27 @@ Address Value Disassembly Source * then it can never get out of the suspend C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c * mode. C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c */ C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -00744c 010f MOVLB 0xf USBActivityIE = 1; // Enable bus activity interrupt C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -00744e 8536 BSF 0x36,0x2,0x1 -007450 9862 BCF 0x62,0x4,0x0 USBClearInterruptFlag(USBIdleIFReg,USBIdleIFBitNum); C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +007468 010f MOVLB 0xf USBActivityIE = 1; // Enable bus activity interrupt C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +00746a 8536 BSF 0x36,0x2,0x1 +00746c 9862 BCF 0x62,0x4,0x0 USBClearInterruptFlag(USBIdleIFReg,USBIdleIFBitNum); C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c #if defined(__18CXX) || defined(_PIC14E) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -007452 8265 BSF 0x65,0x1,0x0 U1CONbits.SUSPND = 1; // Put USB module in power conserve C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +00746e 8265 BSF 0x65,0x1,0x0 U1CONbits.SUSPND = 1; // Put USB module in power conserve C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c // mode, SIE clock inactive C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c #endif C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -007454 0101 MOVLB 0x1 USBBusIsSuspended = TRUE; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -007456 0e01 MOVLW 0x1 -007458 6fe7 MOVWF 0xe7,0x1 +007470 0105 MOVLB 0x5 USBBusIsSuspended = TRUE; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +007472 0e01 MOVLW 0x1 +007474 6fcc MOVWF 0xcc,0x1 C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c /* C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c * At this point the PIC can go into sleep,idle, or C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c * switch to a slower clock, etc. This should be done in the C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c * USBCBSuspend() if necessary. C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c */ C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -00745a da14 RCALL 0x7884 USB_SUSPEND_HANDLER(EVENT_SUSPEND,0,0); C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -00745c 0e75 MOVLW 0x75 -00745e efde GOTO 0x77bc -007460 f03b +007476 da14 RCALL 0x78a0 USB_SUSPEND_HANDLER(EVENT_SUSPEND,0,0); C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +007478 0e75 MOVLW 0x75 +00747a efec GOTO 0x77d8 +00747c f03b } C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c /******************************************************************** C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c @@ -3497,29 +3497,29 @@ Address Value Disassembly Source *******************************************************************/ C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c static void USBWakeFromSuspend(void) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c { C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -007462 0101 MOVLB 0x1 USBBusIsSuspended = FALSE; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -007464 6be7 CLRF 0xe7,0x1 +00747e 0105 MOVLB 0x5 USBBusIsSuspended = FALSE; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +007480 6bcc CLRF 0xcc,0x1 C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c /* C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c * If using clock switching, the place to restore the original C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c * microcontroller core clock frequency is in the USBCBWakeFromSuspend() callback C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c */ C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -007466 da0e RCALL 0x7884 USB_WAKEUP_FROM_SUSPEND_HANDLER(EVENT_RESUME,0,0); C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -007468 0e74 MOVLW 0x74 -00746a d9a8 RCALL 0x77bc +007482 da0e RCALL 0x78a0 USB_WAKEUP_FROM_SUSPEND_HANDLER(EVENT_RESUME,0,0); C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +007484 0e74 MOVLW 0x74 +007486 d9a8 RCALL 0x77d8 C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c #if defined(__18CXX) || defined(_PIC14E) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c //To avoid improperly clocking the USB module, make sure the oscillator C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c //settings are consistant with USB operation before clearing the SUSPND bit. C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c //Make sure the correct oscillator settings are selected in the C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c //"USB_WAKEUP_FROM_SUSPEND_HANDLER(EVENT_RESUME,0,0)" handler. C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -00746c 9265 BCF 0x65,0x1,0x0 U1CONbits.SUSPND = 0; // Bring USB module out of power conserve C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +007488 9265 BCF 0x65,0x1,0x0 U1CONbits.SUSPND = 0; // Bring USB module out of power conserve C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c // mode. C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c #endif C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -00746e 010f MOVLB 0xf USBActivityIE = 0; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -007470 9536 BCF 0x36,0x2,0x1 +00748a 010f MOVLB 0xf USBActivityIE = 0; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +00748c 9536 BCF 0x36,0x2,0x1 C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c /******************************************************************** C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c Bug Fix: Feb 26, 2007 v2.1 C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c @@ -3537,15 +3537,15 @@ Address Value Disassembly Source C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c // UIRbits.ACTVIF = 0; // Removed C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c #if defined(__18CXX) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -007472 a462 BTFSS 0x62,0x2,0x0 while(USBActivityIF) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -007474 d002 BRA 0x747a -007478 d7fc BRA 0x7472 +00748e a462 BTFSS 0x62,0x2,0x0 while(USBActivityIF) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +007490 d002 BRA 0x7496 +007494 d7fc BRA 0x748e #endif C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c { C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -007476 9462 BCF 0x62,0x2,0x0 USBClearInterruptFlag(USBActivityIFReg,USBActivityIFBitNum); C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +007492 9462 BCF 0x62,0x2,0x0 USBClearInterruptFlag(USBActivityIFReg,USBActivityIFBitNum); C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c } // Added C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -00747a 0012 RETURN 0x0 }//end USBWakeFromSuspend C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +007496 0012 RETURN 0x0 }//end USBWakeFromSuspend C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c /******************************************************************** C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c * Function: void USBCtrlEPService(void) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c @@ -3568,37 +3568,37 @@ Address Value Disassembly Source * C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c * Note: None C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c *******************************************************************/ C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -00747c da81 RCALL 0x7980 static void USBCtrlEPService(void) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +007498 da81 RCALL 0x799c static void USBCtrlEPService(void) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c { C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c //If we get to here, that means a successful transaction has just occurred C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c //on EP0. This means "progress" has occurred in the currently pending C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c //control transfer, so we should re-initialize our timeout counter. C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c #if defined(USB_ENABLE_STATUS_STAGE_TIMEOUTS) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -00747e 0101 MOVLB 0x1 USBStatusStageTimeoutCounter = USB_STATUS_STAGE_TIMEOUT; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -007480 0e2d MOVLW 0x2d -007482 6ff1 MOVWF 0xf1,0x1 +00749a 0105 MOVLB 0x5 USBStatusStageTimeoutCounter = USB_STATUS_STAGE_TIMEOUT; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +00749c 0e2d MOVLW 0x2d +00749e 6fd6 MOVWF 0xd6,0x1 #endif C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c //Check if the last transaction was on EP0 OUT endpoint (of any kind, to either the even or odd buffer if ping pong buffers used) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -007484 0efd MOVLW 0xfd if((USTATcopy.Val & USTAT_EP0_PP_MASK) == USTAT_EP0_OUT_EVEN) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -007486 15e8 ANDWF 0xe8,0x0,0x1 -007488 e139 BNZ 0x74fc +0074a0 0efd MOVLW 0xfd if((USTATcopy.Val & USTAT_EP0_PP_MASK) == USTAT_EP0_OUT_EVEN) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +0074a2 15cd ANDWF 0xcd,0x0,0x1 +0074a4 e139 BNZ 0x7518 { C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c //Point to the EP0 OUT buffer of the buffer that arrived C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c #if defined (_PIC14E) || defined(__18CXX) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -00748a 0e7e MOVLW 0x7e pBDTEntryEP0OutCurrent = (volatile BDT_ENTRY*)&BDT[(USTATcopy.Val & USTAT_EP_MASK)>>1]; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -00748c 15e8 ANDWF 0xe8,0x0,0x1 -00748e 40e8 RRNCF 0xe8,0x0,0x0 -007490 0b7f ANDLW 0x7f -007492 0d04 MULLW 0x4 -007494 cff3 MOVFF 0xff3,0x1c6 -007496 f1c6 -007498 cff4 MOVFF 0xff4,0x1c7 -00749a f1c7 -00749c 0e00 MOVLW 0x0 -00749e 27c6 ADDWF 0xc6,0x1,0x1 -0074a0 0e04 MOVLW 0x4 -0074a2 23c7 ADDWFC 0xc7,0x1,0x1 +0074a6 0e7e MOVLW 0x7e pBDTEntryEP0OutCurrent = (volatile BDT_ENTRY*)&BDT[(USTATcopy.Val & USTAT_EP_MASK)>>1]; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +0074a8 15cd ANDWF 0xcd,0x0,0x1 +0074aa 40e8 RRNCF 0xe8,0x0,0x0 +0074ac 0b7f ANDLW 0x7f +0074ae 0d04 MULLW 0x4 +0074b0 cff3 MOVFF 0xff3,0x5ab +0074b2 f5ab +0074b4 cff4 MOVFF 0xff4,0x5ac +0074b6 f5ac +0074b8 0e00 MOVLW 0x0 +0074ba 27ab ADDWF 0xab,0x1,0x1 +0074bc 0e04 MOVLW 0x4 +0074be 23ac ADDWFC 0xac,0x1,0x1 #elif defined(__C30__) || defined(__C32__) || defined __XC16__ C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c pBDTEntryEP0OutCurrent = (volatile BDT_ENTRY*)&BDT[(USTATcopy.Val & USTAT_EP_MASK)>>2]; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c #else C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c @@ -3606,21 +3606,21 @@ Address Value Disassembly Source #endif C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c //Set the next out to the current out packet C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -0074a4 c1c6 MOVFF 0x1c6,0x1c8 pBDTEntryEP0OutNext = pBDTEntryEP0OutCurrent; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -0074a6 f1c8 -0074a8 c1c7 MOVFF 0x1c7,0x1c9 -0074aa f1c9 +0074c0 c5ab MOVFF 0x5ab,0x5ad pBDTEntryEP0OutNext = pBDTEntryEP0OutCurrent; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +0074c2 f5ad +0074c4 c5ac MOVFF 0x5ac,0x5ae +0074c6 f5ae //Toggle it to the next ping pong buffer (if applicable) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -0074ac 75c8 BTG 0xc8,0x2,0x1 ((BYTE_VAL*)&pBDTEntryEP0OutNext)->Val ^= USB_NEXT_EP0_OUT_PING_PONG; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +0074c8 75ad BTG 0xad,0x2,0x1 ((BYTE_VAL*)&pBDTEntryEP0OutNext)->Val ^= USB_NEXT_EP0_OUT_PING_PONG; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c //If the current EP0 OUT buffer has a SETUP packet C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -0074ae d9a5 RCALL 0x77fa if(pBDTEntryEP0OutCurrent->STAT.PID == PID_SETUP) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -0074b0 50ef MOVF 0xef,0x0,0x0 -0074b2 0b3c ANDLW 0x3c -0074b4 42e8 RRNCF 0xe8,0x1,0x0 -0074b6 42e8 RRNCF 0xe8,0x1,0x0 -0074b8 080d SUBLW 0xd -0074ba e11e BNZ 0x74f8 +0074ca d9a5 RCALL 0x7816 if(pBDTEntryEP0OutCurrent->STAT.PID == PID_SETUP) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +0074cc 50ef MOVF 0xef,0x0,0x0 +0074ce 0b3c ANDLW 0x3c +0074d0 42e8 RRNCF 0xe8,0x1,0x0 +0074d2 42e8 RRNCF 0xe8,0x1,0x0 +0074d4 080d SUBLW 0xd +0074d6 e11e BNZ 0x7514 { C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c unsigned char setup_cnt; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c @@ -3628,70 +3628,70 @@ Address Value Disassembly Source //buffer, or elsewhere, depending upon how the BDT was prepared C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c //before the transaction. Therefore, we should copy the data to the C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c //SetupPkt buffer so it can be processed correctly by USBCtrlTrfSetupHandler(). C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -0074bc 6adf CLRF 0xdf,0x0 for(setup_cnt = 0; setup_cnt < 8u; setup_cnt++) //SETUP data packets always contain exactly 8 bytes. C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -0074be 0e08 MOVLW 0x8 -0074c0 5cdf SUBWF 0xdf,0x0,0x0 -0074c2 e216 BC 0x74f0 -0074ec 2adf INCF 0xdf,0x1,0x0 -0074ee d7e7 BRA 0x74be +0074d8 6adf CLRF 0xdf,0x0 for(setup_cnt = 0; setup_cnt < 8u; setup_cnt++) //SETUP data packets always contain exactly 8 bytes. C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +0074da 0e08 MOVLW 0x8 +0074dc 5cdf SUBWF 0xdf,0x0,0x0 +0074de e216 BC 0x750c +007508 2adf INCF 0xdf,0x1,0x0 +00750a d7e7 BRA 0x74da { C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -0074c4 d99a RCALL 0x77fa *(BYTE*)((BYTE*)&SetupPkt + setup_cnt) = *(BYTE*)ConvertToVirtualAddress(pBDTEntryEP0OutCurrent->ADR); C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -0074c6 0e02 MOVLW 0x2 -0074c8 26e9 ADDWF 0xe9,0x1,0x0 -0074ca 0e00 MOVLW 0x0 -0074cc d9c2 RCALL 0x7852 -0074ce 50ef MOVF 0xef,0x0,0x0 -0074d0 6ee6 MOVWF 0xe6,0x0 -0074d2 50df MOVF 0xdf,0x0,0x0 -0074d4 6aea CLRF 0xea,0x0 -0074d6 0f30 ADDLW 0x30 -0074d8 6ee9 MOVWF 0xe9,0x0 -0074da 0e04 MOVLW 0x4 -0074dc 22ea ADDWFC 0xea,0x1,0x0 -0074de 52e5 MOVF 0xe5,0x1,0x0 -0074e0 50e7 MOVF 0xe7,0x0,0x0 -0074e2 6eef MOVWF 0xef,0x0 -007852 22ea ADDWFC 0xea,0x1,0x0 -007854 50ee MOVF 0xee,0x0,0x0 -007856 cfef MOVFF 0xfef,0xfea -007858 ffea -00785a 6ee9 MOVWF 0xe9,0x0 -00785c 0012 RETURN 0x0 -0074e4 d98a RCALL 0x77fa pBDTEntryEP0OutCurrent->ADR++; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -0074e6 da78 RCALL 0x79d8 -0074e8 2aee INCF 0xee,0x1,0x0 -0074ea 22ef ADDWFC 0xef,0x1,0x0 +0074e0 d99a RCALL 0x7816 *(BYTE*)((BYTE*)&SetupPkt + setup_cnt) = *(BYTE*)ConvertToVirtualAddress(pBDTEntryEP0OutCurrent->ADR); C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +0074e2 0e02 MOVLW 0x2 +0074e4 26e9 ADDWF 0xe9,0x1,0x0 +0074e6 0e00 MOVLW 0x0 +0074e8 d9c2 RCALL 0x786e +0074ea 50ef MOVF 0xef,0x0,0x0 +0074ec 6ee6 MOVWF 0xe6,0x0 +0074ee 50df MOVF 0xdf,0x0,0x0 +0074f0 6aea CLRF 0xea,0x0 +0074f2 0f30 ADDLW 0x30 +0074f4 6ee9 MOVWF 0xe9,0x0 +0074f6 0e04 MOVLW 0x4 +0074f8 22ea ADDWFC 0xea,0x1,0x0 +0074fa 52e5 MOVF 0xe5,0x1,0x0 +0074fc 50e7 MOVF 0xe7,0x0,0x0 +0074fe 6eef MOVWF 0xef,0x0 +00786e 22ea ADDWFC 0xea,0x1,0x0 +007870 50ee MOVF 0xee,0x0,0x0 +007872 cfef MOVFF 0xfef,0xfea +007874 ffea +007876 6ee9 MOVWF 0xe9,0x0 +007878 0012 RETURN 0x0 +007500 d98a RCALL 0x7816 pBDTEntryEP0OutCurrent->ADR++; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +007502 da78 RCALL 0x79f4 +007504 2aee INCF 0xee,0x1,0x0 +007506 22ef ADDWFC 0xef,0x1,0x0 } C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -0074f0 d984 RCALL 0x77fa pBDTEntryEP0OutCurrent->ADR = ConvertToPhysicalAddress(&SetupPkt); C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -0074f2 da11 RCALL 0x7916 -0077fa c1c6 MOVFF 0x1c6,0xfe9 -0077fc ffe9 -0077fe c1c7 MOVFF 0x1c7,0xfea -007800 ffea -007802 0012 RETURN 0x0 +00750c d984 RCALL 0x7816 pBDTEntryEP0OutCurrent->ADR = ConvertToPhysicalAddress(&SetupPkt); C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +00750e da11 RCALL 0x7932 +007816 c5ab MOVFF 0x5ab,0xfe9 +007818 ffe9 +00781a c5ac MOVFF 0x5ac,0xfea +00781c ffea +00781e 0012 RETURN 0x0 C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c //Handle the control transfer (parse the 8-byte SETUP command and figure out what to do) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -0074f4 d80a RCALL 0x750a USBCtrlTrfSetupHandler(); C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +007510 d80a RCALL 0x7526 USBCtrlTrfSetupHandler(); C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c } C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -0074f6 d007 BRA 0x7506 else C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +007512 d007 BRA 0x7522 else C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c { C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c //Handle the DATA transfer C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -0074f8 d823 RCALL 0x7540 USBCtrlTrfOutHandler(); C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +007514 d823 RCALL 0x755c USBCtrlTrfOutHandler(); C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c } C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c } C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -0074fa d005 BRA 0x7506 else if((USTATcopy.Val & USTAT_EP0_PP_MASK) == USTAT_EP0_IN) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -0074fc 0efd MOVLW 0xfd -0074fe 15e8 ANDWF 0xe8,0x0,0x1 -007500 0804 SUBLW 0x4 -007502 e101 BNZ 0x7506 +007516 d005 BRA 0x7522 else if((USTATcopy.Val & USTAT_EP0_PP_MASK) == USTAT_EP0_IN) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +007518 0efd MOVLW 0xfd +00751a 15cd ANDWF 0xcd,0x0,0x1 +00751c 0804 SUBLW 0x4 +00751e e101 BNZ 0x7522 { C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c //Otherwise the transmission was and EP0 IN C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c // so take care of the IN transfer C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -007504 d82c RCALL 0x755e USBCtrlTrfInHandler(); C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +007520 d82c RCALL 0x757a USBCtrlTrfInHandler(); C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c } C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -007506 52e5 MOVF 0xe5,0x1,0x0 }//end USBCtrlEPService C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -007508 d16c BRA 0x77e2 +007522 52e5 MOVF 0xe5,0x1,0x0 }//end USBCtrlEPService C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +007524 d16c BRA 0x77fe C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c /******************************************************************** C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c * Function: void USBCtrlTrfSetupHandler(void) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c @@ -3738,13 +3738,13 @@ Address Value Disassembly Source //-------------------------------------------------------------------------- C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c //1. Re-initialize state tracking variables related to control transfers. C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c //-------------------------------------------------------------------------- C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -00750a 0101 MOVLB 0x1 shortPacketStatus = SHORT_PKT_NOT_USED; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -00750c 6bd6 CLRF 0xd6,0x1 -00750e 6bf2 CLRF 0xf2,0x1 USBDeferStatusStagePacket = FALSE; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -007510 6bf5 CLRF 0xf5,0x1 USBDeferINDataStagePackets = FALSE; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -007512 6bf6 CLRF 0xf6,0x1 USBDeferOUTDataStagePackets = FALSE; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -007514 6bea CLRF 0xea,0x1 BothEP0OutUOWNsSet = FALSE; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -007516 6bd7 CLRF 0xd7,0x1 controlTransferState = WAIT_SETUP; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +007526 0105 MOVLB 0x5 shortPacketStatus = SHORT_PKT_NOT_USED; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +007528 6bbb CLRF 0xbb,0x1 +00752a 6bd7 CLRF 0xd7,0x1 USBDeferStatusStagePacket = FALSE; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +00752c 6bda CLRF 0xda,0x1 USBDeferINDataStagePackets = FALSE; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +00752e 6bdb CLRF 0xdb,0x1 USBDeferOUTDataStagePackets = FALSE; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +007530 6bcf CLRF 0xcf,0x1 BothEP0OutUOWNsSet = FALSE; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +007532 6bbc CLRF 0xbc,0x1 controlTransferState = WAIT_SETUP; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c //Abandon any previous control transfers that might have been using EP0. C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c //Ordinarily, nothing actually needs abandoning, since the previous control C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c @@ -3753,30 +3753,30 @@ Address Value Disassembly Source //one or more UOWN bits might still be set. If so, we should clear the UOWN bits, C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c //so the EP0 IN/OUT endpoints are in a known inactive state, ready for re-arming C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c //by the class request handler that will be called next. C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -007518 d95a RCALL 0x77ce pBDTEntryIn[0]->STAT.Val &= ~(_USIE); C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -00751a 9eef BCF 0xef,0x7,0x0 -00751c 75d0 BTG 0xd0,0x2,0x1 ((BYTE_VAL*)&pBDTEntryIn[0])->Val ^= USB_NEXT_EP0_IN_PING_PONG; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -00751e d957 RCALL 0x77ce pBDTEntryIn[0]->STAT.Val &= ~(_USIE); C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -007520 9eef BCF 0xef,0x7,0x0 -007522 75d0 BTG 0xd0,0x2,0x1 ((BYTE_VAL*)&pBDTEntryIn[0])->Val ^= USB_NEXT_EP0_IN_PING_PONG; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -007524 d9e7 RCALL 0x78f4 pBDTEntryEP0OutNext->STAT.Val &= ~(_USIE); C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -007526 9eef BCF 0xef,0x7,0x0 +007534 d95a RCALL 0x77ea pBDTEntryIn[0]->STAT.Val &= ~(_USIE); C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +007536 9eef BCF 0xef,0x7,0x0 +007538 75b5 BTG 0xb5,0x2,0x1 ((BYTE_VAL*)&pBDTEntryIn[0])->Val ^= USB_NEXT_EP0_IN_PING_PONG; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +00753a d957 RCALL 0x77ea pBDTEntryIn[0]->STAT.Val &= ~(_USIE); C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +00753c 9eef BCF 0xef,0x7,0x0 +00753e 75b5 BTG 0xb5,0x2,0x1 ((BYTE_VAL*)&pBDTEntryIn[0])->Val ^= USB_NEXT_EP0_IN_PING_PONG; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +007540 d9e7 RCALL 0x7910 pBDTEntryEP0OutNext->STAT.Val &= ~(_USIE); C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +007542 9eef BCF 0xef,0x7,0x0 C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -007528 6bda CLRF 0xda,0x1 inPipes[0].info.Val = 0; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -00752a 6bdb CLRF 0xdb,0x1 inPipes[0].wCount.Val = 0; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -00752c 6bdc CLRF 0xdc,0x1 -00752e 6bdf CLRF 0xdf,0x1 outPipes[0].info.Val = 0; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -007530 6be0 CLRF 0xe0,0x1 outPipes[0].wCount.Val = 0; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -007532 6be1 CLRF 0xe1,0x1 +007544 6bbf CLRF 0xbf,0x1 inPipes[0].info.Val = 0; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +007546 6bc0 CLRF 0xc0,0x1 inPipes[0].wCount.Val = 0; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +007548 6bc1 CLRF 0xc1,0x1 +00754a 6bc4 CLRF 0xc4,0x1 outPipes[0].info.Val = 0; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +00754c 6bc5 CLRF 0xc5,0x1 outPipes[0].wCount.Val = 0; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +00754e 6bc6 CLRF 0xc6,0x1 C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c //-------------------------------------------------------------------------- C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c //2. Now find out what was in the SETUP packet, and begin handling the request. C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c //-------------------------------------------------------------------------- C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -007534 d851 RCALL 0x75d8 USBCheckStdRequest(); //Check for standard USB "Chapter 9" requests. C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -007536 d9a6 RCALL 0x7884 USB_NONSTANDARD_EP0_REQUEST_HANDLER(EVENT_EP0_REQUEST,0,0); //Check for USB device class specific requests C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -007538 0e03 MOVLW 0x3 -00753a d940 RCALL 0x77bc +007550 d851 RCALL 0x75f4 USBCheckStdRequest(); //Check for standard USB "Chapter 9" requests. C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +007552 d9a6 RCALL 0x78a0 USB_NONSTANDARD_EP0_REQUEST_HANDLER(EVENT_EP0_REQUEST,0,0); //Check for USB device class specific requests C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +007554 0e03 MOVLW 0x3 +007556 d940 RCALL 0x77d8 C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c //-------------------------------------------------------------------------- C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c @@ -3789,8 +3789,8 @@ Address Value Disassembly Source // process the request. In this case, the default behavior will be to C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c // perform protocol STALL on EP0. C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c //-------------------------------------------------------------------------- C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -00753c ef7a GOTO 0x70f4 USBCtrlEPServiceComplete(); C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -00753e f038 +007558 ef88 GOTO 0x7110 USBCtrlEPServiceComplete(); C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +00755a f038 }//end USBCtrlTrfSetupHandler C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c @@ -3816,58 +3816,58 @@ Address Value Disassembly Source *****************************************************************************/ C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c static void USBCtrlTrfOutHandler(void) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c { C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -007540 0e02 MOVLW 0x2 if(controlTransferState == CTRL_TRF_RX) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -007542 0101 MOVLB 0x1 -007544 5dd7 SUBWF 0xd7,0x0,0x1 -007546 e102 BNZ 0x754c +00755c 0e02 MOVLW 0x2 if(controlTransferState == CTRL_TRF_RX) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +00755e 0105 MOVLB 0x5 +007560 5dbc SUBWF 0xbc,0x0,0x1 +007562 e102 BNZ 0x7568 { C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -007548 efe7 GOTO 0x71ce USBCtrlTrfRxService(); //Copies the newly received data into the appropriate buffer and configures EP0 OUT for next transaction. C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -00754a f038 +007564 eff5 GOTO 0x71ea USBCtrlTrfRxService(); //Copies the newly received data into the appropriate buffer and configures EP0 OUT for next transaction. C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +007566 f038 } C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c else //In this case the last OUT transaction must have been a status stage of a CTRL_TRF_TX (... <-- this last OUT just occurred as the status stage) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c { C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c //If the status stage is complete, this means we are done with the C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c //control transfer. Go back to the idle "WAIT_SETUP" state. C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -00754c 6bd7 CLRF 0xd7,0x1 controlTransferState = WAIT_SETUP; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +007568 6bbc CLRF 0xbc,0x1 controlTransferState = WAIT_SETUP; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c //Prepare EP0 OUT for the next SETUP transaction, however, it may have C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c //already been prepared if ping-pong buffering was enabled on EP0 OUT, C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c //and the last control transfer was of direction: device to host, see C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c //USBCtrlEPServiceComplete(). If it was already prepared, do not want C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c //to do anything to the BDT. C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -00754e 51ea MOVF 0xea,0x0,0x1 if(BothEP0OutUOWNsSet == FALSE) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -007550 e104 BNZ 0x755a +00756a 51cf MOVF 0xcf,0x0,0x1 if(BothEP0OutUOWNsSet == FALSE) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +00756c e104 BNZ 0x7576 { C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -007552 d92b RCALL 0x77aa pBDTEntryEP0OutNext->CNT = USB_EP0_BUFF_SIZE; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -0077aa d910 RCALL 0x79cc -0078f4 c1c8 MOVFF 0x1c8,0xfe9 -0078f6 ffe9 -0078f8 c1c9 MOVFF 0x1c9,0xfea -0078fa ffea -0078fc 0012 RETURN 0x0 -0077ac d8b4 RCALL 0x7916 pBDTEntryEP0OutNext->ADR = ConvertToPhysicalAddress(&SetupPkt); C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -007916 d860 RCALL 0x79d8 -007918 0e30 MOVLW 0x30 -00791a 6eee MOVWF 0xee,0x0 -00791c 0e04 MOVLW 0x4 -00791e 6eed MOVWF 0xed,0x0 -007920 0012 RETURN 0x0 -0079d8 0e02 MOVLW 0x2 -0079da 26e9 ADDWF 0xe9,0x1,0x0 -0079dc 0e00 MOVLW 0x0 -0079de 22ea ADDWFC 0xea,0x1,0x0 -0079e0 0012 RETURN 0x0 -007554 0e8c MOVLW 0x8c pBDTEntryEP0OutNext->STAT.Val = _USIE|_DAT0|(_DTSEN & _DTS_CHECKING_ENABLED)|_BSTALL; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -007556 6eef MOVWF 0xef,0x0 -0077ae ef7a GOTO 0x78f4 -0077b0 f03c +00756e d92b RCALL 0x77c6 pBDTEntryEP0OutNext->CNT = USB_EP0_BUFF_SIZE; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +0077c6 d910 RCALL 0x79e8 +007910 c5ad MOVFF 0x5ad,0xfe9 +007912 ffe9 +007914 c5ae MOVFF 0x5ae,0xfea +007916 ffea +007918 0012 RETURN 0x0 +0077c8 d8b4 RCALL 0x7932 pBDTEntryEP0OutNext->ADR = ConvertToPhysicalAddress(&SetupPkt); C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +007932 d860 RCALL 0x79f4 +007934 0e30 MOVLW 0x30 +007936 6eee MOVWF 0xee,0x0 +007938 0e04 MOVLW 0x4 +00793a 6eed MOVWF 0xed,0x0 +00793c 0012 RETURN 0x0 +0079f4 0e02 MOVLW 0x2 +0079f6 26e9 ADDWF 0xe9,0x1,0x0 +0079f8 0e00 MOVLW 0x0 +0079fa 22ea ADDWFC 0xea,0x1,0x0 +0079fc 0012 RETURN 0x0 +007570 0e8c MOVLW 0x8c pBDTEntryEP0OutNext->STAT.Val = _USIE|_DAT0|(_DTSEN & _DTS_CHECKING_ENABLED)|_BSTALL; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +007572 6eef MOVWF 0xef,0x0 +0077ca ef88 GOTO 0x7910 +0077cc f03c } C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -007558 0012 RETURN 0x0 else C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +007574 0012 RETURN 0x0 else C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c { C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -00755a 6bea CLRF 0xea,0x1 BothEP0OutUOWNsSet = FALSE; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +007576 6bcf CLRF 0xcf,0x1 BothEP0OutUOWNsSet = FALSE; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c } C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c } C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -00755c 0012 RETURN 0x0 } C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +007578 0012 RETURN 0x0 } C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c /****************************************************************************** C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c * Function: void USBCtrlTrfInHandler(void) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c @@ -3892,133 +3892,133 @@ Address Value Disassembly Source * usb9.h and its function is to specifically service this C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c * event. C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c *****************************************************************************/ C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -00755e da10 RCALL 0x7980 static void USBCtrlTrfInHandler(void) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -0077d8 cfd9 MOVFF 0xfd9,0xfe6 -0077da ffe6 -0077dc cfe1 MOVFF 0xfe1,0xfd9 -0077de ffd9 -0077e0 0012 RETURN 0x0 -007980 df2b RCALL 0x77d8 -007982 52e6 MOVF 0xe6,0x1,0x0 -007984 0012 RETURN 0x0 +00757a da10 RCALL 0x799c static void USBCtrlTrfInHandler(void) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +0077f4 cfd9 MOVFF 0xfd9,0xfe6 +0077f6 ffe6 +0077f8 cfe1 MOVFF 0xfe1,0xfd9 +0077fa ffd9 +0077fc 0012 RETURN 0x0 +00799c df2b RCALL 0x77f4 +00799e 52e6 MOVF 0xe6,0x1,0x0 +0079a0 0012 RETURN 0x0 { C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c BYTE lastDTS; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -007560 d936 RCALL 0x77ce lastDTS = pBDTEntryIn[0]->STAT.DTS; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -007562 50ef MOVF 0xef,0x0,0x0 -007564 0b40 ANDLW 0x40 -007566 e001 BZ 0x756a -007568 0e01 MOVLW 0x1 -00756a 6edf MOVWF 0xdf,0x0 +00757c d936 RCALL 0x77ea lastDTS = pBDTEntryIn[0]->STAT.DTS; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +00757e 50ef MOVF 0xef,0x0,0x0 +007580 0b40 ANDLW 0x40 +007582 e001 BZ 0x7586 +007584 0e01 MOVLW 0x1 +007586 6edf MOVWF 0xdf,0x0 C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c //switch to the next ping pong buffer C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -00756c 0101 MOVLB 0x1 ((BYTE_VAL*)&pBDTEntryIn[0])->Val ^= USB_NEXT_EP0_IN_PING_PONG; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -00756e 75d0 BTG 0xd0,0x2,0x1 +007588 0105 MOVLB 0x5 ((BYTE_VAL*)&pBDTEntryIn[0])->Val ^= USB_NEXT_EP0_IN_PING_PONG; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +00758a 75b5 BTG 0xb5,0x2,0x1 C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c //Must check if in ADR_PENDING_STATE. If so, we need to update the address C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c //now, since the IN status stage of the (set address) control transfer has C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c //evidently completed successfully. C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -007570 0e08 MOVLW 0x8 if(USBDeviceState == ADR_PENDING_STATE) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -007572 5dc3 SUBWF 0xc3,0x0,0x1 -007574 e10b BNZ 0x758c +00758c 0e08 MOVLW 0x8 if(USBDeviceState == ADR_PENDING_STATE) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +00758e 5da8 SUBWF 0xa8,0x0,0x1 +007590 e10b BNZ 0x75a8 { C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -007576 c432 MOVFF 0x432,0xf38 U1ADDR = SetupPkt.bDevADR.Val; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -007578 ff38 -00757a 010f MOVLB 0xf if(U1ADDR != 0u) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -00757c 5138 MOVF 0x38,0x0,0x1 -00757e e003 BZ 0x7586 +007592 c432 MOVFF 0x432,0xf38 U1ADDR = SetupPkt.bDevADR.Val; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +007594 ff38 +007596 010f MOVLB 0xf if(U1ADDR != 0u) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +007598 5138 MOVF 0x38,0x0,0x1 +00759a e003 BZ 0x75a2 { C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -007580 0101 MOVLB 0x1 USBDeviceState=ADDRESS_STATE; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -007582 0e10 MOVLW 0x10 +00759c 0105 MOVLB 0x5 USBDeviceState=ADDRESS_STATE; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +00759e 0e10 MOVLW 0x10 } C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -007584 d002 BRA 0x758a else C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +0075a0 d002 BRA 0x75a6 else C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c { C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -007586 0101 MOVLB 0x1 USBDeviceState=DEFAULT_STATE; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -007588 0e04 MOVLW 0x4 -00758a 6fc3 MOVWF 0xc3,0x1 +0075a2 0105 MOVLB 0x5 USBDeviceState=DEFAULT_STATE; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +0075a4 0e04 MOVLW 0x4 +0075a6 6fa8 MOVWF 0xa8,0x1 } C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c }//end if C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -00758c 05d7 DECF 0xd7,0x0,0x1 if(controlTransferState == CTRL_TRF_TX) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -00758e e113 BNZ 0x75b6 +0075a8 05bc DECF 0xbc,0x0,0x1 if(controlTransferState == CTRL_TRF_TX) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +0075aa e113 BNZ 0x75d2 { C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -007590 d91e RCALL 0x77ce pBDTEntryIn[0]->ADR = ConvertToPhysicalAddress(CtrlTrfData); C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -007592 d938 RCALL 0x7804 -007804 d8e9 RCALL 0x79d8 -007806 0e38 MOVLW 0x38 -007808 6eee MOVWF 0xee,0x0 -00780a 0e04 MOVLW 0x4 -00780c 6eed MOVWF 0xed,0x0 -00780e 0012 RETURN 0x0 -007594 dddc RCALL 0x714e USBCtrlTrfTxService(); C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +0075ac d91e RCALL 0x77ea pBDTEntryIn[0]->ADR = ConvertToPhysicalAddress(CtrlTrfData); C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +0075ae d938 RCALL 0x7820 +007820 d8e9 RCALL 0x79f4 +007822 0e38 MOVLW 0x38 +007824 6eee MOVWF 0xee,0x0 +007826 0e04 MOVLW 0x4 +007828 6eed MOVWF 0xed,0x0 +00782a 0012 RETURN 0x0 +0075b0 dddc RCALL 0x716a USBCtrlTrfTxService(); C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c //Check if we have already sent a short packet. If so, configure C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c //the endpoint to STALL in response to any further IN tokens (in the C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c //case that the host erroneously tries to receive more data than it C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c //should). C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -007596 0e02 MOVLW 0x2 if(shortPacketStatus == SHORT_PKT_SENT) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -007598 0101 MOVLB 0x1 -00759a 5dd6 SUBWF 0xd6,0x0,0x1 -00759c e103 BNZ 0x75a4 +0075b2 0e02 MOVLW 0x2 if(shortPacketStatus == SHORT_PKT_SENT) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +0075b4 0105 MOVLB 0x5 +0075b6 5dbb SUBWF 0xbb,0x0,0x1 +0075b8 e103 BNZ 0x75c0 { C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c // If a short packet has been sent, don't want to send any more, C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c // stall next time if host is still trying to read. C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -00759e d917 RCALL 0x77ce pBDTEntryIn[0]->STAT.Val = _USIE|_BSTALL; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -0075a0 0e84 MOVLW 0x84 -0077ce c1d0 MOVFF 0x1d0,0xfe9 -0077d0 ffe9 -0077d2 c1d1 MOVFF 0x1d1,0xfea -0077d4 ffea -0077d6 0012 RETURN 0x0 +0075ba d917 RCALL 0x77ea pBDTEntryIn[0]->STAT.Val = _USIE|_BSTALL; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +0075bc 0e84 MOVLW 0x84 +0077ea c5b5 MOVFF 0x5b5,0xfe9 +0077ec ffe9 +0077ee c5b6 MOVFF 0x5b6,0xfea +0077f0 ffea +0077f2 0012 RETURN 0x0 } C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -0075a2 d007 BRA 0x75b2 else C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +0075be d007 BRA 0x75ce else C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c { C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -0075a4 50df MOVF 0xdf,0x0,0x0 if(lastDTS == 0u) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -0075a6 e103 BNZ 0x75ae +0075c0 50df MOVF 0xdf,0x0,0x0 if(lastDTS == 0u) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +0075c2 e103 BNZ 0x75ca { C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -0075a8 d912 RCALL 0x77ce pBDTEntryIn[0]->STAT.Val = _USIE|_DAT1|(_DTSEN & _DTS_CHECKING_ENABLED); C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -0075aa 0ec8 MOVLW 0xc8 +0075c4 d912 RCALL 0x77ea pBDTEntryIn[0]->STAT.Val = _USIE|_DAT1|(_DTSEN & _DTS_CHECKING_ENABLED); C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +0075c6 0ec8 MOVLW 0xc8 } C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -0075ac d002 BRA 0x75b2 else C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +0075c8 d002 BRA 0x75ce else C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c { C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -0075ae d90f RCALL 0x77ce pBDTEntryIn[0]->STAT.Val = _USIE|_DAT0|(_DTSEN & _DTS_CHECKING_ENABLED); C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -0075b0 0e88 MOVLW 0x88 -0075b2 6eef MOVWF 0xef,0x0 +0075ca d90f RCALL 0x77ea pBDTEntryIn[0]->STAT.Val = _USIE|_DAT0|(_DTSEN & _DTS_CHECKING_ENABLED); C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +0075cc 0e88 MOVLW 0x88 +0075ce 6eef MOVWF 0xef,0x0 } C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c }//end if(...)else C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c } C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -0075b4 d00f BRA 0x75d4 else // must have been a CTRL_TRF_RX status stage IN packet (... <-- this last IN just occurred as the status stage) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +0075d0 d00f BRA 0x75f0 else // must have been a CTRL_TRF_RX status stage IN packet (... <-- this last IN just occurred as the status stage) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c { C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c //if someone is still expecting data from the control transfer C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c // then make sure to terminate that request and let them know that C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c // they are done C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -0075b6 afdf BTFSS 0xdf,0x7,0x1 if(outPipes[0].info.bits.busy == 1u) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -0075b8 d00c BRA 0x75d2 +0075d2 afc4 BTFSS 0xc4,0x7,0x1 if(outPipes[0].info.bits.busy == 1u) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +0075d4 d00c BRA 0x75ee { C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -0075ba 51e2 MOVF 0xe2,0x0,0x1 if(outPipes[0].pFunc != NULL) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -0075bc 11e3 IORWF 0xe3,0x0,0x1 -0075be e007 BZ 0x75ce +0075d6 51c7 MOVF 0xc7,0x0,0x1 if(outPipes[0].pFunc != NULL) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +0075d8 11c8 IORWF 0xc8,0x0,0x1 +0075da e007 BZ 0x75ea { C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -0075c0 d005 BRA 0x75cc outPipes[0].pFunc(); C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -0075c2 c1e3 MOVFF 0x1e3,0xffa -0075c4 fffa -0075c6 0101 MOVLB 0x1 -0075c8 51e2 MOVF 0xe2,0x0,0x1 -0075ca 6ef9 MOVWF 0xf9,0x0 -0075cc dffa RCALL 0x75c2 +0075dc d005 BRA 0x75e8 outPipes[0].pFunc(); C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +0075de c5c8 MOVFF 0x5c8,0xffa +0075e0 fffa +0075e2 0105 MOVLB 0x5 +0075e4 51c7 MOVF 0xc7,0x0,0x1 +0075e6 6ef9 MOVWF 0xf9,0x0 +0075e8 dffa RCALL 0x75de } C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -0075ce 0101 MOVLB 0x1 outPipes[0].info.bits.busy = 0; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -0075d0 9fdf BCF 0xdf,0x7,0x1 +0075ea 0105 MOVLB 0x5 outPipes[0].info.bits.busy = 0; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +0075ec 9fc4 BCF 0xc4,0x7,0x1 } C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -0075d2 6bd7 CLRF 0xd7,0x1 controlTransferState = WAIT_SETUP; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +0075ee 6bbc CLRF 0xbc,0x1 controlTransferState = WAIT_SETUP; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c //Don't need to arm EP0 OUT here. It was already armed by the last that C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c //got processed by the USBCtrlTrfRxService() handler. C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c } C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -0075d4 52e5 MOVF 0xe5,0x1,0x0 } C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -0075d6 d105 BRA 0x77e2 +0075f0 52e5 MOVF 0xe5,0x1,0x0 } C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +0075f2 d105 BRA 0x77fe C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c /******************************************************************** C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c @@ -4039,121 +4039,121 @@ Address Value Disassembly Source *******************************************************************/ C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c static void USBCheckStdRequest(void) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c { C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -0075d8 0104 MOVLB 0x4 if(SetupPkt.RequestType != USB_SETUP_TYPE_STANDARD_BITFIELD) return; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -0075da 5130 MOVF 0x30,0x0,0x1 -0075dc 0b60 ANDLW 0x60 -0075de 42e8 RRNCF 0xe8,0x1,0x0 -0075e0 42e8 RRNCF 0xe8,0x1,0x0 -0075e2 42e8 RRNCF 0xe8,0x1,0x0 -0075e4 42e8 RRNCF 0xe8,0x1,0x0 -0075e6 42e8 RRNCF 0xe8,0x1,0x0 -0075e8 0900 IORLW 0x0 -0075ea e001 BZ 0x75ee -0075ec 0012 RETURN 0x0 +0075f4 0104 MOVLB 0x4 if(SetupPkt.RequestType != USB_SETUP_TYPE_STANDARD_BITFIELD) return; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +0075f6 5130 MOVF 0x30,0x0,0x1 +0075f8 0b60 ANDLW 0x60 +0075fa 42e8 RRNCF 0xe8,0x1,0x0 +0075fc 42e8 RRNCF 0xe8,0x1,0x0 +0075fe 42e8 RRNCF 0xe8,0x1,0x0 +007600 42e8 RRNCF 0xe8,0x1,0x0 +007602 42e8 RRNCF 0xe8,0x1,0x0 +007604 0900 IORLW 0x0 +007606 e001 BZ 0x760a +007608 0012 RETURN 0x0 C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -0075ee 5131 MOVF 0x31,0x0,0x1 switch(SetupPkt.bRequest) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -0075f0 0a0c XORLW 0xc -0075f2 e045 BZ 0x767e -0075f4 0a0b XORLW 0xb -0075f6 e03f BZ 0x7676 -0075f8 0a0c XORLW 0xc -0075fa e031 BZ 0x765e -0075fc 0a01 XORLW 0x1 -0075fe e022 BZ 0x7644 -007600 0a0b XORLW 0xb -007602 e01e BZ 0x7640 -007604 0a02 XORLW 0x2 -007606 e01c BZ 0x7640 -007608 0a03 XORLW 0x3 -00760a e018 BZ 0x763c -00760c 0a08 XORLW 0x8 -00760e e010 BZ 0x7630 -007610 0a01 XORLW 0x1 -007612 e00c BZ 0x762c -007614 0a0f XORLW 0xf -007616 e008 BZ 0x7628 -007618 0a03 XORLW 0x3 -00761a e001 BZ 0x761e -00761c 0012 RETURN 0x0 +00760a 5131 MOVF 0x31,0x0,0x1 switch(SetupPkt.bRequest) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +00760c 0a0c XORLW 0xc +00760e e045 BZ 0x769a +007610 0a0b XORLW 0xb +007612 e03f BZ 0x7692 +007614 0a0c XORLW 0xc +007616 e031 BZ 0x767a +007618 0a01 XORLW 0x1 +00761a e022 BZ 0x7660 +00761c 0a0b XORLW 0xb +00761e e01e BZ 0x765c +007620 0a02 XORLW 0x2 +007622 e01c BZ 0x765c +007624 0a03 XORLW 0x3 +007626 e018 BZ 0x7658 +007628 0a08 XORLW 0x8 +00762a e010 BZ 0x764c +00762c 0a01 XORLW 0x1 +00762e e00c BZ 0x7648 +007630 0a0f XORLW 0xf +007632 e008 BZ 0x7644 +007634 0a03 XORLW 0x3 +007636 e001 BZ 0x763a +007638 0012 RETURN 0x0 { C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c case USB_REQUEST_SET_ADDRESS: C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -00761e 0101 MOVLB 0x1 inPipes[0].info.bits.busy = 1; // This will generate a zero length packet C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -007620 8fda BSF 0xda,0x7,0x1 -007622 0e08 MOVLW 0x8 USBDeviceState = ADR_PENDING_STATE; // Update state only C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -007624 6fc3 MOVWF 0xc3,0x1 +00763a 0105 MOVLB 0x5 inPipes[0].info.bits.busy = 1; // This will generate a zero length packet C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +00763c 8fbf BSF 0xbf,0x7,0x1 +00763e 0e08 MOVLW 0x8 USBDeviceState = ADR_PENDING_STATE; // Update state only C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +007640 6fa8 MOVWF 0xa8,0x1 /* See USBCtrlTrfInHandler() for the next step */ C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -007626 0012 RETURN 0x0 break; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +007642 0012 RETURN 0x0 break; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c case USB_REQUEST_GET_DESCRIPTOR: C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -007628 ef87 GOTO 0x730e USBStdGetDscHandler(); C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -00762a f039 +007644 ef95 GOTO 0x732a USBStdGetDscHandler(); C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +007646 f039 break; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c case USB_REQUEST_SET_CONFIGURATION: C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -00762c ef4b GOTO 0x7296 USBStdSetCfgHandler(); C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -00762e f039 +007648 ef59 GOTO 0x72b2 USBStdSetCfgHandler(); C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +00764a f039 break; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c case USB_REQUEST_GET_CONFIGURATION: C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -007630 0101 MOVLB 0x1 inPipes[0].pSrc.bRam = (BYTE*)&USBActiveConfiguration; // Set Source C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -007632 0ec4 MOVLW 0xc4 -007634 6fd8 MOVWF 0xd8,0x1 -007636 0e01 MOVLW 0x1 -007638 6fd9 MOVWF 0xd9,0x1 +00764c 0105 MOVLB 0x5 inPipes[0].pSrc.bRam = (BYTE*)&USBActiveConfiguration; // Set Source C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +00764e 0ea9 MOVLW 0xa9 +007650 6fbd MOVWF 0xbd,0x1 +007652 0e05 MOVLW 0x5 +007654 6fbe MOVWF 0xbe,0x1 inPipes[0].info.bits.ctrl_trf_mem = USB_EP0_RAM; // Set memory type C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c inPipes[0].wCount.v[0] = 1; // Set data count C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c inPipes[0].info.bits.busy = 1; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -00763a d00c BRA 0x7654 break; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +007656 d00c BRA 0x7670 break; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c case USB_REQUEST_GET_STATUS: C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -00763c efda GOTO 0x73b4 USBStdGetStatusHandler(); C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -00763e f039 +007658 efe8 GOTO 0x73d0 USBStdGetStatusHandler(); C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +00765a f039 break; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c case USB_REQUEST_CLEAR_FEATURE: C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c case USB_REQUEST_SET_FEATURE: C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -007640 ef40 GOTO 0x7680 USBStdFeatureReqHandler(); C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -007642 f03b +00765c ef4e GOTO 0x769c USBStdFeatureReqHandler(); C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +00765e f03b break; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c case USB_REQUEST_GET_INTERFACE: C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -007644 5134 MOVF 0x34,0x0,0x1 inPipes[0].pSrc.bRam = (BYTE*)&USBAlternateInterface[SetupPkt.bIntfID]; // Set source C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -007646 0101 MOVLB 0x1 -007648 6fd8 MOVWF 0xd8,0x1 -00764a 6bd9 CLRF 0xd9,0x1 -00764c 0ec5 MOVLW 0xc5 -00764e 27d8 ADDWF 0xd8,0x1,0x1 -007650 0e01 MOVLW 0x1 -007652 23d9 ADDWFC 0xd9,0x1,0x1 -007654 81da BSF 0xda,0x0,0x1 inPipes[0].info.bits.ctrl_trf_mem = USB_EP0_RAM; // Set memory type C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -007656 0e01 MOVLW 0x1 inPipes[0].wCount.v[0] = 1; // Set data count C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -007658 6fdb MOVWF 0xdb,0x1 -00765a 8fda BSF 0xda,0x7,0x1 inPipes[0].info.bits.busy = 1; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -00765c 0012 RETURN 0x0 break; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +007660 5134 MOVF 0x34,0x0,0x1 inPipes[0].pSrc.bRam = (BYTE*)&USBAlternateInterface[SetupPkt.bIntfID]; // Set source C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +007662 0105 MOVLB 0x5 +007664 6fbd MOVWF 0xbd,0x1 +007666 6bbe CLRF 0xbe,0x1 +007668 0eaa MOVLW 0xaa +00766a 27bd ADDWF 0xbd,0x1,0x1 +00766c 0e05 MOVLW 0x5 +00766e 23be ADDWFC 0xbe,0x1,0x1 +007670 81bf BSF 0xbf,0x0,0x1 inPipes[0].info.bits.ctrl_trf_mem = USB_EP0_RAM; // Set memory type C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +007672 0e01 MOVLW 0x1 inPipes[0].wCount.v[0] = 1; // Set data count C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +007674 6fc0 MOVWF 0xc0,0x1 +007676 8fbf BSF 0xbf,0x7,0x1 inPipes[0].info.bits.busy = 1; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +007678 0012 RETURN 0x0 break; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c case USB_REQUEST_SET_INTERFACE: C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -00765e 0101 MOVLB 0x1 inPipes[0].info.bits.busy = 1; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -007660 8fda BSF 0xda,0x7,0x1 -007662 0104 MOVLB 0x4 USBAlternateInterface[SetupPkt.bIntfID] = SetupPkt.bAltID; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -007664 5134 MOVF 0x34,0x0,0x1 -007666 6aea CLRF 0xea,0x0 -007668 0fc5 ADDLW 0xc5 -00766a 6ee9 MOVWF 0xe9,0x0 -00766c 0e01 MOVLW 0x1 -00766e 22ea ADDWFC 0xea,0x1,0x0 -007670 c432 MOVFF 0x432,0xfef -007672 ffef -007674 0012 RETURN 0x0 break; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +00767a 0105 MOVLB 0x5 inPipes[0].info.bits.busy = 1; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +00767c 8fbf BSF 0xbf,0x7,0x1 +00767e 0104 MOVLB 0x4 USBAlternateInterface[SetupPkt.bIntfID] = SetupPkt.bAltID; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +007680 5134 MOVF 0x34,0x0,0x1 +007682 6aea CLRF 0xea,0x0 +007684 0faa ADDLW 0xaa +007686 6ee9 MOVWF 0xe9,0x0 +007688 0e05 MOVLW 0x5 +00768a 22ea ADDWFC 0xea,0x1,0x0 +00768c c432 MOVFF 0x432,0xfef +00768e ffef +007690 0012 RETURN 0x0 break; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c case USB_REQUEST_SET_DESCRIPTOR: C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -007676 d906 RCALL 0x7884 USB_SET_DESCRIPTOR_HANDLER(EVENT_SET_DESCRIPTOR,0,0); C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -007678 0e02 MOVLW 0x2 -00767a efde GOTO 0x77bc -00767c f03b -007884 0e00 MOVLW 0x0 -007886 6ee6 MOVWF 0xe6,0x0 -007888 6ae6 CLRF 0xe6,0x0 -00788a 6ee6 MOVWF 0xe6,0x0 -00788c 6ae6 CLRF 0xe6,0x0 -00788e 0012 RETURN 0x0 +007692 d906 RCALL 0x78a0 USB_SET_DESCRIPTOR_HANDLER(EVENT_SET_DESCRIPTOR,0,0); C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +007694 0e02 MOVLW 0x2 +007696 efec GOTO 0x77d8 +007698 f03b +0078a0 0e00 MOVLW 0x0 +0078a2 6ee6 MOVWF 0xe6,0x0 +0078a4 6ae6 CLRF 0xe6,0x0 +0078a6 6ee6 MOVWF 0xe6,0x0 +0078a8 6ae6 CLRF 0xe6,0x0 +0078aa 0012 RETURN 0x0 break; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c case USB_REQUEST_SYNCH_FRAME: C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c default: C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c break; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c }//end switch C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -00767e 0012 RETURN 0x0 }//end USBCheckStdRequest C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +00769a 0012 RETURN 0x0 }//end USBCheckStdRequest C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c /******************************************************************** C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c * Function: void USBStdFeatureReqHandler(void) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c @@ -4174,9 +4174,9 @@ Address Value Disassembly Source * use by the USB stack, when processing SET/CLEAR C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c * feature requests. C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c *******************************************************************/ C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -007680 d8ab RCALL 0x77d8 static void USBStdFeatureReqHandler(void) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -007682 0e05 MOVLW 0x5 -007684 26e1 ADDWF 0xe1,0x1,0x0 +00769c d8ab RCALL 0x77f4 static void USBStdFeatureReqHandler(void) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +00769e 0e05 MOVLW 0x5 +0076a0 26e1 ADDWF 0xe1,0x1,0x0 { C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c BDT_ENTRY *p; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c EP_STATUS current_ep_data; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c @@ -4221,275 +4221,275 @@ Address Value Disassembly Source #endif //#ifdef USB_SUPPORT_OTG C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c //Check if the host sent a valid SET or CLEAR feature (remote wakeup) request. C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -007686 0104 MOVLB 0x4 if((SetupPkt.bFeature == USB_FEATURE_DEVICE_REMOTE_WAKEUP)&& C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -007688 0532 DECF 0x32,0x0,0x1 -00768a e110 BNZ 0x76ac (SetupPkt.Recipient == USB_SETUP_RECIPIENT_DEVICE_BITFIELD)) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -00768c 5130 MOVF 0x30,0x0,0x1 -00768e 0b1f ANDLW 0x1f -007690 0900 IORLW 0x0 -007692 e10c BNZ 0x76ac +0076a2 0104 MOVLB 0x4 if((SetupPkt.bFeature == USB_FEATURE_DEVICE_REMOTE_WAKEUP)&& C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +0076a4 0532 DECF 0x32,0x0,0x1 +0076a6 e110 BNZ 0x76c8 (SetupPkt.Recipient == USB_SETUP_RECIPIENT_DEVICE_BITFIELD)) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +0076a8 5130 MOVF 0x30,0x0,0x1 +0076aa 0b1f ANDLW 0x1f +0076ac 0900 IORLW 0x0 +0076ae e10c BNZ 0x76c8 { C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -007694 0101 MOVLB 0x1 inPipes[0].info.bits.busy = 1; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -007696 8fda BSF 0xda,0x7,0x1 -007698 0e03 MOVLW 0x3 if(SetupPkt.bRequest == USB_REQUEST_SET_FEATURE) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -00769a 0104 MOVLB 0x4 -00769c 5d31 SUBWF 0x31,0x0,0x1 -00769e e104 BNZ 0x76a8 -0076a0 0101 MOVLB 0x1 RemoteWakeup = TRUE; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -0076a2 0e01 MOVLW 0x1 -0076a4 6fe6 MOVWF 0xe6,0x1 -0076a6 d002 BRA 0x76ac else C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -0076a8 0101 MOVLB 0x1 RemoteWakeup = FALSE; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -0076aa 6be6 CLRF 0xe6,0x1 +0076b0 0105 MOVLB 0x5 inPipes[0].info.bits.busy = 1; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +0076b2 8fbf BSF 0xbf,0x7,0x1 +0076b4 0e03 MOVLW 0x3 if(SetupPkt.bRequest == USB_REQUEST_SET_FEATURE) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +0076b6 0104 MOVLB 0x4 +0076b8 5d31 SUBWF 0x31,0x0,0x1 +0076ba e104 BNZ 0x76c4 +0076bc 0105 MOVLB 0x5 RemoteWakeup = TRUE; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +0076be 0e01 MOVLW 0x1 +0076c0 6fcb MOVWF 0xcb,0x1 +0076c2 d002 BRA 0x76c8 else C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +0076c4 0105 MOVLB 0x5 RemoteWakeup = FALSE; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +0076c6 6bcb CLRF 0xcb,0x1 }//end if C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c //Check if the host sent a valid SET or CLEAR endpoint halt request. C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -0076ac 0104 MOVLB 0x4 if((SetupPkt.bFeature == USB_FEATURE_ENDPOINT_HALT)&& C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -0076ae 5132 MOVF 0x32,0x0,0x1 -0076b0 e001 BZ 0x76b4 (SetupPkt.Recipient == USB_SETUP_RECIPIENT_ENDPOINT_BITFIELD)&& C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -0076b2 d074 BRA 0x779c -0076b4 5130 MOVF 0x30,0x0,0x1 -0076b6 0b1f ANDLW 0x1f -0076b8 0802 SUBLW 0x2 -0076ba e170 BNZ 0x779c -0076bc 5134 MOVF 0x34,0x0,0x1 (SetupPkt.EPNum != 0u) && (SetupPkt.EPNum <= USB_MAX_EP_NUMBER)&& C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -0076be 0b0f ANDLW 0xf -0076c0 0900 IORLW 0x0 -0076c2 e06c BZ 0x779c -0076c4 5134 MOVF 0x34,0x0,0x1 -0076c6 0b0f ANDLW 0xf -0076c8 0802 SUBLW 0x2 -0076ca e368 BNC 0x779c -0076cc 0e20 MOVLW 0x20 (USBDeviceState == CONFIGURED_STATE)) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -0076ce 0101 MOVLB 0x1 -0076d0 5dc3 SUBWF 0xc3,0x0,0x1 -0076d2 e164 BNZ 0x779c +0076c8 0104 MOVLB 0x4 if((SetupPkt.bFeature == USB_FEATURE_ENDPOINT_HALT)&& C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +0076ca 5132 MOVF 0x32,0x0,0x1 +0076cc e001 BZ 0x76d0 (SetupPkt.Recipient == USB_SETUP_RECIPIENT_ENDPOINT_BITFIELD)&& C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +0076ce d074 BRA 0x77b8 +0076d0 5130 MOVF 0x30,0x0,0x1 +0076d2 0b1f ANDLW 0x1f +0076d4 0802 SUBLW 0x2 +0076d6 e170 BNZ 0x77b8 +0076d8 5134 MOVF 0x34,0x0,0x1 (SetupPkt.EPNum != 0u) && (SetupPkt.EPNum <= USB_MAX_EP_NUMBER)&& C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +0076da 0b0f ANDLW 0xf +0076dc 0900 IORLW 0x0 +0076de e06c BZ 0x77b8 +0076e0 5134 MOVF 0x34,0x0,0x1 +0076e2 0b0f ANDLW 0xf +0076e4 0802 SUBLW 0x2 +0076e6 e368 BNC 0x77b8 +0076e8 0e20 MOVLW 0x20 (USBDeviceState == CONFIGURED_STATE)) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +0076ea 0105 MOVLB 0x5 +0076ec 5da8 SUBWF 0xa8,0x0,0x1 +0076ee e164 BNZ 0x77b8 { C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c //The request was valid. Take control of the control transfer and C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c //perform the host requested action. C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -0076d4 8fda BSF 0xda,0x7,0x1 inPipes[0].info.bits.busy = 1; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +0076f0 8fbf BSF 0xbf,0x7,0x1 inPipes[0].info.bits.busy = 1; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c //Fetch a pointer to the BDT that the host wants to SET/CLEAR halt on. C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -0076d6 0104 MOVLB 0x4 if(SetupPkt.EPDir == OUT_FROM_HOST) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -0076d8 bf34 BTFSC 0x34,0x7,0x1 -0076da d004 BRA 0x76e4 +0076f2 0104 MOVLB 0x4 if(SetupPkt.EPDir == OUT_FROM_HOST) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +0076f4 bf34 BTFSC 0x34,0x7,0x1 +0076f6 d004 BRA 0x7700 { C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -0076dc d940 RCALL 0x795e p = (BDT_ENTRY*)pBDTEntryOut[SetupPkt.EPNum]; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -0076de d8cc RCALL 0x7878 -0076e0 d8d7 RCALL 0x7890 current_ep_data.Val = ep_data_out[SetupPkt.EPNum].Val; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +0076f8 d940 RCALL 0x797a p = (BDT_ENTRY*)pBDTEntryOut[SetupPkt.EPNum]; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +0076fa d8cc RCALL 0x7894 +0076fc d8d7 RCALL 0x78ac current_ep_data.Val = ep_data_out[SetupPkt.EPNum].Val; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c } C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -0076e2 d003 BRA 0x76ea else C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +0076fe d003 BRA 0x7706 else C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c { C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -0076e4 d941 RCALL 0x7968 p = (BDT_ENTRY*)pBDTEntryIn[SetupPkt.EPNum]; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -0076e6 d8c8 RCALL 0x7878 -007878 22ea ADDWFC 0xea,0x1,0x0 -00787a cfee MOVFF 0xfee,0xfde -00787c ffde -00787e cfed MOVFF 0xfed,0xfdd -007880 ffdd -007882 0012 RETURN 0x0 -0076e8 d8d7 RCALL 0x7898 current_ep_data.Val = ep_data_in[SetupPkt.EPNum].Val; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -0076ea 22ea ADDWFC 0xea,0x1,0x0 -0076ec 0e02 MOVLW 0x2 -0076ee cfef MOVFF 0xfef,0xfdb -0076f0 ffdb +007700 d941 RCALL 0x7984 p = (BDT_ENTRY*)pBDTEntryIn[SetupPkt.EPNum]; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +007702 d8c8 RCALL 0x7894 +007894 22ea ADDWFC 0xea,0x1,0x0 +007896 cfee MOVFF 0xfee,0xfde +007898 ffde +00789a cfed MOVFF 0xfed,0xfdd +00789c ffdd +00789e 0012 RETURN 0x0 +007704 d8d7 RCALL 0x78b4 current_ep_data.Val = ep_data_in[SetupPkt.EPNum].Val; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +007706 22ea ADDWFC 0xea,0x1,0x0 +007708 0e02 MOVLW 0x2 +00770a cfef MOVFF 0xfef,0xfdb +00770c ffdb } C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c //If ping pong buffering is enabled on the requested endpoint, need C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c //to point to the one that is the active BDT entry which the SIE will C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c //use for the next attempted transaction on that EP number. C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c #if (USB_PING_PONG_MODE == USB_PING_PONG__ALL_BUT_EP0) || (USB_PING_PONG_MODE == USB_PING_PONG__FULL_PING_PONG) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -0076f2 d8f9 RCALL 0x78e6 if(current_ep_data.bits.ping_pong_state == 0u) //Check if even C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -0076f4 0b01 ANDLW 0x1 -0076f6 e103 BNZ 0x76fe -0078e6 50d9 MOVF 0xd9,0x0,0x0 -0078e8 0f02 ADDLW 0x2 -0078ea 6ee9 MOVWF 0xe9,0x0 -0078ec cfda MOVFF 0xfda,0xfea -0078ee ffea -0078f0 50ef MOVF 0xef,0x0,0x0 -0078f2 0012 RETURN 0x0 +00770e d8f9 RCALL 0x7902 if(current_ep_data.bits.ping_pong_state == 0u) //Check if even C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +007710 0b01 ANDLW 0x1 +007712 e103 BNZ 0x771a +007902 50d9 MOVF 0xd9,0x0,0x0 +007904 0f02 ADDLW 0x2 +007906 6ee9 MOVWF 0xe9,0x0 +007908 cfda MOVFF 0xfda,0xfea +00790a ffea +00790c 50ef MOVF 0xef,0x0,0x0 +00790e 0012 RETURN 0x0 { C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -0076f8 0e00 MOVLW 0x0 USBHALPingPongSetToEven(&p); C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -0076fa 94df BCF 0xdf,0x2,0x0 +007714 0e00 MOVLW 0x0 USBHALPingPongSetToEven(&p); C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +007716 94df BCF 0xdf,0x2,0x0 } C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -0076fc d001 BRA 0x7700 else //else must have been odd C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +007718 d001 BRA 0x771c else //else must have been odd C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c { C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -0076fe 84df BSF 0xdf,0x2,0x0 USBHALPingPongSetToOdd(&p); C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +00771a 84df BSF 0xdf,0x2,0x0 USBHALPingPongSetToOdd(&p); C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c } C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c #endif C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c //Update the BDT pointers with the new, next entry based on the feature C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c // request C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -007700 bf34 BTFSC 0x34,0x7,0x1 if(SetupPkt.EPDir == OUT_FROM_HOST) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -007702 d002 BRA 0x7708 +00771c bf34 BTFSC 0x34,0x7,0x1 if(SetupPkt.EPDir == OUT_FROM_HOST) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +00771e d002 BRA 0x7724 { C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -007704 d92c RCALL 0x795e pBDTEntryOut[SetupPkt.EPNum] = (volatile BDT_ENTRY *)p; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -0077ea 5134 MOVF 0x34,0x0,0x1 -0077ec 0b0f ANDLW 0xf -0077ee 6ee9 MOVWF 0xe9,0x0 -0077f0 6aea CLRF 0xea,0x0 -0077f2 90d8 BCF 0xd8,0x0,0x0 -0077f4 36e9 RLCF 0xe9,0x1,0x0 -0077f6 36ea RLCF 0xea,0x1,0x0 -0077f8 0012 RETURN 0x0 -00795e df45 RCALL 0x77ea -007960 0eca MOVLW 0xca -007962 26e9 ADDWF 0xe9,0x1,0x0 -007964 0e01 MOVLW 0x1 -007966 0012 RETURN 0x0 +007720 d92c RCALL 0x797a pBDTEntryOut[SetupPkt.EPNum] = (volatile BDT_ENTRY *)p; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +007806 5134 MOVF 0x34,0x0,0x1 +007808 0b0f ANDLW 0xf +00780a 6ee9 MOVWF 0xe9,0x0 +00780c 6aea CLRF 0xea,0x0 +00780e 90d8 BCF 0xd8,0x0,0x0 +007810 36e9 RLCF 0xe9,0x1,0x0 +007812 36ea RLCF 0xea,0x1,0x0 +007814 0012 RETURN 0x0 +00797a df45 RCALL 0x7806 +00797c 0eaf MOVLW 0xaf +00797e 26e9 ADDWF 0xe9,0x1,0x0 +007980 0e05 MOVLW 0x5 +007982 0012 RETURN 0x0 } C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -007706 d001 BRA 0x770a else C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +007722 d001 BRA 0x7726 else C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c { C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -007708 d92f RCALL 0x7968 pBDTEntryIn[SetupPkt.EPNum] = (volatile BDT_ENTRY *)p; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -00770a 22ea ADDWFC 0xea,0x1,0x0 -00770c cfde MOVFF 0xfde,0xfee -00770e ffee -007710 cfdd MOVFF 0xfdd,0xfed -007712 ffed -007968 df40 RCALL 0x77ea -00796a 0ed0 MOVLW 0xd0 -00796c 26e9 ADDWF 0xe9,0x1,0x0 -00796e 0e01 MOVLW 0x1 -007970 0012 RETURN 0x0 +007724 d92f RCALL 0x7984 pBDTEntryIn[SetupPkt.EPNum] = (volatile BDT_ENTRY *)p; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +007726 22ea ADDWFC 0xea,0x1,0x0 +007728 cfde MOVFF 0xfde,0xfee +00772a ffee +00772c cfdd MOVFF 0xfdd,0xfed +00772e ffed +007984 df40 RCALL 0x7806 +007986 0eb5 MOVLW 0xb5 +007988 26e9 ADDWF 0xe9,0x1,0x0 +00798a 0e05 MOVLW 0x5 +00798c 0012 RETURN 0x0 } C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c //Check if it was a SET_FEATURE endpoint halt request C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -007714 0e03 MOVLW 0x3 if(SetupPkt.bRequest == USB_REQUEST_SET_FEATURE) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -007716 5d31 SUBWF 0x31,0x0,0x1 -007718 e10c BNZ 0x7732 +007730 0e03 MOVLW 0x3 if(SetupPkt.bRequest == USB_REQUEST_SET_FEATURE) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +007732 5d31 SUBWF 0x31,0x0,0x1 +007734 e10c BNZ 0x774e { C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -00771a d92e RCALL 0x7978 if(p->STAT.UOWN == 1u) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -00771c e007 BZ 0x772c +007736 d92e RCALL 0x7994 if(p->STAT.UOWN == 1u) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +007738 e007 BZ 0x7748 { C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c //Mark that we are terminating this transfer and that the user C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c // needs to be notified later C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -00771e bf34 BTFSC 0x34,0x7,0x1 if(SetupPkt.EPDir == OUT_FROM_HOST) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -007720 d002 BRA 0x7726 +00773a bf34 BTFSC 0x34,0x7,0x1 if(SetupPkt.EPDir == OUT_FROM_HOST) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +00773c d002 BRA 0x7742 { C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -007722 d8b6 RCALL 0x7890 ep_data_out[SetupPkt.EPNum].bits.transfer_terminated = 1; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +00773e d8b6 RCALL 0x78ac ep_data_out[SetupPkt.EPNum].bits.transfer_terminated = 1; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c } C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -007724 d001 BRA 0x7728 else C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +007740 d001 BRA 0x7744 else C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c { C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -007726 d8b8 RCALL 0x7898 ep_data_in[SetupPkt.EPNum].bits.transfer_terminated = 1; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -007728 22ea ADDWFC 0xea,0x1,0x0 -00772a 82ef BSF 0xef,0x1,0x0 +007742 d8b8 RCALL 0x78b4 ep_data_in[SetupPkt.EPNum].bits.transfer_terminated = 1; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +007744 22ea ADDWFC 0xea,0x1,0x0 +007746 82ef BSF 0xef,0x1,0x0 } C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c } C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c //Then STALL the endpoint C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -00772c 0e84 MOVLW 0x84 p->STAT.Val |= _USIE|_BSTALL; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -00772e d959 RCALL 0x79e2 +007748 0e84 MOVLW 0x84 p->STAT.Val |= _USIE|_BSTALL; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +00774a d959 RCALL 0x79fe }//if(SetupPkt.bRequest == USB_REQUEST_SET_FEATURE) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -007730 d035 BRA 0x779c else C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +00774c d035 BRA 0x77b8 else C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c { C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c //Else the request must have been a CLEAR_FEATURE endpoint halt. C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c #if (USB_PING_PONG_MODE == USB_PING_PONG__ALL_BUT_EP0) || (USB_PING_PONG_MODE == USB_PING_PONG__FULL_PING_PONG) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c //toggle over the to the non-active BDT C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -007732 74df BTG 0xdf,0x2,0x0 USBAdvancePingPongBuffer(&p); C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +00774e 74df BTG 0xdf,0x2,0x0 USBAdvancePingPongBuffer(&p); C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -007734 d921 RCALL 0x7978 if(p->STAT.UOWN == 1u) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -007736 e006 BZ 0x7744 +007750 d921 RCALL 0x7994 if(p->STAT.UOWN == 1u) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +007752 e006 BZ 0x7760 { C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c //Clear UOWN and set DTS state so it will be correct the next time C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c //the application firmware uses USBTransferOnePacket() on the EP. C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -007738 d845 RCALL 0x77c4 p->STAT.Val &= (~_USIE); //Clear UOWN bit C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -00773a 9eef BCF 0xef,0x7,0x0 -00773c d843 RCALL 0x77c4 p->STAT.Val |= _DAT1; //Set DTS to DATA1 C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -00773e 8cef BSF 0xef,0x6,0x0 -007740 d8f4 RCALL 0x792a USB_TRANSFER_TERMINATED_HANDLER(EVENT_TRANSFER_TERMINATED,p,sizeof(p)); C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -00792a 0e02 MOVLW 0x2 -00792c 6ee6 MOVWF 0xe6,0x0 -00792e 6ae6 CLRF 0xe6,0x0 -007930 cfde MOVFF 0xfde,0xfe6 -007932 ffe6 -007934 cfdd MOVFF 0xfdd,0xfe6 -007936 ffe6 -007938 0e05 MOVLW 0x5 -00793a efde GOTO 0x77bc -00793c f03b +007754 d845 RCALL 0x77e0 p->STAT.Val &= (~_USIE); //Clear UOWN bit C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +007756 9eef BCF 0xef,0x7,0x0 +007758 d843 RCALL 0x77e0 p->STAT.Val |= _DAT1; //Set DTS to DATA1 C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +00775a 8cef BSF 0xef,0x6,0x0 +00775c d8f4 RCALL 0x7946 USB_TRANSFER_TERMINATED_HANDLER(EVENT_TRANSFER_TERMINATED,p,sizeof(p)); C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +007946 0e02 MOVLW 0x2 +007948 6ee6 MOVWF 0xe6,0x0 +00794a 6ae6 CLRF 0xe6,0x0 +00794c cfde MOVFF 0xfde,0xfe6 +00794e ffe6 +007950 cfdd MOVFF 0xfdd,0xfe6 +007952 ffe6 +007954 0e05 MOVLW 0x5 +007956 efec GOTO 0x77d8 +007958 f03b } C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -007742 d002 BRA 0x7748 else C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +00775e d002 BRA 0x7764 else C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c { C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c //UOWN already clear, but still need to set DTS to DATA1 C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -007744 d83f RCALL 0x77c4 p->STAT.Val |= _DAT1; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -007746 8cef BSF 0xef,0x6,0x0 +007760 d83f RCALL 0x77e0 p->STAT.Val |= _DAT1; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +007762 8cef BSF 0xef,0x6,0x0 } C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c //toggle back to the active BDT (the one the SIE is currently looking at C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c //and will use for the next successful transaction to take place on the EP C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -007748 74df BTG 0xdf,0x2,0x0 USBAdvancePingPongBuffer(&p); C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +007764 74df BTG 0xdf,0x2,0x0 USBAdvancePingPongBuffer(&p); C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c //Check if we are currently terminating, or have previously terminated C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c //a transaction on the given endpoint. If so, need to clear UOWN, C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c //set DTS to the proper state, and call the application callback C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c //function. C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -00774a d8cd RCALL 0x78e6 if((current_ep_data.bits.transfer_terminated != 0u) || (p->STAT.UOWN == 1u)) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -00774c 0b02 ANDLW 0x2 -00774e e102 BNZ 0x7754 -007750 d913 RCALL 0x7978 -007752 e00d BZ 0x776e -007978 df25 RCALL 0x77c4 -00797a 50ef MOVF 0xef,0x0,0x0 -00797c 0b80 ANDLW 0x80 -00797e 0012 RETURN 0x0 +007766 d8cd RCALL 0x7902 if((current_ep_data.bits.transfer_terminated != 0u) || (p->STAT.UOWN == 1u)) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +007768 0b02 ANDLW 0x2 +00776a e102 BNZ 0x7770 +00776c d913 RCALL 0x7994 +00776e e00d BZ 0x778a +007994 df25 RCALL 0x77e0 +007996 50ef MOVF 0xef,0x0,0x0 +007998 0b80 ANDLW 0x80 +00799a 0012 RETURN 0x0 { C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -007754 0104 MOVLB 0x4 if(SetupPkt.EPDir == OUT_FROM_HOST) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -007756 bf34 BTFSC 0x34,0x7,0x1 -007758 d002 BRA 0x775e +007770 0104 MOVLB 0x4 if(SetupPkt.EPDir == OUT_FROM_HOST) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +007772 bf34 BTFSC 0x34,0x7,0x1 +007774 d002 BRA 0x777a { C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -00775a d89a RCALL 0x7890 ep_data_out[SetupPkt.EPNum].bits.transfer_terminated = 0; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -007890 5134 MOVF 0x34,0x0,0x1 -007892 0b0f ANDLW 0xf -007894 efd8 GOTO 0x79b0 -007896 f03c -0079b0 6aea CLRF 0xea,0x0 -0079b2 0fee ADDLW 0xee -0079b4 6ee9 MOVWF 0xe9,0x0 -0079b6 0e01 MOVLW 0x1 -0079b8 0012 RETURN 0x0 +007776 d89a RCALL 0x78ac ep_data_out[SetupPkt.EPNum].bits.transfer_terminated = 0; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +0078ac 5134 MOVF 0x34,0x0,0x1 +0078ae 0b0f ANDLW 0xf +0078b0 efe6 GOTO 0x79cc +0078b2 f03c +0079cc 6aea CLRF 0xea,0x0 +0079ce 0fd3 ADDLW 0xd3 +0079d0 6ee9 MOVWF 0xe9,0x0 +0079d2 0e05 MOVLW 0x5 +0079d4 0012 RETURN 0x0 } C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -00775c d001 BRA 0x7760 else C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +007778 d001 BRA 0x777c else C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c { C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -00775e d89c RCALL 0x7898 ep_data_in[SetupPkt.EPNum].bits.transfer_terminated = 0; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -007760 22ea ADDWFC 0xea,0x1,0x0 -007762 92ef BCF 0xef,0x1,0x0 -007898 5134 MOVF 0x34,0x0,0x1 -00789a 0b0f ANDLW 0xf -00789c efdd GOTO 0x79ba -00789e f03c -0079ba 6aea CLRF 0xea,0x0 -0079bc 0feb ADDLW 0xeb -0079be 6ee9 MOVWF 0xe9,0x0 -0079c0 0e01 MOVLW 0x1 -0079c2 0012 RETURN 0x0 +00777a d89c RCALL 0x78b4 ep_data_in[SetupPkt.EPNum].bits.transfer_terminated = 0; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +00777c 22ea ADDWFC 0xea,0x1,0x0 +00777e 92ef BCF 0xef,0x1,0x0 +0078b4 5134 MOVF 0x34,0x0,0x1 +0078b6 0b0f ANDLW 0xf +0078b8 efeb GOTO 0x79d6 +0078ba f03c +0079d6 6aea CLRF 0xea,0x0 +0079d8 0fd0 ADDLW 0xd0 +0079da 6ee9 MOVWF 0xe9,0x0 +0079dc 0e05 MOVLW 0x5 +0079de 0012 RETURN 0x0 } C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c //clear UOWN, clear DTS to DATA0, and finally remove the STALL condition C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -007764 0e3b MOVLW 0x3b p->STAT.Val &= ~(_USIE | _DAT1 | _BSTALL); C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -007766 6e33 MOVWF 0x33,0x0 -007768 d92d RCALL 0x79c4 +007780 0e3b MOVLW 0x3b p->STAT.Val &= ~(_USIE | _DAT1 | _BSTALL); C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +007782 6e47 MOVWF 0x47,0x0 +007784 d92d RCALL 0x79e0 //Call the application event handler callback function, so it can C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c //decide if the endpoint should get re-armed again or not. C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -00776a d8df RCALL 0x792a USB_TRANSFER_TERMINATED_HANDLER(EVENT_TRANSFER_TERMINATED,p,sizeof(p)); C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -0077bc 6ee6 MOVWF 0xe6,0x0 -0077be 6ae6 CLRF 0xe6,0x0 -0077c0 efd1 GOTO 0x79a2 -0077c2 f03c +007786 d8df RCALL 0x7946 USB_TRANSFER_TERMINATED_HANDLER(EVENT_TRANSFER_TERMINATED,p,sizeof(p)); C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +0077d8 6ee6 MOVWF 0xe6,0x0 +0077da 6ae6 CLRF 0xe6,0x0 +0077dc efdf GOTO 0x79be +0077de f03c } C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -00776c d002 BRA 0x7772 else C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +007788 d002 BRA 0x778e else C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c { C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c //clear UOWN, clear DTS to DATA0, and finally remove the STALL condition C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -00776e 0e3b MOVLW 0x3b p->STAT.Val &= ~(_USIE | _DAT1 | _BSTALL); C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -007770 d929 RCALL 0x79c4 -0077c4 cfde MOVFF 0xfde,0xfe9 -0077c6 ffe9 -0077c8 cfdd MOVFF 0xfdd,0xfea -0077ca ffea -0077cc 0012 RETURN 0x0 -0079c4 deff RCALL 0x77c4 -0079c6 50e8 MOVF 0xe8,0x0,0x0 -0079c8 16ef ANDWF 0xef,0x1,0x0 -0079ca 0012 RETURN 0x0 +00778a 0e3b MOVLW 0x3b p->STAT.Val &= ~(_USIE | _DAT1 | _BSTALL); C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +00778c d929 RCALL 0x79e0 +0077e0 cfde MOVFF 0xfde,0xfe9 +0077e2 ffe9 +0077e4 cfdd MOVFF 0xfdd,0xfea +0077e6 ffea +0077e8 0012 RETURN 0x0 +0079e0 deff RCALL 0x77e0 +0079e2 50e8 MOVF 0xe8,0x0,0x0 +0079e4 16ef ANDWF 0xef,0x1,0x0 +0079e6 0012 RETURN 0x0 } C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c #else //else we must not be using ping-pong buffering on the requested endpoint C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c //Check if we need to call the user transfer terminated event callback function. C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c @@ -4537,43 +4537,43 @@ Address Value Disassembly Source pUEP = (DWORD*)(&U1EP0); C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c pUEP += (SetupPkt.EPNum*4); C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c #else C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -007772 0104 MOVLB 0x4 pUEP = (unsigned char*)(&U1EP0+SetupPkt.EPNum); C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -007774 5134 MOVF 0x34,0x0,0x1 -007776 0b0f ANDLW 0xf -007778 6a34 CLRF 0x34,0x0 -00777a 0f26 ADDLW 0x26 -00777c 6e33 MOVWF 0x33,0x0 -00777e 0e0f MOVLW 0xf -007780 2234 ADDWFC 0x34,0x1,0x0 -007782 0e03 MOVLW 0x3 -007784 c033 MOVFF 0x33,0xfdb -007786 ffdb -007788 0e04 MOVLW 0x4 -00778a c034 MOVFF 0x34,0xfdb -00778c ffdb +00778e 0104 MOVLB 0x4 pUEP = (unsigned char*)(&U1EP0+SetupPkt.EPNum); C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +007790 5134 MOVF 0x34,0x0,0x1 +007792 0b0f ANDLW 0xf +007794 6a48 CLRF 0x48,0x0 +007796 0f26 ADDLW 0x26 +007798 6e47 MOVWF 0x47,0x0 +00779a 0e0f MOVLW 0xf +00779c 2248 ADDWFC 0x48,0x1,0x0 +00779e 0e03 MOVLW 0x3 +0077a0 c047 MOVFF 0x47,0xfdb +0077a2 ffdb +0077a4 0e04 MOVLW 0x4 +0077a6 c048 MOVFF 0x48,0xfdb +0077a8 ffdb #endif C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c //Clear the STALL bit in the UEP register C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -00778e 0e03 MOVLW 0x3 *pUEP &= ~UEP_STALL; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -007790 cfdb MOVFF 0xfdb,0xfe9 -007792 ffe9 -007794 0e04 MOVLW 0x4 -007796 cfdb MOVFF 0xfdb,0xfea -007798 ffea -00779a 90ef BCF 0xef,0x0,0x0 +0077aa 0e03 MOVLW 0x3 *pUEP &= ~UEP_STALL; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +0077ac cfdb MOVFF 0xfdb,0xfe9 +0077ae ffe9 +0077b0 0e04 MOVLW 0x4 +0077b2 cfdb MOVFF 0xfdb,0xfea +0077b4 ffea +0077b6 90ef BCF 0xef,0x0,0x0 }//end if(SetupPkt.bRequest == USB_REQUEST_SET_FEATURE) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c }//end if (lots of checks for set/clear endpoint halt) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -00779c 0e05 MOVLW 0x5 }//end USBStdFeatureReqHandler C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c -00779e 5ce1 SUBWF 0xe1,0x0,0x0 -0077a0 e202 BC 0x77a6 -0077a2 6ae1 CLRF 0xe1,0x0 -0077a4 52e5 MOVF 0xe5,0x1,0x0 -0077a6 6ee1 MOVWF 0xe1,0x0 -0077a8 d01c BRA 0x77e2 -0077e2 52e5 MOVF 0xe5,0x1,0x0 -0077e4 cfe7 MOVFF 0xfe7,0xfd9 -0077e6 ffd9 -0077e8 0012 RETURN 0x0 +0077b8 0e05 MOVLW 0x5 }//end USBStdFeatureReqHandler C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c +0077ba 5ce1 SUBWF 0xe1,0x0,0x0 +0077bc e202 BC 0x77c2 +0077be 6ae1 CLRF 0xe1,0x0 +0077c0 52e5 MOVF 0xe5,0x1,0x0 +0077c2 6ee1 MOVWF 0xe1,0x0 +0077c4 d01c BRA 0x77fe +0077fe 52e5 MOVF 0xe5,0x1,0x0 +007800 cfe7 MOVFF 0xfe7,0xfd9 +007802 ffd9 +007804 0012 RETURN 0x0 C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c /** EOF USBDevice.c *****************************************************/ C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\usb_device.c @@ -4847,107 +4847,107 @@ Address Value Disassembly Source /* C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c * If request recipient is not an interface then return C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c */ C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c -008264 0104 MOVLB 0x4 if(SetupPkt.Recipient != USB_SETUP_RECIPIENT_INTERFACE_BITFIELD) return; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c -008266 5130 MOVF 0x30,0x0,0x1 -008268 0b1f ANDLW 0x1f -00826a 0801 SUBLW 0x1 -00826c e001 BZ 0x8270 -00826e 0012 RETURN 0x0 +008280 0104 MOVLB 0x4 if(SetupPkt.Recipient != USB_SETUP_RECIPIENT_INTERFACE_BITFIELD) return; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c +008282 5130 MOVF 0x30,0x0,0x1 +008284 0b1f ANDLW 0x1f +008286 0801 SUBLW 0x1 +008288 e001 BZ 0x828c +00828a 0012 RETURN 0x0 C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c /* C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c * If request type is not class-specific then return C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c */ C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c -008270 5130 MOVF 0x30,0x0,0x1 if(SetupPkt.RequestType != USB_SETUP_TYPE_CLASS_BITFIELD) return; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c -008272 0b60 ANDLW 0x60 -008274 42e8 RRNCF 0xe8,0x1,0x0 -008276 42e8 RRNCF 0xe8,0x1,0x0 -008278 42e8 RRNCF 0xe8,0x1,0x0 -00827a 42e8 RRNCF 0xe8,0x1,0x0 -00827c 42e8 RRNCF 0xe8,0x1,0x0 -00827e 0801 SUBLW 0x1 -008280 e001 BZ 0x8284 -008282 0012 RETURN 0x0 +00828c 5130 MOVF 0x30,0x0,0x1 if(SetupPkt.RequestType != USB_SETUP_TYPE_CLASS_BITFIELD) return; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c +00828e 0b60 ANDLW 0x60 +008290 42e8 RRNCF 0xe8,0x1,0x0 +008292 42e8 RRNCF 0xe8,0x1,0x0 +008294 42e8 RRNCF 0xe8,0x1,0x0 +008296 42e8 RRNCF 0xe8,0x1,0x0 +008298 42e8 RRNCF 0xe8,0x1,0x0 +00829a 0801 SUBLW 0x1 +00829c e001 BZ 0x82a0 +00829e 0012 RETURN 0x0 C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c /* C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c * Interface ID must match interface numbers associated with C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c * CDC class, else return C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c */ C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c -008284 5134 MOVF 0x34,0x0,0x1 if((SetupPkt.bIntfID != CDC_COMM_INTF_ID)&& C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c -008286 e003 BZ 0x828e (SetupPkt.bIntfID != CDC_DATA_INTF_ID)) return; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c -008288 0534 DECF 0x34,0x0,0x1 -00828a e001 BZ 0x828e -00828c 0012 RETURN 0x0 +0082a0 5134 MOVF 0x34,0x0,0x1 if((SetupPkt.bIntfID != CDC_COMM_INTF_ID)&& C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c +0082a2 e003 BZ 0x82aa (SetupPkt.bIntfID != CDC_DATA_INTF_ID)) return; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c +0082a4 0534 DECF 0x34,0x0,0x1 +0082a6 e001 BZ 0x82aa +0082a8 0012 RETURN 0x0 C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c -00828e 5131 MOVF 0x31,0x0,0x1 switch(SetupPkt.bRequest) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c -008290 0a22 XORLW 0x22 -008292 e031 BZ 0x82f6 -008294 0a03 XORLW 0x3 -008296 e024 BZ 0x82e0 -008298 0a01 XORLW 0x1 -00829a e015 BZ 0x82c6 -00829c 0a21 XORLW 0x21 -00829e e00d BZ 0x82ba -0082a0 0a01 XORLW 0x1 -0082a2 e001 BZ 0x82a6 -0082a4 0012 RETURN 0x0 +0082aa 5131 MOVF 0x31,0x0,0x1 switch(SetupPkt.bRequest) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c +0082ac 0a22 XORLW 0x22 +0082ae e031 BZ 0x8312 +0082b0 0a03 XORLW 0x3 +0082b2 e024 BZ 0x82fc +0082b4 0a01 XORLW 0x1 +0082b6 e015 BZ 0x82e2 +0082b8 0a21 XORLW 0x21 +0082ba e00d BZ 0x82d6 +0082bc 0a01 XORLW 0x1 +0082be e001 BZ 0x82c2 +0082c0 0012 RETURN 0x0 { C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c //****** These commands are required ******// C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c case SEND_ENCAPSULATED_COMMAND: C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c //send the packet C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c -0082a6 0101 MOVLB 0x1 inPipes[0].pSrc.bRam = (BYTE*)&dummy_encapsulated_cmd_response; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c -0082a8 0ea0 MOVLW 0xa0 -0082aa 6fd8 MOVWF 0xd8,0x1 -0082ac 0e05 MOVLW 0x5 -0082ae 6fd9 MOVWF 0xd9,0x1 -0082b0 0e08 MOVLW 0x8 inPipes[0].wCount.Val = dummy_length; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c -0082b2 6fdb MOVWF 0xdb,0x1 -0082b4 6bdc CLRF 0xdc,0x1 -0082b6 81da BSF 0xda,0x0,0x1 inPipes[0].info.bits.ctrl_trf_mem = USB_EP0_RAM; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c +0082c2 0105 MOVLB 0x5 inPipes[0].pSrc.bRam = (BYTE*)&dummy_encapsulated_cmd_response; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c +0082c4 0ea0 MOVLW 0xa0 +0082c6 6fbd MOVWF 0xbd,0x1 +0082c8 0e05 MOVLW 0x5 +0082ca 6fbe MOVWF 0xbe,0x1 +0082cc 0e08 MOVLW 0x8 inPipes[0].wCount.Val = dummy_length; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c +0082ce 6fc0 MOVWF 0xc0,0x1 +0082d0 6bc1 CLRF 0xc1,0x1 +0082d2 81bf BSF 0xbf,0x0,0x1 inPipes[0].info.bits.ctrl_trf_mem = USB_EP0_RAM; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c inPipes[0].info.bits.busy = 1; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c -0082b8 d021 BRA 0x82fc break; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c +0082d4 d021 BRA 0x8318 break; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c case GET_ENCAPSULATED_RESPONSE: C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c // Populate dummy_encapsulated_cmd_response first. C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c -0082ba 0101 MOVLB 0x1 inPipes[0].pSrc.bRam = (BYTE*)&dummy_encapsulated_cmd_response; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c -0082bc 0ea0 MOVLW 0xa0 -0082be 6fd8 MOVWF 0xd8,0x1 -0082c0 0e05 MOVLW 0x5 -0082c2 6fd9 MOVWF 0xd9,0x1 +0082d6 0105 MOVLB 0x5 inPipes[0].pSrc.bRam = (BYTE*)&dummy_encapsulated_cmd_response; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c +0082d8 0ea0 MOVLW 0xa0 +0082da 6fbd MOVWF 0xbd,0x1 +0082dc 0e05 MOVLW 0x5 +0082de 6fbe MOVWF 0xbe,0x1 inPipes[0].info.bits.busy = 1; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c -0082c4 d01b BRA 0x82fc break; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c +0082e0 d01b BRA 0x8318 break; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c //****** End of required commands ******// C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c #if defined(USB_CDC_SUPPORT_ABSTRACT_CONTROL_MANAGEMENT_CAPABILITIES_D1) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c case SET_LINE_CODING: C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c -0082c6 c436 MOVFF 0x436,0x1e0 outPipes[0].wCount.Val = SetupPkt.wLength; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c -0082c8 f1e0 -0082ca c437 MOVFF 0x437,0x1e1 -0082cc f1e1 -0082ce 0101 MOVLB 0x1 outPipes[0].pDst.bRam = (BYTE*)LINE_CODING_TARGET; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c -0082d0 0e80 MOVLW 0x80 -0082d2 6fdd MOVWF 0xdd,0x1 -0082d4 0e05 MOVLW 0x5 -0082d6 6fde MOVWF 0xde,0x1 -0082d8 6be2 CLRF 0xe2,0x1 outPipes[0].pFunc = LINE_CODING_PFUNC; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c -0082da 6be3 CLRF 0xe3,0x1 -0082dc 8fdf BSF 0xdf,0x7,0x1 outPipes[0].info.bits.busy = 1; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c -0082de 0012 RETURN 0x0 break; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c +0082e2 c436 MOVFF 0x436,0x5c5 outPipes[0].wCount.Val = SetupPkt.wLength; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c +0082e4 f5c5 +0082e6 c437 MOVFF 0x437,0x5c6 +0082e8 f5c6 +0082ea 0105 MOVLB 0x5 outPipes[0].pDst.bRam = (BYTE*)LINE_CODING_TARGET; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c +0082ec 0e80 MOVLW 0x80 +0082ee 6fc2 MOVWF 0xc2,0x1 +0082f0 0e05 MOVLW 0x5 +0082f2 6fc3 MOVWF 0xc3,0x1 +0082f4 6bc7 CLRF 0xc7,0x1 outPipes[0].pFunc = LINE_CODING_PFUNC; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c +0082f6 6bc8 CLRF 0xc8,0x1 +0082f8 8fc4 BSF 0xc4,0x7,0x1 outPipes[0].info.bits.busy = 1; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c +0082fa 0012 RETURN 0x0 break; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c case GET_LINE_CODING: C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c -0082e0 0101 MOVLB 0x1 USBEP0SendRAMPtr( C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c -0082e2 0e80 MOVLW 0x80 -0082e4 6fd8 MOVWF 0xd8,0x1 -0082e6 0e05 MOVLW 0x5 -0082e8 6fd9 MOVWF 0xd9,0x1 -0082ea 0e07 MOVLW 0x7 -0082ec 6fdb MOVWF 0xdb,0x1 -0082ee 6bdc CLRF 0xdc,0x1 -0082f0 0ec1 MOVLW 0xc1 -0082f2 6fda MOVWF 0xda,0x1 -0082f4 0012 RETURN 0x0 (BYTE*)&line_coding, C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c +0082fc 0105 MOVLB 0x5 USBEP0SendRAMPtr( C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c +0082fe 0e80 MOVLW 0x80 +008300 6fbd MOVWF 0xbd,0x1 +008302 0e05 MOVLW 0x5 +008304 6fbe MOVWF 0xbe,0x1 +008306 0e07 MOVLW 0x7 +008308 6fc0 MOVWF 0xc0,0x1 +00830a 6bc1 CLRF 0xc1,0x1 +00830c 0ec1 MOVLW 0xc1 +00830e 6fbf MOVWF 0xbf,0x1 +008310 0012 RETURN 0x0 (BYTE*)&line_coding, C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c LINE_CODING_LENGTH, C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c USB_EP0_INCLUDE_ZERO); C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c -0082f6 c432 MOVFF 0x432,0x59b break; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c -0082f8 f59b +008312 c432 MOVFF 0x432,0x59b break; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c +008314 f59b C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c case SET_CONTROL_LINE_STATE: C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c control_signal_bitmap._byte = (BYTE)SetupPkt.W_Value.v[0]; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c @@ -4982,9 +4982,9 @@ Address Value Disassembly Source UART_DTR = (USB_CDC_DTR_ACTIVE_LEVEL ^ 1); C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c } C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c #endif C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c -0082fa 0101 MOVLB 0x1 inPipes[0].info.bits.busy = 1; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c -0082fc 8fda BSF 0xda,0x7,0x1 -0082fe 0012 RETURN 0x0 break; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c +008316 0105 MOVLB 0x5 inPipes[0].info.bits.busy = 1; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c +008318 8fbf BSF 0xbf,0x7,0x1 +00831a 0012 RETURN 0x0 break; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c #endif C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c #if defined(USB_CDC_SUPPORT_ABSTRACT_CONTROL_MANAGEMENT_CAPABILITIES_D2) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c @@ -5049,18 +5049,18 @@ Address Value Disassembly Source void CDCInitEP(void) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c { C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c //Abstract line coding information C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c -008300 0105 MOVLB 0x5 line_coding.dwDTERate.Val = 19200; // baud rate C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c -008302 6b80 CLRF 0x80,0x1 -008304 0e4b MOVLW 0x4b -008306 6f81 MOVWF 0x81,0x1 -008308 6b82 CLRF 0x82,0x1 -00830a 6b83 CLRF 0x83,0x1 -00830c 6b84 CLRF 0x84,0x1 line_coding.bCharFormat = 0x00; // 1 stop bit C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c -00830e 6b85 CLRF 0x85,0x1 line_coding.bParityType = 0x00; // None C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c -008310 0e08 MOVLW 0x8 line_coding.bDataBits = 0x08; // 5,6,7,8, or 16 C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c -008312 6f86 MOVWF 0x86,0x1 +00831c 0105 MOVLB 0x5 line_coding.dwDTERate.Val = 19200; // baud rate C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c +00831e 6b80 CLRF 0x80,0x1 +008320 0e4b MOVLW 0x4b +008322 6f81 MOVWF 0x81,0x1 +008324 6b82 CLRF 0x82,0x1 +008326 6b83 CLRF 0x83,0x1 +008328 6b84 CLRF 0x84,0x1 line_coding.bCharFormat = 0x00; // 1 stop bit C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c +00832a 6b85 CLRF 0x85,0x1 line_coding.bParityType = 0x00; // None C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c +00832c 0e08 MOVLW 0x8 line_coding.bDataBits = 0x08; // 5,6,7,8, or 16 C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c +00832e 6f86 MOVWF 0x86,0x1 C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c -008314 6b8f CLRF 0x8f,0x1 cdc_rx_len = 0; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c +008330 6b8f CLRF 0x8f,0x1 cdc_rx_len = 0; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c /* C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c * Do not have to init Cnt of IN pipes here. C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c @@ -5073,27 +5073,27 @@ Address Value Disassembly Source * be known right before the data is C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c * sent. C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c */ C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c -008316 0e1a MOVLW 0x1a USBEnableEndpoint(CDC_COMM_EP,USB_IN_ENABLED|USB_HANDSHAKE_ENABLED|USB_DISALLOW_SETUP); C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c -008318 6ee6 MOVWF 0xe6,0x0 -00831a 0e01 MOVLW 0x1 -00831c 6ee6 MOVWF 0xe6,0x0 -00831e ec69 CALL 0x6ed2,0x0 -008320 f037 -008322 52e5 MOVF 0xe5,0x1,0x0 -008324 52e5 MOVF 0xe5,0x1,0x0 -008326 0e1e MOVLW 0x1e USBEnableEndpoint(CDC_DATA_EP,USB_IN_ENABLED|USB_OUT_ENABLED|USB_HANDSHAKE_ENABLED|USB_DISALLOW_SETUP); C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c -008328 6ee6 MOVWF 0xe6,0x0 -00832a 0e02 MOVLW 0x2 -00832c 6ee6 MOVWF 0xe6,0x0 -00832e ec69 CALL 0x6ed2,0x0 -008330 f037 -008332 52e5 MOVF 0xe5,0x1,0x0 -008334 52e5 MOVF 0xe5,0x1,0x0 +008332 0e1a MOVLW 0x1a USBEnableEndpoint(CDC_COMM_EP,USB_IN_ENABLED|USB_HANDSHAKE_ENABLED|USB_DISALLOW_SETUP); C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c +008334 6ee6 MOVWF 0xe6,0x0 +008336 0e01 MOVLW 0x1 +008338 6ee6 MOVWF 0xe6,0x0 +00833a ec77 CALL 0x6eee,0x0 +00833c f037 +00833e 52e5 MOVF 0xe5,0x1,0x0 +008340 52e5 MOVF 0xe5,0x1,0x0 +008342 0e1e MOVLW 0x1e USBEnableEndpoint(CDC_DATA_EP,USB_IN_ENABLED|USB_OUT_ENABLED|USB_HANDSHAKE_ENABLED|USB_DISALLOW_SETUP); C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c +008344 6ee6 MOVWF 0xe6,0x0 +008346 0e02 MOVLW 0x2 +008348 6ee6 MOVWF 0xe6,0x0 +00834a ec77 CALL 0x6eee,0x0 +00834c f037 +00834e 52e5 MOVF 0xe5,0x1,0x0 +008350 52e5 MOVF 0xe5,0x1,0x0 C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c -008336 d91c RCALL 0x8570 CDCDataOutHandle = USBRxOnePacket(CDC_DATA_EP,(BYTE*)&cdc_data_rx,sizeof(cdc_data_rx)); C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c -008338 0105 MOVLB 0x5 CDCDataInHandle = NULL; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c -00833a 6b99 CLRF 0x99,0x1 -00833c 6b9a CLRF 0x9a,0x1 +008352 d91c RCALL 0x858c CDCDataOutHandle = USBRxOnePacket(CDC_DATA_EP,(BYTE*)&cdc_data_rx,sizeof(cdc_data_rx)); C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c +008354 0105 MOVLB 0x5 CDCDataInHandle = NULL; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c +008356 6b99 CLRF 0x99,0x1 +008358 6b9a CLRF 0x9a,0x1 C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c #if defined(USB_CDC_SUPPORT_DSR_REPORTING) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c CDCNotificationInHandle = NULL; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c @@ -5120,8 +5120,8 @@ Address Value Disassembly Source mInitCTSPin(); C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c #endif C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c -00833e 6b90 CLRF 0x90,0x1 cdc_trf_state = CDC_TX_READY; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c -008340 0012 RETURN 0x0 }//end CDCInitEP C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c +00835a 6b90 CLRF 0x90,0x1 cdc_trf_state = CDC_TX_READY; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c +00835c 0012 RETURN 0x0 }//end CDCInitEP C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c /************************************************************************** C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c @@ -5198,61 +5198,61 @@ Address Value Disassembly Source size - the size of the data that is pointed to by pdata C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c **********************************************************************************/ C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c -008342 d941 RCALL 0x85c6 BOOL USBCDCEventHandler(USB_EVENT event, void *pdata, WORD size) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c +00835e d941 RCALL 0x85e2 BOOL USBCDCEventHandler(USB_EVENT event, void *pdata, WORD size) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c { C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c -008344 d965 RCALL 0x8610 switch( (INT)event ) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c -008346 0e05 MOVLW 0x5 -008348 182b XORWF 0x2b,0x0,0x0 -00834a e101 BNZ 0x834e -00834c 502c MOVF 0x2c,0x0,0x0 -00834e e002 BZ 0x8354 -008610 0efd MOVLW 0xfd -008612 cfdb MOVFF 0xfdb,0x2b -008614 f02b -008616 0efe MOVLW 0xfe -008618 cfdb MOVFF 0xfdb,0x2c -00861a f02c -00861c 0012 RETURN 0x0 +008360 d965 RCALL 0x862c switch( (INT)event ) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c +008362 0e05 MOVLW 0x5 +008364 183f XORWF 0x3f,0x0,0x0 +008366 e101 BNZ 0x836a +008368 5040 MOVF 0x40,0x0,0x0 +00836a e002 BZ 0x8370 +00862c 0efd MOVLW 0xfd +00862e cfdb MOVFF 0xfdb,0x3f +008630 f03f +008632 0efe MOVLW 0xfe +008634 cfdb MOVFF 0xfdb,0x40 +008636 f040 +008638 0012 RETURN 0x0 { C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c case EVENT_TRANSFER_TERMINATED: C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c -008354 d948 RCALL 0x85e6 if(pdata == CDCDataOutHandle) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c -008356 0105 MOVLB 0x5 -008358 5197 MOVF 0x97,0x0,0x1 -00835a 1833 XORWF 0x33,0x0,0x0 -00835c e104 BNZ 0x8366 -00835e 5198 MOVF 0x98,0x0,0x1 -008360 1834 XORWF 0x34,0x0,0x0 -008362 e101 BNZ 0x8366 -0085e6 0efb MOVLW 0xfb -0085e8 cfdb MOVFF 0xfdb,0x33 -0085ea f033 -0085ec 0efc MOVLW 0xfc -0085ee cfdb MOVFF 0xfdb,0x34 -0085f0 f034 -0085f2 0012 RETURN 0x0 +008370 d948 RCALL 0x8602 if(pdata == CDCDataOutHandle) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c +008372 0105 MOVLB 0x5 +008374 5197 MOVF 0x97,0x0,0x1 +008376 1847 XORWF 0x47,0x0,0x0 +008378 e104 BNZ 0x8382 +00837a 5198 MOVF 0x98,0x0,0x1 +00837c 1848 XORWF 0x48,0x0,0x0 +00837e e101 BNZ 0x8382 +008602 0efb MOVLW 0xfb +008604 cfdb MOVFF 0xfdb,0x47 +008606 f047 +008608 0efc MOVLW 0xfc +00860a cfdb MOVFF 0xfdb,0x48 +00860c f048 +00860e 0012 RETURN 0x0 { C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c -008364 d905 RCALL 0x8570 CDCDataOutHandle = USBRxOnePacket(CDC_DATA_EP,(BYTE*)&cdc_data_rx,sizeof(cdc_data_rx)); C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c +008380 d905 RCALL 0x858c CDCDataOutHandle = USBRxOnePacket(CDC_DATA_EP,(BYTE*)&cdc_data_rx,sizeof(cdc_data_rx)); C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c } C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c -008366 d93f RCALL 0x85e6 if(pdata == CDCDataInHandle) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c -008368 0105 MOVLB 0x5 -00836a 5199 MOVF 0x99,0x0,0x1 -00836c 1833 XORWF 0x33,0x0,0x0 -00836e e105 BNZ 0x837a -008370 519a MOVF 0x9a,0x0,0x1 -008372 1834 XORWF 0x34,0x0,0x0 -008374 e102 BNZ 0x837a +008382 d93f RCALL 0x8602 if(pdata == CDCDataInHandle) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c +008384 0105 MOVLB 0x5 +008386 5199 MOVF 0x99,0x0,0x1 +008388 1847 XORWF 0x47,0x0,0x0 +00838a e105 BNZ 0x8396 +00838c 519a MOVF 0x9a,0x0,0x1 +00838e 1848 XORWF 0x48,0x0,0x0 +008390 e102 BNZ 0x8396 { C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c //flush all of the data in the CDC buffer C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c -008376 6b90 CLRF 0x90,0x1 cdc_trf_state = CDC_TX_READY; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c -008378 6b95 CLRF 0x95,0x1 cdc_tx_len = 0; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c +008392 6b90 CLRF 0x90,0x1 cdc_trf_state = CDC_TX_READY; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c +008394 6b95 CLRF 0x95,0x1 cdc_tx_len = 0; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c } C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c break; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c default: C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c -008350 0e00 MOVLW 0x0 return FALSE; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c -008352 d014 BRA 0x837c +00836c 0e00 MOVLW 0x0 return FALSE; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c +00836e d014 BRA 0x8398 } C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c -00837a 0e01 MOVLW 0x1 return TRUE; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c -00837c d129 BRA 0x85d0 } C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c +008396 0e01 MOVLW 0x1 return TRUE; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c +008398 d129 BRA 0x85ec } C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c /********************************************************************************** C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c Function: C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c @@ -5293,116 +5293,116 @@ Address Value Disassembly Source len - The number of BYTEs expected. C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c **********************************************************************************/ C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c -00837e d923 RCALL 0x85c6 BYTE getsUSBUSART(char *buffer, BYTE len) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c +00839a d923 RCALL 0x85e2 BYTE getsUSBUSART(char *buffer, BYTE len) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c { C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c -008380 0105 MOVLB 0x5 cdc_rx_len = 0; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c -008382 6b8f CLRF 0x8f,0x1 +00839c 0105 MOVLB 0x5 cdc_rx_len = 0; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c +00839e 6b8f CLRF 0x8f,0x1 C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c -008384 5197 MOVF 0x97,0x0,0x1 if(!USBHandleBusy(CDCDataOutHandle)) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c -008386 1198 IORWF 0x98,0x0,0x1 -008388 e102 BNZ 0x838e -00838a 0e00 MOVLW 0x0 -00838c d005 BRA 0x8398 -00838e d932 RCALL 0x85f4 -008390 50ef MOVF 0xef,0x0,0x0 -008392 0b80 ANDLW 0x80 -008394 e001 BZ 0x8398 -008396 0e01 MOVLW 0x1 -008398 0900 IORLW 0x0 -00839a e12d BNZ 0x83f6 +0083a0 5197 MOVF 0x97,0x0,0x1 if(!USBHandleBusy(CDCDataOutHandle)) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c +0083a2 1198 IORWF 0x98,0x0,0x1 +0083a4 e102 BNZ 0x83aa +0083a6 0e00 MOVLW 0x0 +0083a8 d005 BRA 0x83b4 +0083aa d932 RCALL 0x8610 +0083ac 50ef MOVF 0xef,0x0,0x0 +0083ae 0b80 ANDLW 0x80 +0083b0 e001 BZ 0x83b4 +0083b2 0e01 MOVLW 0x1 +0083b4 0900 IORLW 0x0 +0083b6 e12d BNZ 0x8412 { C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c /* C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c * Adjust the expected number of BYTEs to equal C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c * the actual number of BYTEs received. C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c */ C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c -00839c 0efc MOVLW 0xfc if(len > USBHandleGetLength(CDCDataOutHandle)) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c -00839e cfdb MOVFF 0xfdb,0x33 -0083a0 f033 -0083a2 d928 RCALL 0x85f4 -0083a4 52ee MOVF 0xee,0x1,0x0 -0083a6 50ef MOVF 0xef,0x0,0x0 -0083a8 80d8 BSF 0xd8,0x0,0x0 -0083aa 5433 SUBFWB 0x33,0x0,0x0 -0083ac e205 BC 0x83b8 -0083ae d922 RCALL 0x85f4 len = USBHandleGetLength(CDCDataOutHandle); C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c -0083b0 52ee MOVF 0xee,0x1,0x0 -0083b2 0efc MOVLW 0xfc -0083b4 cfef MOVFF 0xfef,0xfdb -0083b6 ffdb -0085f4 c597 MOVFF 0x597,0xfe9 -0085f6 ffe9 -0085f8 c598 MOVFF 0x598,0xfea -0085fa ffea -0085fc 0012 RETURN 0x0 +0083b8 0efc MOVLW 0xfc if(len > USBHandleGetLength(CDCDataOutHandle)) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c +0083ba cfdb MOVFF 0xfdb,0x47 +0083bc f047 +0083be d928 RCALL 0x8610 +0083c0 52ee MOVF 0xee,0x1,0x0 +0083c2 50ef MOVF 0xef,0x0,0x0 +0083c4 80d8 BSF 0xd8,0x0,0x0 +0083c6 5447 SUBFWB 0x47,0x0,0x0 +0083c8 e205 BC 0x83d4 +0083ca d922 RCALL 0x8610 len = USBHandleGetLength(CDCDataOutHandle); C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c +0083cc 52ee MOVF 0xee,0x1,0x0 +0083ce 0efc MOVLW 0xfc +0083d0 cfef MOVFF 0xfef,0xfdb +0083d2 ffdb +008610 c597 MOVFF 0x597,0xfe9 +008612 ffe9 +008614 c598 MOVFF 0x598,0xfea +008616 ffea +008618 0012 RETURN 0x0 C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c /* C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c * Copy data from dual-ram buffer to user's buffer C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c */ C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c -0083b8 6b8f CLRF 0x8f,0x1 for(cdc_rx_len = 0; cdc_rx_len < len; cdc_rx_len++) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c -0083ba 0efc MOVLW 0xfc -0083bc 50db MOVF 0xdb,0x0,0x0 -0083be 5d8f SUBWF 0x8f,0x0,0x1 -0083c0 e219 BC 0x83f4 -0083f0 2b8f INCF 0x8f,0x1,0x1 -0083f2 d7e3 BRA 0x83ba -0083c2 518f MOVF 0x8f,0x0,0x1 buffer[cdc_rx_len] = cdc_data_rx[cdc_rx_len]; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c -0083c4 6aea CLRF 0xea,0x0 -0083c6 0f40 ADDLW 0x40 -0083c8 6ee9 MOVWF 0xe9,0x0 -0083ca 0e05 MOVLW 0x5 -0083cc 22ea ADDWFC 0xea,0x1,0x0 -0083ce 50ef MOVF 0xef,0x0,0x0 -0083d0 6ee6 MOVWF 0xe6,0x0 -0083d2 518f MOVF 0x8f,0x0,0x1 -0083d4 6ee7 MOVWF 0xe7,0x0 -0083d6 0efd MOVLW 0xfd -0083d8 cfdb MOVFF 0xfdb,0xfe9 -0083da ffe9 -0083dc 0efe MOVLW 0xfe -0083de cfdb MOVFF 0xfdb,0xfea -0083e0 ffea -0083e2 50e7 MOVF 0xe7,0x0,0x0 -0083e4 26e9 ADDWF 0xe9,0x1,0x0 -0083e6 0e00 MOVLW 0x0 +0083d4 6b8f CLRF 0x8f,0x1 for(cdc_rx_len = 0; cdc_rx_len < len; cdc_rx_len++) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c +0083d6 0efc MOVLW 0xfc +0083d8 50db MOVF 0xdb,0x0,0x0 +0083da 5d8f SUBWF 0x8f,0x0,0x1 +0083dc e219 BC 0x8410 +00840c 2b8f INCF 0x8f,0x1,0x1 +00840e d7e3 BRA 0x83d6 +0083de 518f MOVF 0x8f,0x0,0x1 buffer[cdc_rx_len] = cdc_data_rx[cdc_rx_len]; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c +0083e0 6aea CLRF 0xea,0x0 +0083e2 0f40 ADDLW 0x40 +0083e4 6ee9 MOVWF 0xe9,0x0 +0083e6 0e05 MOVLW 0x5 0083e8 22ea ADDWFC 0xea,0x1,0x0 -0083ea 52e5 MOVF 0xe5,0x1,0x0 -0083ec 50e7 MOVF 0xe7,0x0,0x0 -0083ee 6eef MOVWF 0xef,0x0 +0083ea 50ef MOVF 0xef,0x0,0x0 +0083ec 6ee6 MOVWF 0xe6,0x0 +0083ee 518f MOVF 0x8f,0x0,0x1 +0083f0 6ee7 MOVWF 0xe7,0x0 +0083f2 0efd MOVLW 0xfd +0083f4 cfdb MOVFF 0xfdb,0xfe9 +0083f6 ffe9 +0083f8 0efe MOVLW 0xfe +0083fa cfdb MOVFF 0xfdb,0xfea +0083fc ffea +0083fe 50e7 MOVF 0xe7,0x0,0x0 +008400 26e9 ADDWF 0xe9,0x1,0x0 +008402 0e00 MOVLW 0x0 +008404 22ea ADDWFC 0xea,0x1,0x0 +008406 52e5 MOVF 0xe5,0x1,0x0 +008408 50e7 MOVF 0xe7,0x0,0x0 +00840a 6eef MOVWF 0xef,0x0 C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c /* C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c * Prepare dual-ram buffer for next OUT transaction C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c */ C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c -0083f4 d8bd RCALL 0x8570 CDCDataOutHandle = USBRxOnePacket(CDC_DATA_EP,(BYTE*)&cdc_data_rx,sizeof(cdc_data_rx)); C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c -008570 0e40 MOVLW 0x40 -008572 6ee6 MOVWF 0xe6,0x0 -008574 0e40 MOVLW 0x40 -008576 6ee6 MOVWF 0xe6,0x0 -008578 0e05 MOVLW 0x5 -00857a 6ee6 MOVWF 0xe6,0x0 -00857c 6ae6 CLRF 0xe6,0x0 -00857e d83f RCALL 0x85fe -008580 cff3 MOVFF 0xff3,0x597 -008582 f597 -008584 cff4 MOVFF 0xff4,0x598 -008586 f598 -008588 0012 RETURN 0x0 -0085fe 0e02 MOVLW 0x2 -008600 6ee6 MOVWF 0xe6,0x0 -008602 ec8d CALL 0x6f1a,0x0 -008604 f037 -008606 6e33 MOVWF 0x33,0x0 -008608 0e05 MOVLW 0x5 -00860a 5ee1 SUBWF 0xe1,0x1,0x0 -00860c 5033 MOVF 0x33,0x0,0x0 -00860e 0012 RETURN 0x0 +008410 d8bd RCALL 0x858c CDCDataOutHandle = USBRxOnePacket(CDC_DATA_EP,(BYTE*)&cdc_data_rx,sizeof(cdc_data_rx)); C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c +00858c 0e40 MOVLW 0x40 +00858e 6ee6 MOVWF 0xe6,0x0 +008590 0e40 MOVLW 0x40 +008592 6ee6 MOVWF 0xe6,0x0 +008594 0e05 MOVLW 0x5 +008596 6ee6 MOVWF 0xe6,0x0 +008598 6ae6 CLRF 0xe6,0x0 +00859a d83f RCALL 0x861a +00859c cff3 MOVFF 0xff3,0x597 +00859e f597 +0085a0 cff4 MOVFF 0xff4,0x598 +0085a2 f598 +0085a4 0012 RETURN 0x0 +00861a 0e02 MOVLW 0x2 +00861c 6ee6 MOVWF 0xe6,0x0 +00861e ec9b CALL 0x6f36,0x0 +008620 f037 +008622 6e47 MOVWF 0x47,0x0 +008624 0e05 MOVLW 0x5 +008626 5ee1 SUBWF 0xe1,0x1,0x0 +008628 5047 MOVF 0x47,0x0,0x0 +00862a 0012 RETURN 0x0 C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c }//end if C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c -0083f6 0105 MOVLB 0x5 return cdc_rx_len; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c -0083f8 518f MOVF 0x8f,0x0,0x1 +008412 0105 MOVLB 0x5 return cdc_rx_len; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c +008414 518f MOVF 0x8f,0x0,0x1 C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c -0083fa d0ea BRA 0x85d0 }//end getsUSBUSART C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c +008416 d0ea BRA 0x85ec }//end getsUSBUSART C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c /****************************************************************************** C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c Function: C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c @@ -5444,7 +5444,7 @@ Address Value Disassembly Source BYTE length - the number of bytes to be transfered (must be less than 255). C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c *****************************************************************************/ C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c -0083fc d8e4 RCALL 0x85c6 void putUSBUSART(char *data, BYTE length) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c +008418 d8e4 RCALL 0x85e2 void putUSBUSART(char *data, BYTE length) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c { C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c /* C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c * User should have checked that cdc_trf_state is in CDC_TX_READY state C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c @@ -5470,20 +5470,20 @@ Address Value Disassembly Source * Use a state machine instead. C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c */ C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c USBMaskInterrupts(); C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c -0083fe 0105 MOVLB 0x5 if(cdc_trf_state == CDC_TX_READY) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c -008400 5190 MOVF 0x90,0x0,0x1 -008402 e107 BNZ 0x8412 +00841a 0105 MOVLB 0x5 if(cdc_trf_state == CDC_TX_READY) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c +00841c 5190 MOVF 0x90,0x0,0x1 +00841e e107 BNZ 0x842e { C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c -008404 d8e9 RCALL 0x85d8 mUSBUSARTTxRam((BYTE*)data, length); // See cdc.h C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c -008406 0efc MOVLW 0xfc -008408 cfdb MOVFF 0xfdb,0x595 -00840a f595 -00840c 0e01 MOVLW 0x1 -00840e 6f96 MOVWF 0x96,0x1 -008410 6f90 MOVWF 0x90,0x1 +008420 d8e9 RCALL 0x85f4 mUSBUSARTTxRam((BYTE*)data, length); // See cdc.h C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c +008422 0efc MOVLW 0xfc +008424 cfdb MOVFF 0xfdb,0x595 +008426 f595 +008428 0e01 MOVLW 0x1 +00842a 6f96 MOVWF 0x96,0x1 +00842c 6f90 MOVWF 0x90,0x1 } C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c USBUnmaskInterrupts(); C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c -008412 d0de BRA 0x85d0 }//end putUSBUSART C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c +00842e d0de BRA 0x85ec }//end putUSBUSART C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c /****************************************************************************** C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c Function: C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c @@ -5525,10 +5525,10 @@ Address Value Disassembly Source C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c *****************************************************************************/ C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c -008414 d904 RCALL 0x861e void putsUSBUSART(char *data) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c -00861e dfd3 RCALL 0x85c6 -008620 0e03 MOVLW 0x3 -008622 26e1 ADDWF 0xe1,0x1,0x0 +008430 d904 RCALL 0x863a void putsUSBUSART(char *data) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c +00863a dfd3 RCALL 0x85e2 +00863c 0e03 MOVLW 0x3 +00863e 26e1 ADDWF 0xe1,0x1,0x0 { C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c BYTE len; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c char *pData; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c @@ -5557,10 +5557,10 @@ Address Value Disassembly Source * Use a state machine instead. C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c */ C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c USBMaskInterrupts(); C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c -008416 e117 BNZ 0x8446 if(cdc_trf_state != CDC_TX_READY) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c -008624 0105 MOVLB 0x5 -008626 5190 MOVF 0x90,0x0,0x1 -008628 0012 RETURN 0x0 +008432 e117 BNZ 0x8462 if(cdc_trf_state != CDC_TX_READY) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c +008640 0105 MOVLB 0x5 +008642 5190 MOVF 0x90,0x0,0x1 +008644 0012 RETURN 0x0 { C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c USBUnmaskInterrupts(); C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c return; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c @@ -5570,33 +5570,33 @@ Address Value Disassembly Source * While loop counts the number of BYTEs to send including the C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c * null character. C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c */ C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c -008418 d8c0 RCALL 0x859a len = 0; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c -00859a 6adf CLRF 0xdf,0x0 -00859c d839 RCALL 0x8610 pData = data; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c -00859e 52de MOVF 0xde,0x1,0x0 -0085a0 c02b MOVFF 0x2b,0xfde -0085a2 ffde -0085a4 c02c MOVFF 0x2c,0xfdd -0085a6 ffdd -0085a8 52dd MOVF 0xdd,0x1,0x0 -0085aa 0012 RETURN 0x0 +008434 d8c0 RCALL 0x85b6 len = 0; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c +0085b6 6adf CLRF 0xdf,0x0 +0085b8 d839 RCALL 0x862c pData = data; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c +0085ba 52de MOVF 0xde,0x1,0x0 +0085bc c03f MOVFF 0x3f,0xfde +0085be ffde +0085c0 c040 MOVFF 0x40,0xfdd +0085c2 ffdd +0085c4 52dd MOVF 0xdd,0x1,0x0 +0085c6 0012 RETURN 0x0 do C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c { C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c -00841a 2adf INCF 0xdf,0x1,0x0 len++; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c -00841c 0eff MOVLW 0xff if(len == 255u) break; // Break loop once max len is reached. C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c -00841e 5cdf SUBWF 0xdf,0x0,0x0 -008420 e00b BZ 0x8438 -008422 0e01 MOVLW 0x1 }while(*pData++); C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c -008424 cfdb MOVFF 0xfdb,0xfe9 -008426 ffe9 -008428 2adb INCF 0xdb,0x1,0x0 -00842a 0e02 MOVLW 0x2 -00842c cfdb MOVFF 0xfdb,0xfea -00842e ffea -008430 e301 BNC 0x8434 -008432 2adb INCF 0xdb,0x1,0x0 -008434 50ef MOVF 0xef,0x0,0x0 -008436 e1f1 BNZ 0x841a +008436 2adf INCF 0xdf,0x1,0x0 len++; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c +008438 0eff MOVLW 0xff if(len == 255u) break; // Break loop once max len is reached. C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c +00843a 5cdf SUBWF 0xdf,0x0,0x0 +00843c e00b BZ 0x8454 +00843e 0e01 MOVLW 0x1 }while(*pData++); C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c +008440 cfdb MOVFF 0xfdb,0xfe9 +008442 ffe9 +008444 2adb INCF 0xdb,0x1,0x0 +008446 0e02 MOVLW 0x2 +008448 cfdb MOVFF 0xfdb,0xfea +00844a ffea +00844c e301 BNC 0x8450 +00844e 2adb INCF 0xdb,0x1,0x0 +008450 50ef MOVF 0xef,0x0,0x0 +008452 e1f1 BNZ 0x8436 C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c /* C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c * Second piece of information (length of data to send) is ready. C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c @@ -5604,21 +5604,21 @@ Address Value Disassembly Source * The actual transfer process will be handled by CDCTxService(), C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c * which should be called once per Main Program loop. C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c */ C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c -008438 d8cf RCALL 0x85d8 mUSBUSARTTxRam((BYTE*)data, len); // See cdc.h C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c -00843a cfdf MOVFF 0xfdf,0x595 -00843c f595 -00843e 0105 MOVLB 0x5 -008440 0e01 MOVLW 0x1 -008442 6f96 MOVWF 0x96,0x1 -008444 6f90 MOVWF 0x90,0x1 +008454 d8cf RCALL 0x85f4 mUSBUSARTTxRam((BYTE*)data, len); // See cdc.h C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c +008456 cfdf MOVFF 0xfdf,0x595 +008458 f595 +00845a 0105 MOVLB 0x5 +00845c 0e01 MOVLW 0x1 +00845e 6f96 MOVWF 0x96,0x1 +008460 6f90 MOVWF 0x90,0x1 USBUnmaskInterrupts(); C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c -008446 0e03 MOVLW 0x3 }//end putsUSBUSART C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c -008448 5ce1 SUBWF 0xe1,0x0,0x0 -00844a e202 BC 0x8450 -00844c 6ae1 CLRF 0xe1,0x0 -00844e 52e5 MOVF 0xe5,0x1,0x0 -008450 6ee1 MOVWF 0xe1,0x0 -008452 d0be BRA 0x85d0 +008462 0e03 MOVLW 0x3 }//end putsUSBUSART C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c +008464 5ce1 SUBWF 0xe1,0x0,0x0 +008466 e202 BC 0x846c +008468 6ae1 CLRF 0xe1,0x0 +00846a 52e5 MOVF 0xe5,0x1,0x0 +00846c 6ee1 MOVWF 0xe1,0x0 +00846e d0be BRA 0x85ec C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c /************************************************************************** C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c Function: C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c @@ -5660,7 +5660,7 @@ Address Value Disassembly Source will be transferred to the host. C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c **************************************************************************/ C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c -008454 d8e4 RCALL 0x861e void putrsUSBUSART(const ROM char *data) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c +008470 d8e4 RCALL 0x863a void putrsUSBUSART(const ROM char *data) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c { C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c BYTE len; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c const ROM char *pData; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c @@ -5689,7 +5689,7 @@ Address Value Disassembly Source * Use a state machine instead. C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c */ C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c USBMaskInterrupts(); C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c -008456 e118 BNZ 0x8488 if(cdc_trf_state != CDC_TX_READY) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c +008472 e118 BNZ 0x84a4 if(cdc_trf_state != CDC_TX_READY) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c { C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c USBUnmaskInterrupts(); C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c return; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c @@ -5699,26 +5699,26 @@ Address Value Disassembly Source * While loop counts the number of BYTEs to send including the C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c * null character. C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c */ C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c -008458 d8a0 RCALL 0x859a len = 0; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c +008474 d8a0 RCALL 0x85b6 len = 0; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c pData = data; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c do C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c { C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c -00845a 2adf INCF 0xdf,0x1,0x0 len++; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c -00845c 0eff MOVLW 0xff if(len == 255u) break; // Break loop once max len is reached. C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c -00845e 5cdf SUBWF 0xdf,0x0,0x0 -008460 e00c BZ 0x847a -008462 0e01 MOVLW 0x1 }while(*pData++); C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c -008464 cfdb MOVFF 0xfdb,0xff6 -008466 fff6 -008468 2adb INCF 0xdb,0x1,0x0 -00846a 0e02 MOVLW 0x2 -00846c cfdb MOVFF 0xfdb,0xff7 -00846e fff7 -008470 e301 BNC 0x8474 -008472 2adb INCF 0xdb,0x1,0x0 -008474 0008 TBLRD -008476 50f5 MOVF 0xf5,0x0,0x0 -008478 e1f0 BNZ 0x845a +008476 2adf INCF 0xdf,0x1,0x0 len++; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c +008478 0eff MOVLW 0xff if(len == 255u) break; // Break loop once max len is reached. C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c +00847a 5cdf SUBWF 0xdf,0x0,0x0 +00847c e00c BZ 0x8496 +00847e 0e01 MOVLW 0x1 }while(*pData++); C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c +008480 cfdb MOVFF 0xfdb,0xff6 +008482 fff6 +008484 2adb INCF 0xdb,0x1,0x0 +008486 0e02 MOVLW 0x2 +008488 cfdb MOVFF 0xfdb,0xff7 +00848a fff7 +00848c e301 BNC 0x8490 +00848e 2adb INCF 0xdb,0x1,0x0 +008490 0008 TBLRD +008492 50f5 MOVF 0xf5,0x0,0x0 +008494 e1f0 BNZ 0x8476 C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c /* C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c * Second piece of information (length of data to send) is ready. C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c @@ -5727,29 +5727,29 @@ Address Value Disassembly Source * which should be called once per Main Program loop. C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c */ C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c -00847a d8ae RCALL 0x85d8 mUSBUSARTTxRom((ROM BYTE*)data,len); // See cdc.h C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c -00847c cfdf MOVFF 0xfdf,0x595 -00847e f595 -008480 0105 MOVLB 0x5 -008482 6b96 CLRF 0x96,0x1 -008484 0e01 MOVLW 0x1 -008486 6f90 MOVWF 0x90,0x1 -0085d8 0efd MOVLW 0xfd -0085da cfdb MOVFF 0xfdb,0x591 -0085dc f591 -0085de 0efe MOVLW 0xfe -0085e0 cfdb MOVFF 0xfdb,0x592 -0085e2 f592 -0085e4 0012 RETURN 0x0 +008496 d8ae RCALL 0x85f4 mUSBUSARTTxRom((ROM BYTE*)data,len); // See cdc.h C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c +008498 cfdf MOVFF 0xfdf,0x595 +00849a f595 +00849c 0105 MOVLB 0x5 +00849e 6b96 CLRF 0x96,0x1 +0084a0 0e01 MOVLW 0x1 +0084a2 6f90 MOVWF 0x90,0x1 +0085f4 0efd MOVLW 0xfd +0085f6 cfdb MOVFF 0xfdb,0x591 +0085f8 f591 +0085fa 0efe MOVLW 0xfe +0085fc cfdb MOVFF 0xfdb,0x592 +0085fe f592 +008600 0012 RETURN 0x0 USBUnmaskInterrupts(); C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c -008488 0e03 MOVLW 0x3 }//end putrsUSBUSART C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c -00848a 5ce1 SUBWF 0xe1,0x0,0x0 -00848c e202 BC 0x8492 -00848e 6ae1 CLRF 0xe1,0x0 -008490 52e5 MOVF 0xe5,0x1,0x0 -008492 6ee1 MOVWF 0xe1,0x0 -008494 d09d BRA 0x85d0 +0084a4 0e03 MOVLW 0x3 }//end putrsUSBUSART C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c +0084a6 5ce1 SUBWF 0xe1,0x0,0x0 +0084a8 e202 BC 0x84ae +0084aa 6ae1 CLRF 0xe1,0x0 +0084ac 52e5 MOVF 0xe5,0x1,0x0 +0084ae 6ee1 MOVWF 0xe1,0x0 +0084b0 d09d BRA 0x85ec C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c /************************************************************************ C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c Function: C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c @@ -5802,14 +5802,14 @@ Address Value Disassembly Source None C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c ************************************************************************/ C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c -008496 d897 RCALL 0x85c6 void CDCTxService(void) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c -008498 0e02 MOVLW 0x2 -00849a 26e1 ADDWF 0xe1,0x1,0x0 -0085c6 cfd9 MOVFF 0xfd9,0xfe6 -0085c8 ffe6 -0085ca cfe1 MOVFF 0xfe1,0xfd9 -0085cc ffd9 -0085ce 0012 RETURN 0x0 +0084b2 d897 RCALL 0x85e2 void CDCTxService(void) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c +0084b4 0e02 MOVLW 0x2 +0084b6 26e1 ADDWF 0xe1,0x1,0x0 +0085e2 cfd9 MOVFF 0xfd9,0xfe6 +0085e4 ffe6 +0085e6 cfe1 MOVFF 0xfe1,0xfd9 +0085e8 ffd9 +0085ea 0012 RETURN 0x0 { C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c BYTE byte_to_send; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c BYTE i; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c @@ -5818,22 +5818,22 @@ Address Value Disassembly Source C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c CDCNotificationHandler(); C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c -00849c 0105 MOVLB 0x5 if(USBHandleBusy(CDCDataInHandle)) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c -00849e 5199 MOVF 0x99,0x0,0x1 -0084a0 119a IORWF 0x9a,0x0,0x1 -0084a2 e102 BNZ 0x84a8 -0084a4 0e00 MOVLW 0x0 -0084a6 d008 BRA 0x84b8 -0084a8 c599 MOVFF 0x599,0xfe9 -0084aa ffe9 -0084ac c59a MOVFF 0x59a,0xfea -0084ae ffea -0084b0 50ef MOVF 0xef,0x0,0x0 -0084b2 0b80 ANDLW 0x80 -0084b4 e001 BZ 0x84b8 -0084b6 0e01 MOVLW 0x1 -0084b8 0900 IORLW 0x0 -0084ba e153 BNZ 0x8562 +0084b8 0105 MOVLB 0x5 if(USBHandleBusy(CDCDataInHandle)) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c +0084ba 5199 MOVF 0x99,0x0,0x1 +0084bc 119a IORWF 0x9a,0x0,0x1 +0084be e102 BNZ 0x84c4 +0084c0 0e00 MOVLW 0x0 +0084c2 d008 BRA 0x84d4 +0084c4 c599 MOVFF 0x599,0xfe9 +0084c6 ffe9 +0084c8 c59a MOVFF 0x59a,0xfea +0084ca ffea +0084cc 50ef MOVF 0xef,0x0,0x0 +0084ce 0b80 ANDLW 0x80 +0084d0 e001 BZ 0x84d4 +0084d2 0e01 MOVLW 0x1 +0084d4 0900 IORLW 0x0 +0084d6 e153 BNZ 0x857e { C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c USBUnmaskInterrupts(); C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c return; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c @@ -5844,16 +5844,16 @@ Address Value Disassembly Source * By having this stage, user can always check cdc_trf_state, C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c * and not having to call mCDCUsartTxIsBusy() directly. C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c */ C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c -0084bc 0e03 MOVLW 0x3 if(cdc_trf_state == CDC_TX_COMPLETING) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c -0084be 5d90 SUBWF 0x90,0x0,0x1 -0084c0 e101 BNZ 0x84c4 -0084c2 6b90 CLRF 0x90,0x1 cdc_trf_state = CDC_TX_READY; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c +0084d8 0e03 MOVLW 0x3 if(cdc_trf_state == CDC_TX_COMPLETING) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c +0084da 5d90 SUBWF 0x90,0x0,0x1 +0084dc e101 BNZ 0x84e0 +0084de 6b90 CLRF 0x90,0x1 cdc_trf_state = CDC_TX_READY; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c /* C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c * If CDC_TX_READY state, nothing to do, just return. C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c */ C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c -0084c4 5190 MOVF 0x90,0x0,0x1 if(cdc_trf_state == CDC_TX_READY) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c -0084c6 e04d BZ 0x8562 +0084e0 5190 MOVF 0x90,0x0,0x1 if(cdc_trf_state == CDC_TX_READY) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c +0084e2 e04d BZ 0x857e { C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c USBUnmaskInterrupts(); C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c return; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c @@ -5862,107 +5862,107 @@ Address Value Disassembly Source /* C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c * If CDC_TX_BUSY_ZLP state, send zero length packet C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c */ C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c -0084c8 0e02 MOVLW 0x2 if(cdc_trf_state == CDC_TX_BUSY_ZLP) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c -0084ca 5d90 SUBWF 0x90,0x0,0x1 -0084cc e109 BNZ 0x84e0 +0084e4 0e02 MOVLW 0x2 if(cdc_trf_state == CDC_TX_BUSY_ZLP) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c +0084e6 5d90 SUBWF 0x90,0x0,0x1 +0084e8 e109 BNZ 0x84fc { C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c -0084ce 6ae6 CLRF 0xe6,0x0 CDCDataInHandle = USBTxOnePacket(CDC_DATA_EP,NULL,0); C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c -0084d0 0e00 MOVLW 0x0 -0084d2 6ee6 MOVWF 0xe6,0x0 -0084d4 6ae6 CLRF 0xe6,0x0 -0084d6 d859 RCALL 0x858a -00858a 0e01 MOVLW 0x1 -00858c 6ee6 MOVWF 0xe6,0x0 -00858e d837 RCALL 0x85fe -008590 cff3 MOVFF 0xff3,0x599 -008592 f599 -008594 cff4 MOVFF 0xff4,0x59a -008596 f59a -008598 0012 RETURN 0x0 +0084ea 6ae6 CLRF 0xe6,0x0 CDCDataInHandle = USBTxOnePacket(CDC_DATA_EP,NULL,0); C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c +0084ec 0e00 MOVLW 0x0 +0084ee 6ee6 MOVWF 0xe6,0x0 +0084f0 6ae6 CLRF 0xe6,0x0 +0084f2 d859 RCALL 0x85a6 +0085a6 0e01 MOVLW 0x1 +0085a8 6ee6 MOVWF 0xe6,0x0 +0085aa d837 RCALL 0x861a +0085ac cff3 MOVFF 0xff3,0x599 +0085ae f599 +0085b0 cff4 MOVFF 0xff4,0x59a +0085b2 f59a +0085b4 0012 RETURN 0x0 //CDC_DATA_BD_IN.CNT = 0; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c -0084d8 0105 MOVLB 0x5 cdc_trf_state = CDC_TX_COMPLETING; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c -0084da 0e03 MOVLW 0x3 -0084dc 6f90 MOVWF 0x90,0x1 +0084f4 0105 MOVLB 0x5 cdc_trf_state = CDC_TX_COMPLETING; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c +0084f6 0e03 MOVLW 0x3 +0084f8 6f90 MOVWF 0x90,0x1 } C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c -0084de d041 BRA 0x8562 else if(cdc_trf_state == CDC_TX_BUSY) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c -0084e0 0590 DECF 0x90,0x0,0x1 -0084e2 e13f BNZ 0x8562 +0084fa d041 BRA 0x857e else if(cdc_trf_state == CDC_TX_BUSY) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c +0084fc 0590 DECF 0x90,0x0,0x1 +0084fe e13f BNZ 0x857e { C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c /* C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c * First, have to figure out how many byte of data to send. C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c */ C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c -0084e4 0e40 MOVLW 0x40 if(cdc_tx_len > sizeof(cdc_data_tx)) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c -0084e6 6e33 MOVWF 0x33,0x0 -0084e8 6a34 CLRF 0x34,0x0 -0084ea 5195 MOVF 0x95,0x0,0x1 -0084ec 5c33 SUBWF 0x33,0x0,0x0 -0084ee 0e00 MOVLW 0x0 -0084f0 5834 SUBWFB 0x34,0x0,0x0 -0084f2 e203 BC 0x84fa -0084f4 0e40 MOVLW 0x40 byte_to_send = sizeof(cdc_data_tx); C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c -0084f6 6edf MOVWF 0xdf,0x0 -0084f8 d002 BRA 0x84fe else C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c -0084fa c595 MOVFF 0x595,0xfdf byte_to_send = cdc_tx_len; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c -0084fc ffdf +008500 0e40 MOVLW 0x40 if(cdc_tx_len > sizeof(cdc_data_tx)) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c +008502 6e47 MOVWF 0x47,0x0 +008504 6a48 CLRF 0x48,0x0 +008506 5195 MOVF 0x95,0x0,0x1 +008508 5c47 SUBWF 0x47,0x0,0x0 +00850a 0e00 MOVLW 0x0 +00850c 5848 SUBWFB 0x48,0x0,0x0 +00850e e203 BC 0x8516 +008510 0e40 MOVLW 0x40 byte_to_send = sizeof(cdc_data_tx); C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c +008512 6edf MOVWF 0xdf,0x0 +008514 d002 BRA 0x851a else C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c +008516 c595 MOVFF 0x595,0xfdf byte_to_send = cdc_tx_len; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c +008518 ffdf C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c /* C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c * Subtract the number of bytes just about to be sent from the total. C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c */ C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c -0084fe 50df MOVF 0xdf,0x0,0x0 cdc_tx_len = cdc_tx_len - byte_to_send; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c -008500 5d95 SUBWF 0x95,0x0,0x1 -008502 6f95 MOVWF 0x95,0x1 +00851a 50df MOVF 0xdf,0x0,0x0 cdc_tx_len = cdc_tx_len - byte_to_send; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c +00851c 5d95 SUBWF 0x95,0x0,0x1 +00851e 6f95 MOVWF 0x95,0x1 C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c -008504 0e00 MOVLW 0x0 pCDCDst.bRam = (BYTE*)&cdc_data_tx; // Set destination pointer C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c -008506 6f93 MOVWF 0x93,0x1 -008508 0e05 MOVLW 0x5 -00850a 6f94 MOVWF 0x94,0x1 +008520 0e00 MOVLW 0x0 pCDCDst.bRam = (BYTE*)&cdc_data_tx; // Set destination pointer C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c +008522 6f93 MOVWF 0x93,0x1 +008524 0e05 MOVLW 0x5 +008526 6f94 MOVWF 0x94,0x1 C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c -00850c 0e01 MOVLW 0x1 i = byte_to_send; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c -00850e cfdf MOVFF 0xfdf,0xfdb -008510 ffdb -008512 5196 MOVF 0x96,0x0,0x1 if(cdc_mem_type == USB_EP0_ROM) // Determine type of memory source C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c -008514 e10b BNZ 0x852c +008528 0e01 MOVLW 0x1 i = byte_to_send; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c +00852a cfdf MOVFF 0xfdf,0xfdb +00852c ffdb +00852e 5196 MOVF 0x96,0x0,0x1 if(cdc_mem_type == USB_EP0_ROM) // Determine type of memory source C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c +008530 e10b BNZ 0x8548 { C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c -008516 0e01 MOVLW 0x1 while(i) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c -008518 50db MOVF 0xdb,0x0,0x0 -00851a e012 BZ 0x8540 -00852a d7f5 BRA 0x8516 +008532 0e01 MOVLW 0x1 while(i) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c +008534 50db MOVF 0xdb,0x0,0x0 +008536 e012 BZ 0x855c +008546 d7f5 BRA 0x8532 { C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c -00851c c591 MOVFF 0x591,0xff6 *pCDCDst.bRam = *pCDCSrc.bRom; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c -00851e fff6 -008520 c592 MOVFF 0x592,0xff7 -008522 fff7 -008524 0008 TBLRD -008526 50f5 MOVF 0xf5,0x0,0x0 -008528 d841 RCALL 0x85ac -0085ac c593 MOVFF 0x593,0xfe9 -0085ae ffe9 -0085b0 c594 MOVFF 0x594,0xfea -0085b2 ffea -0085b4 6eef MOVWF 0xef,0x0 -0085b6 2b93 INCF 0x93,0x1,0x1 pCDCDst.bRam++; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c -0085b8 0e00 MOVLW 0x0 -0085ba 2394 ADDWFC 0x94,0x1,0x1 -0085bc 2b91 INCF 0x91,0x1,0x1 pCDCSrc.bRom++; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c -0085be 2392 ADDWFC 0x92,0x1,0x1 -0085c0 0e01 MOVLW 0x1 i--; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c -0085c2 06db DECF 0xdb,0x1,0x0 -0085c4 0012 RETURN 0x0 +008538 c591 MOVFF 0x591,0xff6 *pCDCDst.bRam = *pCDCSrc.bRom; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c +00853a fff6 +00853c c592 MOVFF 0x592,0xff7 +00853e fff7 +008540 0008 TBLRD +008542 50f5 MOVF 0xf5,0x0,0x0 +008544 d841 RCALL 0x85c8 +0085c8 c593 MOVFF 0x593,0xfe9 +0085ca ffe9 +0085cc c594 MOVFF 0x594,0xfea +0085ce ffea +0085d0 6eef MOVWF 0xef,0x0 +0085d2 2b93 INCF 0x93,0x1,0x1 pCDCDst.bRam++; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c +0085d4 0e00 MOVLW 0x0 +0085d6 2394 ADDWFC 0x94,0x1,0x1 +0085d8 2b91 INCF 0x91,0x1,0x1 pCDCSrc.bRom++; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c +0085da 2392 ADDWFC 0x92,0x1,0x1 +0085dc 0e01 MOVLW 0x1 i--; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c +0085de 06db DECF 0xdb,0x1,0x0 +0085e0 0012 RETURN 0x0 }//end while(byte_to_send) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c } C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c else // _RAM C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c { C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c -00852c 0e01 MOVLW 0x1 while(i) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c -00852e 50db MOVF 0xdb,0x0,0x0 -008530 e007 BZ 0x8540 -00853e d7f6 BRA 0x852c +008548 0e01 MOVLW 0x1 while(i) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c +00854a 50db MOVF 0xdb,0x0,0x0 +00854c e007 BZ 0x855c +00855a d7f6 BRA 0x8548 { C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c -008532 c591 MOVFF 0x591,0xfe9 *pCDCDst.bRam = *pCDCSrc.bRam; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c -008534 ffe9 -008536 c592 MOVFF 0x592,0xfea -008538 ffea -00853a 50ef MOVF 0xef,0x0,0x0 -00853c d837 RCALL 0x85ac +00854e c591 MOVFF 0x591,0xfe9 *pCDCDst.bRam = *pCDCSrc.bRam; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c +008550 ffe9 +008552 c592 MOVFF 0x592,0xfea +008554 ffea +008556 50ef MOVF 0xef,0x0,0x0 +008558 d837 RCALL 0x85c8 pCDCDst.bRam++; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c pCDCSrc.bRam++; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c i--; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c @@ -5973,40 +5973,40 @@ Address Value Disassembly Source * Lastly, determine if a zero length packet state is necessary. C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c * See explanation in USB Specification 2.0: Section 5.8.3 C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c */ C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c -008540 0105 MOVLB 0x5 if(cdc_tx_len == 0u) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c -008542 5195 MOVF 0x95,0x0,0x1 -008544 e107 BNZ 0x8554 +00855c 0105 MOVLB 0x5 if(cdc_tx_len == 0u) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c +00855e 5195 MOVF 0x95,0x0,0x1 +008560 e107 BNZ 0x8570 { C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c -008546 0e40 MOVLW 0x40 if(byte_to_send == CDC_DATA_IN_EP_SIZE) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c -008548 5cdf SUBWF 0xdf,0x0,0x0 -00854a e102 BNZ 0x8550 -00854c 0e02 MOVLW 0x2 cdc_trf_state = CDC_TX_BUSY_ZLP; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c -00854e d001 BRA 0x8552 else C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c -008550 0e03 MOVLW 0x3 cdc_trf_state = CDC_TX_COMPLETING; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c -008552 6f90 MOVWF 0x90,0x1 +008562 0e40 MOVLW 0x40 if(byte_to_send == CDC_DATA_IN_EP_SIZE) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c +008564 5cdf SUBWF 0xdf,0x0,0x0 +008566 e102 BNZ 0x856c +008568 0e02 MOVLW 0x2 cdc_trf_state = CDC_TX_BUSY_ZLP; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c +00856a d001 BRA 0x856e else C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c +00856c 0e03 MOVLW 0x3 cdc_trf_state = CDC_TX_COMPLETING; C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c +00856e 6f90 MOVWF 0x90,0x1 }//end if(cdc_tx_len...) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c -008554 cfdf MOVFF 0xfdf,0xfe6 CDCDataInHandle = USBTxOnePacket(CDC_DATA_EP,(BYTE*)&cdc_data_tx,byte_to_send); C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c -008556 ffe6 -008558 0e00 MOVLW 0x0 -00855a 6ee6 MOVWF 0xe6,0x0 -00855c 0e05 MOVLW 0x5 -00855e 6ee6 MOVWF 0xe6,0x0 -008560 d814 RCALL 0x858a +008570 cfdf MOVFF 0xfdf,0xfe6 CDCDataInHandle = USBTxOnePacket(CDC_DATA_EP,(BYTE*)&cdc_data_tx,byte_to_send); C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c +008572 ffe6 +008574 0e00 MOVLW 0x0 +008576 6ee6 MOVWF 0xe6,0x0 +008578 0e05 MOVLW 0x5 +00857a 6ee6 MOVWF 0xe6,0x0 +00857c d814 RCALL 0x85a6 C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c }//end if(cdc_tx_sate == CDC_TX_BUSY) C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c USBUnmaskInterrupts(); C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c -008562 0e02 MOVLW 0x2 }//end CDCTxService C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c -008564 5ce1 SUBWF 0xe1,0x0,0x0 -008566 e202 BC 0x856c -008568 6ae1 CLRF 0xe1,0x0 -00856a 52e5 MOVF 0xe5,0x1,0x0 -00856c 6ee1 MOVWF 0xe1,0x0 -00856e d030 BRA 0x85d0 -0085d0 52e5 MOVF 0xe5,0x1,0x0 -0085d2 cfe7 MOVFF 0xfe7,0xfd9 -0085d4 ffd9 -0085d6 0012 RETURN 0x0 +00857e 0e02 MOVLW 0x2 }//end CDCTxService C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c +008580 5ce1 SUBWF 0xe1,0x0,0x0 +008582 e202 BC 0x8588 +008584 6ae1 CLRF 0xe1,0x0 +008586 52e5 MOVF 0xe5,0x1,0x0 +008588 6ee1 MOVWF 0xe1,0x0 +00858a d030 BRA 0x85ec +0085ec 52e5 MOVF 0xe5,0x1,0x0 +0085ee cfe7 MOVFF 0xfe7,0xfd9 +0085f0 ffd9 +0085f2 0012 RETURN 0x0 C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c #endif //USB_USE_CDC C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c C:\Projects\EggBot_GH\EBB_firmware\Microchip\USB\CDC Device Driver\usb_function_cdc.c @@ -6322,15 +6322,21 @@ Address Value Disassembly Source SOLENOID_PWM C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c } SolenoidStateType; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - // This is the FIFO that stores the motion commands. It spans multiple RAM C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - // banks from 0x800 through 0xCFF, and must only be accessed via pointer C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - #pragma udata FIFO_scn C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - MoveCommandType CommandFIFO[COMMAND_FIFO_MAX_LENGTH]; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - // These global variables are deliberately put into "Bank" 1 of RAM. C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - // They are every global variable that the 25KHz ISR has to access. C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - // With them all being in bank 1, no bank switch instructions are needed C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - // in the ISR save for one at the very top. C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + // This is the FIFO that stores the motion commands. It spans multiple RAM C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + // banks from 0x600 through 0xDFF (length 0x800 or 2048d), and must only be C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + // accessed via pointer. C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + // Note that no matter what COMMAND_FIFO_MAX_LENGTH is set to, we reserve the C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + // entire 0x800 bytes of space in the FIFO_scn here. That prevents the linker C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + // from putting variables after this section. C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + #pragma udata FIFO_scn C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + UINT8 CommandFIFO[COMMAND_FIFO_SIZE_BYTES]; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + // These global variables are deliberately put into "Bank" 0 of RAM (the C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + // access/near bank). C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + // They are the small global variables that the 25KHz ISR has to access. C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + // With them all being in bank 0, no bank switch instructions are needed C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + // to access them. C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c #pragma udata access ISR_access C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c //static UINT8 TookStep; // LSb set if a step was taken C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c @@ -6389,28 +6395,28 @@ Address Value Disassembly Source volatile static near INT32 globalStepCounter1; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c volatile static near INT32 globalStepCounter2; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - #pragma udata ISR_globals = 0x180 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - MoveCommandType CurrentCommand; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // Pointer to a MoveCommandType element of the FIFO array C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - MoveCommandType * FIFOPtr = &CommandFIFO[0]; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - // Accumulator for each axis C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - static u32b4_t acc_union[2]; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + near MoveCommandType * FIFOPtr = (near MoveCommandType *)&CommandFIFO[0]; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + // Accumulator for each axis C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + static near u32b4_t acc_union[2]; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // ISR globals used in test modes for keeping track of each move C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - static UINT32 gISRTickCountForThisCommand; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - static UINT32 gISRStepCountForThisCommand; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - static INT32 gISRPositionForThisCommand; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + static near UINT32 gISRTickCountForThisCommand; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + static near UINT32 gISRStepCountForThisCommand; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + static near INT32 gISRPositionForThisCommand; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - // These globals are now set to be put anywhere the linker can find space for them C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - #pragma udata C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - static MoveCommandType gMoveTemp; // Commands fill this then copy to FIFO C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + // Bank 1 is the "ISR Bank". By placing all variables that the ISR needs C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + // access to either in the access bank (above) or in Bank 1, then the bank C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + // select register can be kept pointing to Bank 1 and no bank switch instructions C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + // are needed in the iSR. C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + #pragma udata ISR_globals = 0x180 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + // The move command containing the currently executing move command in the ISR C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + MoveCommandType CurrentCommand; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c unsigned int DemoModeActive; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - unsigned int comd_counter; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c static SolenoidStateType SolenoidState; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c static unsigned int SolenoidDelay; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c @@ -6418,7 +6424,6 @@ Address Value Disassembly Source static PenStateType PenState; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c static unsigned long NodeCount; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - static UINT8 gSL_Storage[32]; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c unsigned char QC_ms_timer; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c static UINT StoredEngraverPower; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // Set TRUE to enable solenoid output for pen up/down C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c @@ -6450,6 +6455,16 @@ Address Value Disassembly Source static INT32 gTmpJerk2; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c static UINT32 gTmpClearAccs; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + // These globals are now set to be put anywhere the linker can find space for them C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + #pragma udata C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + static MoveCommandType gMoveTemp; // Commands fill this then copy to FIFO C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + // Storage for the 32 bytes of "SL" command values C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + static UINT8 gSL_Storage[32]; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // Local function definitions C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c @@ -6553,21 +6568,21 @@ Address Value Disassembly Source } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // Add the rate to the accumulator and see if the MSb got set. If so C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // then take a step and record that the step was taken C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001094 ec34 CALL 0x4068,0x0 acc_union[0].value += CurrentCommand.Rate[0].value; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001094 ec45 CALL 0x408a,0x0 acc_union[0].value += CurrentCommand.Rate[0].value; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c 001096 f020 -004068 5187 MOVF 0x87,0x0,0x1 -00406a 27af ADDWF 0xaf,0x1,0x1 -00406c 5188 MOVF 0x88,0x0,0x1 -00406e 23b0 ADDWFC 0xb0,0x1,0x1 -004070 5189 MOVF 0x89,0x0,0x1 -004072 23b1 ADDWFC 0xb1,0x1,0x1 -004074 518a MOVF 0x8a,0x0,0x1 -004076 23b2 ADDWFC 0xb2,0x1,0x1 -004078 0012 RETURN 0x0 -001098 afb2 BTFSS 0xb2,0x7,0x1 if (acc_union[0].bytes.b4 & 0x80) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +00408a 5187 MOVF 0x87,0x0,0x1 +00408c 2623 ADDWF 0x23,0x1,0x0 +00408e 5188 MOVF 0x88,0x0,0x1 +004090 2224 ADDWFC 0x24,0x1,0x0 +004092 5189 MOVF 0x89,0x0,0x1 +004094 2225 ADDWFC 0x25,0x1,0x0 +004096 518a MOVF 0x8a,0x0,0x1 +004098 2226 ADDWFC 0x26,0x1,0x0 +00409a 0012 RETURN 0x0 +001098 ae26 BTFSS 0x26,0x7,0x0 if (acc_union[0].bytes.b4 & 0x80) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c 00109a d00e BRA 0x10b8 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -00109c 9fb2 BCF 0xb2,0x7,0x1 acc_union[0].bytes.b4 &= 0x7F; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +00109c 9e26 BCF 0x26,0x7,0x0 acc_union[0].bytes.b4 &= 0x7F; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c 00109e 8d81 BSF 0x81,0x6,0x1 CurrentCommand.DirBits |= STEP1_BIT; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c 0010a0 ec4e CALL 0x3c9c,0x0 CurrentCommand.Steps[0]--; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c 0010a2 f01e @@ -6575,15 +6590,15 @@ Address Value Disassembly Source 0010a4 a409 BTFSS 0x9,0x2,0x0 if (bittst(TestMode, TEST_MODE_USART_ISR_BIT_NUM)) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c 0010a6 d004 BRA 0x10b0 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0010a8 2bbb INCF 0xbb,0x1,0x1 gISRStepCountForThisCommand++; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0010aa 23bc ADDWFC 0xbc,0x1,0x1 -0010ac 23bd ADDWFC 0xbd,0x1,0x1 -0010ae 23be ADDWFC 0xbe,0x1,0x1 +0010a8 2a2f INCF 0x2f,0x1,0x0 gISRStepCountForThisCommand++; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +0010aa 2230 ADDWFC 0x30,0x1,0x0 +0010ac 2231 ADDWFC 0x31,0x1,0x0 +0010ae 2232 ADDWFC 0x32,0x1,0x0 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // For these stepper motion commands zero steps left means C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // the axis is no longer active C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0010b0 ec91 CALL 0x3b22,0x0 if (CurrentCommand.Steps[0] == 0u) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +0010b0 ecb5 CALL 0x3b6a,0x0 if (CurrentCommand.Steps[0] == 0u) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c 0010b2 f01d 0010b4 e101 BNZ 0x10b8 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c @@ -6597,30 +6612,30 @@ Address Value Disassembly Source 0010b8 a003 BTFSS 0x3,0x0,0x0 if (bittstzero(AxisActive[1])) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c 0010ba d00b BRA 0x10d2 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0010bc ec3d CALL 0x407a,0x0 acc_union[1].value += CurrentCommand.Rate[1].value; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +0010bc ec4e CALL 0x409c,0x0 acc_union[1].value += CurrentCommand.Rate[1].value; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c 0010be f020 -00407a 518b MOVF 0x8b,0x0,0x1 -00407c 27b3 ADDWF 0xb3,0x1,0x1 -00407e 518c MOVF 0x8c,0x0,0x1 -004080 23b4 ADDWFC 0xb4,0x1,0x1 -004082 518d MOVF 0x8d,0x0,0x1 -004084 23b5 ADDWFC 0xb5,0x1,0x1 -004086 518e MOVF 0x8e,0x0,0x1 -004088 23b6 ADDWFC 0xb6,0x1,0x1 -00408a 0012 RETURN 0x0 -0010c0 afb6 BTFSS 0xb6,0x7,0x1 if (acc_union[1].bytes.b4 & 0x80) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +00409c 518b MOVF 0x8b,0x0,0x1 +00409e 2627 ADDWF 0x27,0x1,0x0 +0040a0 518c MOVF 0x8c,0x0,0x1 +0040a2 2228 ADDWFC 0x28,0x1,0x0 +0040a4 518d MOVF 0x8d,0x0,0x1 +0040a6 2229 ADDWFC 0x29,0x1,0x0 +0040a8 518e MOVF 0x8e,0x0,0x1 +0040aa 222a ADDWFC 0x2a,0x1,0x0 +0040ac 0012 RETURN 0x0 +0010c0 ae2a BTFSS 0x2a,0x7,0x0 if (acc_union[1].bytes.b4 & 0x80) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c 0010c2 d007 BRA 0x10d2 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0010c4 9fb6 BCF 0xb6,0x7,0x1 acc_union[1].bytes.b4 &= 0x7F; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0010c6 eca9 CALL 0x3d52,0x0 CurrentCommand.DirBits |= STEP2_BIT; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -003d52 8981 +0010c4 9e2a BCF 0x2a,0x7,0x0 acc_union[1].bytes.b4 &= 0x7F; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +0010c6 ecb9 CALL 0x3d72,0x0 CurrentCommand.DirBits |= STEP2_BIT; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +003d72 8981 0010c8 f01e WORD2 0x1e CurrentCommand.Steps[1]--; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -003d54 0793 DECF 0x93,0x1,0x1 -003d56 0e00 MOVLW 0x0 -003d58 5b94 SUBWFB 0x94,0x1,0x1 -003d5a 5b95 SUBWFB 0x95,0x1,0x1 -003d5c 5b96 SUBWFB 0x96,0x1,0x1 -003d5e 0012 RETURN 0x0 +003d74 0793 DECF 0x93,0x1,0x1 +003d76 0e00 MOVLW 0x0 +003d78 5b94 SUBWFB 0x94,0x1,0x1 +003d7a 5b95 SUBWFB 0x95,0x1,0x1 +003d7c 5b96 SUBWFB 0x96,0x1,0x1 +003d7e 0012 RETURN 0x0 0010ca ec5d CALL 0x3cba,0x0 if (CurrentCommand.Steps[1] == 0u) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c 0010cc f01e 0010ce e101 BNZ 0x10d2 @@ -6664,33 +6679,33 @@ Address Value Disassembly Source 0010ee ec48 CALL 0x3c90,0x0 gISRTickCountForThisCommand++; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c 0010f0 f01e } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0010f2 ec48 CALL 0x3890,0x0 CurrentCommand.Accel[0] += CurrentCommand.Jerk[0]; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +0010f2 ec5b CALL 0x38b6,0x0 CurrentCommand.Accel[0] += CurrentCommand.Jerk[0]; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c 0010f4 f01c -003890 5197 MOVF 0x97,0x0,0x1 -003892 279f ADDWF 0x9f,0x1,0x1 -003894 5198 MOVF 0x98,0x0,0x1 -003896 23a0 ADDWFC 0xa0,0x1,0x1 -003898 5199 MOVF 0x99,0x0,0x1 -00389a 23a1 ADDWFC 0xa1,0x1,0x1 -00389c 519a MOVF 0x9a,0x0,0x1 -00389e 23a2 ADDWFC 0xa2,0x1,0x1 -0038a0 519f MOVF 0x9f,0x0,0x1 CurrentCommand.Rate[0].value += CurrentCommand.Accel[0]; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0038a2 2787 ADDWF 0x87,0x1,0x1 -0038a4 51a0 MOVF 0xa0,0x0,0x1 -0038a6 2388 ADDWFC 0x88,0x1,0x1 -0038a8 51a1 MOVF 0xa1,0x0,0x1 -0038aa 2389 ADDWFC 0x89,0x1,0x1 -0038ac 51a2 MOVF 0xa2,0x0,0x1 -0038ae 238a ADDWFC 0x8a,0x1,0x1 -0038b0 ef34 GOTO 0x4068 acc_union[0].value += CurrentCommand.Rate[0].value; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0038b2 f020 +0038b6 5197 MOVF 0x97,0x0,0x1 +0038b8 279f ADDWF 0x9f,0x1,0x1 +0038ba 5198 MOVF 0x98,0x0,0x1 +0038bc 23a0 ADDWFC 0xa0,0x1,0x1 +0038be 5199 MOVF 0x99,0x0,0x1 +0038c0 23a1 ADDWFC 0xa1,0x1,0x1 +0038c2 519a MOVF 0x9a,0x0,0x1 +0038c4 23a2 ADDWFC 0xa2,0x1,0x1 +0038c6 519f MOVF 0x9f,0x0,0x1 CurrentCommand.Rate[0].value += CurrentCommand.Accel[0]; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +0038c8 2787 ADDWF 0x87,0x1,0x1 +0038ca 51a0 MOVF 0xa0,0x0,0x1 +0038cc 2388 ADDWFC 0x88,0x1,0x1 +0038ce 51a1 MOVF 0xa1,0x0,0x1 +0038d0 2389 ADDWFC 0x89,0x1,0x1 +0038d2 51a2 MOVF 0xa2,0x0,0x1 +0038d4 238a ADDWFC 0x8a,0x1,0x1 +0038d6 ef45 GOTO 0x408a acc_union[0].value += CurrentCommand.Rate[0].value; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +0038d8 f020 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0010f6 afb2 BTFSS 0xb2,0x7,0x1 if (acc_union[0].bytes.b4 & 0x80) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +0010f6 ae26 BTFSS 0x26,0x7,0x0 if (acc_union[0].bytes.b4 & 0x80) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c 0010f8 d017 BRA 0x1128 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c 0010fa 0e7f MOVLW 0x7f acc_union[0].bytes.b4 = acc_union[0].bytes.b4 & 0x7F; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0010fc 15b2 ANDWF 0xb2,0x0,0x1 -0010fe 6fb2 MOVWF 0xb2,0x1 +0010fc 1426 ANDWF 0x26,0x0,0x0 +0010fe 6e26 MOVWF 0x26,0x0 001100 8d81 BSF 0x81,0x6,0x1 CurrentCommand.DirBits |= STEP1_BIT; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c 001102 ec4e CALL 0x3c9c,0x0 CurrentCommand.Steps[0]--; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c 001104 f01e @@ -6698,10 +6713,10 @@ Address Value Disassembly Source 001106 a409 BTFSS 0x9,0x2,0x0 if (bittst(TestMode, TEST_MODE_USART_ISR_BIT_NUM)) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c 001108 d004 BRA 0x1112 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -00110a 2bbb INCF 0xbb,0x1,0x1 gISRStepCountForThisCommand++; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -00110c 23bc ADDWFC 0xbc,0x1,0x1 -00110e 23bd ADDWFC 0xbd,0x1,0x1 -001110 23be ADDWFC 0xbe,0x1,0x1 +00110a 2a2f INCF 0x2f,0x1,0x0 gISRStepCountForThisCommand++; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +00110c 2230 ADDWFC 0x30,0x1,0x0 +00110e 2231 ADDWFC 0x31,0x1,0x0 +001110 2232 ADDWFC 0x32,0x1,0x0 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // Set the direction bit based on the sign of rate C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c 001112 af8a BTFSS 0x8a,0x7,0x1 if (CurrentCommand.Rate[0].bytes.b4 & 0x80) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c @@ -6716,7 +6731,7 @@ Address Value Disassembly Source 00111e 9e8c BCF 0x8c,0x7,0x0 Dir1IO = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001120 ec91 CALL 0x3b22,0x0 if (CurrentCommand.Steps[0] == 0u) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001120 ecb5 CALL 0x3b6a,0x0 if (CurrentCommand.Steps[0] == 0u) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c 001122 f01d 001124 e101 BNZ 0x1128 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c @@ -6730,34 +6745,34 @@ Address Value Disassembly Source 001128 a003 BTFSS 0x3,0x0,0x0 if (bittstzero(AxisActive[1])) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c 00112a d014 BRA 0x1154 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -00112c ec5a CALL 0x38b4,0x0 CurrentCommand.Accel[1] += CurrentCommand.Jerk[1]; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +00112c ec6d CALL 0x38da,0x0 CurrentCommand.Accel[1] += CurrentCommand.Jerk[1]; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c 00112e f01c -0038b4 519b MOVF 0x9b,0x0,0x1 -0038b6 27a3 ADDWF 0xa3,0x1,0x1 -0038b8 519c MOVF 0x9c,0x0,0x1 -0038ba 23a4 ADDWFC 0xa4,0x1,0x1 -0038bc 519d MOVF 0x9d,0x0,0x1 -0038be 23a5 ADDWFC 0xa5,0x1,0x1 -0038c0 519e MOVF 0x9e,0x0,0x1 -0038c2 23a6 ADDWFC 0xa6,0x1,0x1 -0038c4 51a3 MOVF 0xa3,0x0,0x1 CurrentCommand.Rate[1].value += CurrentCommand.Accel[1]; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0038c6 278b ADDWF 0x8b,0x1,0x1 -0038c8 51a4 MOVF 0xa4,0x0,0x1 -0038ca 238c ADDWFC 0x8c,0x1,0x1 -0038cc 51a5 MOVF 0xa5,0x0,0x1 -0038ce 238d ADDWFC 0x8d,0x1,0x1 -0038d0 51a6 MOVF 0xa6,0x0,0x1 -0038d2 238e ADDWFC 0x8e,0x1,0x1 -0038d4 ef3d GOTO 0x407a acc_union[1].value += CurrentCommand.Rate[1].value; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0038d6 f020 +0038da 519b MOVF 0x9b,0x0,0x1 +0038dc 27a3 ADDWF 0xa3,0x1,0x1 +0038de 519c MOVF 0x9c,0x0,0x1 +0038e0 23a4 ADDWFC 0xa4,0x1,0x1 +0038e2 519d MOVF 0x9d,0x0,0x1 +0038e4 23a5 ADDWFC 0xa5,0x1,0x1 +0038e6 519e MOVF 0x9e,0x0,0x1 +0038e8 23a6 ADDWFC 0xa6,0x1,0x1 +0038ea 51a3 MOVF 0xa3,0x0,0x1 CurrentCommand.Rate[1].value += CurrentCommand.Accel[1]; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +0038ec 278b ADDWF 0x8b,0x1,0x1 +0038ee 51a4 MOVF 0xa4,0x0,0x1 +0038f0 238c ADDWFC 0x8c,0x1,0x1 +0038f2 51a5 MOVF 0xa5,0x0,0x1 +0038f4 238d ADDWFC 0x8d,0x1,0x1 +0038f6 51a6 MOVF 0xa6,0x0,0x1 +0038f8 238e ADDWFC 0x8e,0x1,0x1 +0038fa ef4e GOTO 0x409c acc_union[1].value += CurrentCommand.Rate[1].value; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +0038fc f020 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001130 afb6 BTFSS 0xb6,0x7,0x1 if (acc_union[1].bytes.b4 & 0x80) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001130 ae2a BTFSS 0x2a,0x7,0x0 if (acc_union[1].bytes.b4 & 0x80) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c 001132 d010 BRA 0x1154 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c 001134 0e7f MOVLW 0x7f acc_union[1].bytes.b4 = acc_union[1].bytes.b4 & 0x7F; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001136 15b6 ANDWF 0xb6,0x0,0x1 -001138 6fb6 MOVWF 0xb6,0x1 -00113a eca9 CALL 0x3d52,0x0 CurrentCommand.DirBits |= STEP2_BIT; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001136 142a ANDWF 0x2a,0x0,0x0 +001138 6e2a MOVWF 0x2a,0x0 +00113a ecb9 CALL 0x3d72,0x0 CurrentCommand.DirBits |= STEP2_BIT; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c 00113c f01e CurrentCommand.Steps[1]--; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // Set the direction bit based on the sign of rate C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c 00113e af8e BTFSS 0x8e,0x7,0x1 if (CurrentCommand.Rate[1].bytes.b4 & 0x80) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c @@ -6824,7 +6839,7 @@ Address Value Disassembly Source 003ca2 5b91 SUBWFB 0x91,0x1,0x1 003ca4 5b92 SUBWFB 0x92,0x1,0x1 003ca6 0012 RETURN 0x0 -001172 ec91 CALL 0x3b22,0x0 if (CurrentCommand.Steps[0] == 0u) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001172 ecb5 CALL 0x3b6a,0x0 if (CurrentCommand.Steps[0] == 0u) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c 001174 f01d 001176 e101 BNZ 0x117a { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c @@ -6838,33 +6853,33 @@ Address Value Disassembly Source { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c 00117e ec48 CALL 0x3c90,0x0 gISRTickCountForThisCommand++; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c 001180 f01e -003c90 2bb7 INCF 0xb7,0x1,0x1 +003c90 2a2b INCF 0x2b,0x1,0x0 003c92 0e00 MOVLW 0x0 -003c94 23b8 ADDWFC 0xb8,0x1,0x1 -003c96 23b9 ADDWFC 0xb9,0x1,0x1 -003c98 23ba ADDWFC 0xba,0x1,0x1 +003c94 222c ADDWFC 0x2c,0x1,0x0 +003c96 222d ADDWFC 0x2d,0x1,0x0 +003c98 222e ADDWFC 0x2e,0x1,0x0 003c9a 0012 RETURN 0x0 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001182 ec48 CALL 0x3890,0x0 CurrentCommand.Accel[0] += CurrentCommand.Jerk[0]; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001182 ec5b CALL 0x38b6,0x0 CurrentCommand.Accel[0] += CurrentCommand.Jerk[0]; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c 001184 f01c CurrentCommand.Rate[0].value += CurrentCommand.Accel[0]; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c acc_union[0].value += CurrentCommand.Rate[0].value; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001186 afb2 BTFSS 0xb2,0x7,0x1 if (acc_union[0].bytes.b4 & 0x80) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001186 ae26 BTFSS 0x26,0x7,0x0 if (acc_union[0].bytes.b4 & 0x80) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c 001188 d012 BRA 0x11ae { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c 00118a 0e7f MOVLW 0x7f acc_union[0].bytes.b4 = acc_union[0].bytes.b4 & 0x7F; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -00118c 15b2 ANDWF 0xb2,0x0,0x1 -00118e 6fb2 MOVWF 0xb2,0x1 +00118c 1426 ANDWF 0x26,0x0,0x0 +00118e 6e26 MOVWF 0x26,0x0 001190 8d81 BSF 0x81,0x6,0x1 CurrentCommand.DirBits |= STEP1_BIT; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c 001192 a409 BTFSS 0x9,0x2,0x0 if (bittst(TestMode, TEST_MODE_USART_ISR_BIT_NUM)) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c 001194 d005 BRA 0x11a0 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001196 2bbb INCF 0xbb,0x1,0x1 gISRStepCountForThisCommand++; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001196 2a2f INCF 0x2f,0x1,0x0 gISRStepCountForThisCommand++; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c 001198 0e00 MOVLW 0x0 -00119a 23bc ADDWFC 0xbc,0x1,0x1 -00119c 23bd ADDWFC 0xbd,0x1,0x1 -00119e 23be ADDWFC 0xbe,0x1,0x1 +00119a 2230 ADDWFC 0x30,0x1,0x0 +00119c 2231 ADDWFC 0x31,0x1,0x0 +00119e 2232 ADDWFC 0x32,0x1,0x0 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // Set the direction bit based on the sign of rate C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c @@ -6883,17 +6898,17 @@ Address Value Disassembly Source C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c //// MOTOR 2 LT //// C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0011ae ec5a CALL 0x38b4,0x0 CurrentCommand.Accel[1] += CurrentCommand.Jerk[1]; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +0011ae ec6d CALL 0x38da,0x0 CurrentCommand.Accel[1] += CurrentCommand.Jerk[1]; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c 0011b0 f01c CurrentCommand.Rate[1].value += CurrentCommand.Accel[1]; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c acc_union[1].value += CurrentCommand.Rate[1].value; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0011b2 afb6 BTFSS 0xb6,0x7,0x1 if (acc_union[1].bytes.b4 & 0x80) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +0011b2 ae2a BTFSS 0x2a,0x7,0x0 if (acc_union[1].bytes.b4 & 0x80) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c 0011b4 d00b BRA 0x11cc { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c 0011b6 0e7f MOVLW 0x7f acc_union[1].bytes.b4 = acc_union[1].bytes.b4 & 0x7F; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0011b8 15b6 ANDWF 0xb6,0x0,0x1 -0011ba 6fb6 MOVWF 0xb6,0x1 +0011b8 142a ANDWF 0x2a,0x0,0x0 +0011ba 6e2a MOVWF 0x2a,0x0 0011bc 8981 BSF 0x81,0x4,0x1 CurrentCommand.DirBits |= STEP2_BIT; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // Set the direction bit based on the sign of rate C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c @@ -6989,10 +7004,10 @@ Address Value Disassembly Source 00120e a409 BTFSS 0x9,0x2,0x0 if (bittst(TestMode, TEST_MODE_USART_ISR_BIT_NUM)) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c 001210 d010 BRA 0x1232 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001212 07bf DECF 0xbf,0x1,0x1 gISRPositionForThisCommand--; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001214 5bc0 SUBWFB 0xc0,0x1,0x1 -001216 5bc1 SUBWFB 0xc1,0x1,0x1 -001218 5bc2 SUBWFB 0xc2,0x1,0x1 +001212 0633 DECF 0x33,0x1,0x0 gISRPositionForThisCommand--; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001214 5a34 SUBWFB 0x34,0x1,0x0 +001216 5a35 SUBWFB 0x35,0x1,0x0 +001218 5a36 SUBWFB 0x36,0x1,0x0 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c 00121a d00b BRA 0x1232 else C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c @@ -7005,10 +7020,10 @@ Address Value Disassembly Source 001226 a409 BTFSS 0x9,0x2,0x0 if (bittst(TestMode, TEST_MODE_USART_ISR_BIT_NUM)) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c 001228 d004 BRA 0x1232 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -00122a 2bbf INCF 0xbf,0x1,0x1 gISRPositionForThisCommand++; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -00122c 23c0 ADDWFC 0xc0,0x1,0x1 -00122e 23c1 ADDWFC 0xc1,0x1,0x1 -001230 23c2 ADDWFC 0xc2,0x1,0x1 +00122a 2a33 INCF 0x33,0x1,0x0 gISRPositionForThisCommand++; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +00122c 2234 ADDWFC 0x34,0x1,0x0 +00122e 2235 ADDWFC 0x35,0x1,0x0 +001230 2236 ADDWFC 0x36,0x1,0x0 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c @@ -7039,13 +7054,13 @@ Address Value Disassembly Source 001252 1781 ANDWF 0x81,0x1,0x1 // We need to skip over all the rest of command checks, since we already C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // handled the command that is currently executing. C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001254 d0da BRA 0x140a goto CheckForNextCommand; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001254 d0d4 BRA 0x13fe goto CheckForNextCommand; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c NonStepperCommands: C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // Now check for all the other (non-stepper based) motion FIFO commands C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c 001256 a380 BTFSS 0x80,0x1,0x1 if (bittst(CurrentCommand.Command, COMMAND_SERVO_MOVE_BIT_NUM)) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001258 d05a BRA 0x130e +001258 d058 BRA 0x130a { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // Check to see if we should change the state of the pen C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c 00125a a005 BTFSS 0x5,0x0,0x0 if (bittstzero(gUseRCPenServo)) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c @@ -7067,7 +7082,7 @@ Address Value Disassembly Source 001266 e11a BNZ 0x129c { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // Turn off the PPS routing to the pin C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001268 ec8a CALL 0x3b14,0x0 *(gRC2RPORPtr + gRC2RPn[ISR_Channel]) = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001268 ecae CALL 0x3b5c,0x0 *(gRC2RPORPtr + gRC2RPn[ISR_Channel]) = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c 00126a f01d 00126c 50ef MOVF 0xef,0x0,0x0 00126e 0100 MOVLB 0x0 @@ -7078,32 +7093,32 @@ Address Value Disassembly Source 001278 22ea ADDWFC 0xea,0x1,0x0 00127a 6aef CLRF 0xef,0x0 // Clear everything else out for this channel C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -00127c eca2 CALL 0x4144,0x0 gRC2Rate[ISR_Channel] = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +00127c ecb3 CALL 0x4166,0x0 gRC2Rate[ISR_Channel] = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c 00127e f020 001280 6aee CLRF 0xee,0x0 001282 6aed CLRF 0xed,0x0 -004144 ec3a CALL 0x3874,0x0 -004146 f01c -004148 0e75 MOVLW 0x75 -00414a 26e9 ADDWF 0xe9,0x1,0x0 -00414c 0e00 MOVLW 0x0 -00414e 22ea ADDWFC 0xea,0x1,0x0 -004150 0012 RETURN 0x0 -001284 eca9 CALL 0x4152,0x0 gRC2Target[ISR_Channel] = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +004166 ec4d CALL 0x389a,0x0 +004168 f01c +00416a 0e75 MOVLW 0x75 +00416c 26e9 ADDWF 0xe9,0x1,0x0 +00416e 0e00 MOVLW 0x0 +004170 22ea ADDWFC 0xea,0x1,0x0 +004172 0012 RETURN 0x0 +001284 ecba CALL 0x4174,0x0 gRC2Target[ISR_Channel] = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c 001286 f020 001288 6aee CLRF 0xee,0x0 00128a 6aed CLRF 0xed,0x0 -004152 ec3a CALL 0x3874,0x0 -004154 f01c -004156 0e6d MOVLW 0x6d -004158 26e9 ADDWF 0xe9,0x1,0x0 -00415a 0e00 MOVLW 0x0 -00415c 22ea ADDWFC 0xea,0x1,0x0 -00415e 0012 RETURN 0x0 -00128c ec8a CALL 0x3b14,0x0 gRC2RPn[ISR_Channel] = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +004174 ec4d CALL 0x389a,0x0 +004176 f01c +004178 0e6d MOVLW 0x6d +00417a 26e9 ADDWF 0xe9,0x1,0x0 +00417c 0e00 MOVLW 0x0 +00417e 22ea ADDWFC 0xea,0x1,0x0 +004180 0012 RETURN 0x0 +00128c ecae CALL 0x3b5c,0x0 gRC2RPn[ISR_Channel] = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c 00128e f01d 001290 6aef CLRF 0xef,0x0 -001292 ecca CALL 0x4194,0x0 gRC2Value[ISR_Channel] = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001292 ecdb CALL 0x41b6,0x0 gRC2Value[ISR_Channel] = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c 001294 f020 001296 6aee CLRF 0xee,0x0 001298 6aed CLRF 0xed,0x0 @@ -7111,57 +7126,57 @@ Address Value Disassembly Source 00129a d01b BRA 0x12d2 else C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // Otherwise, set all of the values that start this RC servo moving C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -00129c eca2 CALL 0x4144,0x0 gRC2Rate[ISR_Channel] = CurrentCommand.ServoRate; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +00129c ecb3 CALL 0x4166,0x0 gRC2Rate[ISR_Channel] = CurrentCommand.ServoRate; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c 00129e f020 0012a0 c1ab MOVFF 0x1ab,0xfee 0012a2 ffee 0012a4 c1ac MOVFF 0x1ac,0xfed 0012a6 ffed -0012a8 eca9 CALL 0x4152,0x0 gRC2Target[ISR_Channel] = CurrentCommand.ServoPosition; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +0012a8 ecba CALL 0x4174,0x0 gRC2Target[ISR_Channel] = CurrentCommand.ServoPosition; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c 0012aa f020 0012ac c1a8 MOVFF 0x1a8,0xfee 0012ae ffee 0012b0 c1a9 MOVFF 0x1a9,0xfed 0012b2 ffed -0012b4 ec8a CALL 0x3b14,0x0 gRC2RPn[ISR_Channel] = CurrentCommand.ServoRPn; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +0012b4 ecae CALL 0x3b5c,0x0 gRC2RPn[ISR_Channel] = CurrentCommand.ServoRPn; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c 0012b6 f01d 0012b8 c1a7 MOVFF 0x1a7,0xfef 0012ba ffef -003b14 500a MOVF 0xa,0x0,0x0 -003b16 6aea CLRF 0xea,0x0 -003b18 0f69 ADDLW 0x69 -003b1a 6ee9 MOVWF 0xe9,0x0 -003b1c 0e00 MOVLW 0x0 -003b1e 22ea ADDWFC 0xea,0x1,0x0 -003b20 0012 RETURN 0x0 -0012bc ecca CALL 0x4194,0x0 if (gRC2Value[ISR_Channel] == 0u) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +003b5c 500a MOVF 0xa,0x0,0x0 +003b5e 6aea CLRF 0xea,0x0 +003b60 0f69 ADDLW 0x69 +003b62 6ee9 MOVWF 0xe9,0x0 +003b64 0e00 MOVLW 0x0 +003b66 22ea ADDWFC 0xea,0x1,0x0 +003b68 0012 RETURN 0x0 +0012bc ecdb CALL 0x41b6,0x0 if (gRC2Value[ISR_Channel] == 0u) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c 0012be f020 0012c0 50ee MOVF 0xee,0x0,0x0 0012c2 10ed IORWF 0xed,0x0,0x0 0012c4 e106 BNZ 0x12d2 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0012c6 ecca CALL 0x4194,0x0 gRC2Value[ISR_Channel] = CurrentCommand.ServoPosition; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +0012c6 ecdb CALL 0x41b6,0x0 gRC2Value[ISR_Channel] = CurrentCommand.ServoPosition; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c 0012c8 f020 0012ca c1a8 MOVFF 0x1a8,0xfee 0012cc ffee 0012ce c1a9 MOVFF 0x1a9,0xfed 0012d0 ffed -003874 500a MOVF 0xa,0x0,0x0 -003876 6ee9 MOVWF 0xe9,0x0 -003878 6aea CLRF 0xea,0x0 -00387a 90d8 BCF 0xd8,0x0,0x0 -00387c 36e9 RLCF 0xe9,0x1,0x0 -00387e 36ea RLCF 0xea,0x1,0x0 -003880 0012 RETURN 0x0 -003da6 0e61 MOVLW 0x61 -003da8 26e9 ADDWF 0xe9,0x1,0x0 -003daa 0e00 MOVLW 0x0 -003dac 22ea ADDWFC 0xea,0x1,0x0 -003dae 0012 RETURN 0x0 -004194 ec3a CALL 0x3874,0x0 -004196 f01c -004198 efd3 GOTO 0x3da6 -00419a f01e +00389a 500a MOVF 0xa,0x0,0x0 +00389c 6ee9 MOVWF 0xe9,0x0 +00389e 6aea CLRF 0xea,0x0 +0038a0 90d8 BCF 0xd8,0x0,0x0 +0038a2 36e9 RLCF 0xe9,0x1,0x0 +0038a4 36ea RLCF 0xea,0x1,0x0 +0038a6 0012 RETURN 0x0 +003dc6 0e61 MOVLW 0x61 +003dc8 26e9 ADDWF 0xe9,0x1,0x0 +003dca 0e00 MOVLW 0x0 +003dcc 22ea ADDWFC 0xea,0x1,0x0 +003dce 0012 RETURN 0x0 +0041b6 ec4d CALL 0x389a,0x0 +0041b8 f01c +0041ba efe3 GOTO 0x3dc6 +0041bc f01e } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c @@ -7171,49 +7186,46 @@ Address Value Disassembly Source 0012d4 518a MOVF 0x8a,0x0,0x1 0012d6 0101 MOVLB 0x1 0012d8 5da7 SUBWF 0xa7,0x0,0x1 -0012da e119 BNZ 0x130e +0012da e117 BNZ 0x130a { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // Then set its new state based on the new position C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c 0012dc 0100 MOVLB 0x0 if (CurrentCommand.ServoPosition == g_servo2_min) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c 0012de 5184 MOVF 0x84,0x0,0x1 0012e0 0101 MOVLB 0x1 0012e2 19a8 XORWF 0xa8,0x0,0x1 -0012e4 e10d BNZ 0x1300 +0012e4 e10c BNZ 0x12fe 0012e6 0100 MOVLB 0x0 0012e8 5185 MOVF 0x85,0x0,0x1 0012ea 0101 MOVLB 0x1 0012ec 19a9 XORWF 0xa9,0x0,0x1 -0012ee e108 BNZ 0x1300 +0012ee e107 BNZ 0x12fe { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0012f0 010b MOVLB 0xb PenState = PEN_UP; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0012f2 0e01 MOVLW 0x1 -0012f4 6f5a MOVWF 0x5a,0x1 -0012f6 6b57 CLRF 0x57,0x1 SolenoidState = SOLENOID_OFF; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0012f8 5182 MOVF 0x82,0x0,0x1 if (gUseSolenoid) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0012fa e009 BZ 0x130e +0012f0 0e01 MOVLW 0x1 PenState = PEN_UP; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +0012f2 6fb4 MOVWF 0xb4,0x1 +0012f4 6bb1 CLRF 0xb1,0x1 SolenoidState = SOLENOID_OFF; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +0012f6 51bc MOVF 0xbc,0x0,0x1 if (gUseSolenoid) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +0012f8 e008 BZ 0x130a { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0012fc 988a BCF 0x8a,0x4,0x0 PenUpDownIO = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +0012fa 988a BCF 0x8a,0x4,0x0 PenUpDownIO = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0012fe d007 BRA 0x130e else C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +0012fc d006 BRA 0x130a else C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001300 010b MOVLB 0xb PenState = PEN_DOWN; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001302 6b5a CLRF 0x5a,0x1 -001304 0e01 MOVLW 0x1 SolenoidState = SOLENOID_ON; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001306 6f57 MOVWF 0x57,0x1 -001308 5182 MOVF 0x82,0x0,0x1 if (gUseSolenoid) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -00130a e001 BZ 0x130e +0012fe 6bb4 CLRF 0xb4,0x1 PenState = PEN_DOWN; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001300 0e01 MOVLW 0x1 SolenoidState = SOLENOID_ON; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001302 6fb1 MOVWF 0xb1,0x1 +001304 51bc MOVF 0xbc,0x0,0x1 if (gUseSolenoid) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001306 e001 BZ 0x130a { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -00130c 888a BSF 0x8a,0x4,0x0 PenUpDownIO = 1; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001308 888a BSF 0x8a,0x4,0x0 PenUpDownIO = 1; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -00130e 0e03 MOVLW 0x3 if (CurrentCommand.Command & (COMMAND_SERVO_MOVE_BIT | COMMAND_DELAY_BIT)) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001310 0101 MOVLB 0x1 -001312 1580 ANDWF 0x80,0x0,0x1 -001314 e00e BZ 0x1332 +00130a 0e03 MOVLW 0x3 if (CurrentCommand.Command & (COMMAND_SERVO_MOVE_BIT | COMMAND_DELAY_BIT)) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +00130c 1580 ANDWF 0x80,0x0,0x1 +00130e e00d BZ 0x132a { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // NOTE: Intentional fall-through to COMMAND_DELAY here C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // Because the only two commands that ever use DelayCounter are C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c @@ -7221,85 +7233,84 @@ Address Value Disassembly Source // above, and then let it fall through to the delay code below. C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // Handle a delay C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001316 ec62 CALL 0x3cc4,0x0 if (CurrentCommand.DelayCounter) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001318 f01e -00131a e101 BNZ 0x131e -00131c d076 BRA 0x140a +001310 ec62 CALL 0x3cc4,0x0 if (CurrentCommand.DelayCounter) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001312 f01e +001314 e074 BZ 0x13fe { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -00131e 0782 DECF 0x82,0x1,0x1 CurrentCommand.DelayCounter--; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001320 0e00 MOVLW 0x0 -001322 5b83 SUBWFB 0x83,0x1,0x1 -001324 5b84 SUBWFB 0x84,0x1,0x1 -001326 5b85 SUBWFB 0x85,0x1,0x1 +001316 0782 DECF 0x82,0x1,0x1 CurrentCommand.DelayCounter--; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001318 0e00 MOVLW 0x0 +00131a 5b83 SUBWFB 0x83,0x1,0x1 +00131c 5b84 SUBWFB 0x84,0x1,0x1 +00131e 5b85 SUBWFB 0x85,0x1,0x1 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001328 ec62 CALL 0x3cc4,0x0 if (CurrentCommand.DelayCounter) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -00132a f01e -00132c e06e BZ 0x140a +001320 ec62 CALL 0x3cc4,0x0 if (CurrentCommand.DelayCounter) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001322 f01e +001324 e06c BZ 0x13fe { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -00132e 9000 BCF 0x0,0x0,0x0 bitclrzero(AllDone); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001326 9000 BCF 0x0,0x0,0x0 bitclrzero(AllDone); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001330 d06c BRA 0x140a goto CheckForNextCommand; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001328 d06a BRA 0x13fe goto CheckForNextCommand; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001332 a580 BTFSS 0x80,0x2,0x1 if (bittst(CurrentCommand.Command, COMMAND_SE_BIT_NUM)) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001334 d029 BRA 0x1388 +00132a a580 BTFSS 0x80,0x2,0x1 if (bittst(CurrentCommand.Command, COMMAND_SE_BIT_NUM)) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +00132c d029 BRA 0x1380 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // Check to see if we should start or stop the engraver C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // Now act on the State of the SE command C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001336 5186 MOVF 0x86,0x0,0x1 if (CurrentCommand.SEState) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001338 e022 BZ 0x137e +00132e 5186 MOVF 0x86,0x0,0x1 if (CurrentCommand.SEState) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001330 e022 BZ 0x1376 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // Set RB3 to StoredEngraverPower C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -00133a c1ad MOVFF 0x1ad,0x3f CCPR1L = CurrentCommand.SEPower >> 2; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -00133c f03f -00133e c1ae MOVFF 0x1ae,0x40 -001340 f040 -001342 90d8 BCF 0xd8,0x0,0x0 -001344 3240 RRCF 0x40,0x1,0x0 -001346 323f RRCF 0x3f,0x1,0x0 -001348 90d8 BCF 0xd8,0x0,0x0 -00134a 3240 RRCF 0x40,0x1,0x0 -00134c 323f RRCF 0x3f,0x1,0x0 -00134e 503f MOVF 0x3f,0x0,0x0 -001350 6ebb MOVWF 0xbb,0x0 -001352 cb80 MOVFF 0xb80,0x41 CCP1CON = (CCP1CON & 0b11001111) | ((StoredEngraverPower << 4) & 0b00110000); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001354 f041 -001356 cb81 MOVFF 0xb81,0x42 -001358 f042 -00135a 0e04 MOVLW 0x4 -00135c 90d8 BCF 0xd8,0x0,0x0 -00135e 3641 RLCF 0x41,0x1,0x0 -001360 3642 RLCF 0x42,0x1,0x0 -001362 04e8 DECF 0xe8,0x0,0x0 -001364 e1fb BNZ 0x135c -001366 0e30 MOVLW 0x30 -001368 1641 ANDWF 0x41,0x1,0x0 -00136a 0e00 MOVLW 0x0 -00136c 1642 ANDWF 0x42,0x1,0x0 -00136e 0ecf MOVLW 0xcf -001370 14ba ANDWF 0xba,0x0,0x0 -001372 1041 IORWF 0x41,0x0,0x0 -001374 6e3f MOVWF 0x3f,0x0 -001376 c042 MOVFF 0x42,0x40 -001378 f040 -00137a 50e8 MOVF 0xe8,0x0,0x0 +001332 c1ad MOVFF 0x1ad,0x53 CCPR1L = CurrentCommand.SEPower >> 2; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001334 f053 +001336 c1ae MOVFF 0x1ae,0x54 +001338 f054 +00133a 90d8 BCF 0xd8,0x0,0x0 +00133c 3254 RRCF 0x54,0x1,0x0 +00133e 3253 RRCF 0x53,0x1,0x0 +001340 90d8 BCF 0xd8,0x0,0x0 +001342 3254 RRCF 0x54,0x1,0x0 +001344 3253 RRCF 0x53,0x1,0x0 +001346 5053 MOVF 0x53,0x0,0x0 +001348 6ebb MOVWF 0xbb,0x0 +00134a c1ba MOVFF 0x1ba,0x55 CCP1CON = (CCP1CON & 0b11001111) | ((StoredEngraverPower << 4) & 0b00110000); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +00134c f055 +00134e c1bb MOVFF 0x1bb,0x56 +001350 f056 +001352 0e04 MOVLW 0x4 +001354 90d8 BCF 0xd8,0x0,0x0 +001356 3655 RLCF 0x55,0x1,0x0 +001358 3656 RLCF 0x56,0x1,0x0 +00135a 04e8 DECF 0xe8,0x0,0x0 +00135c e1fb BNZ 0x1354 +00135e 0e30 MOVLW 0x30 +001360 1655 ANDWF 0x55,0x1,0x0 +001362 0e00 MOVLW 0x0 +001364 1656 ANDWF 0x56,0x1,0x0 +001366 0ecf MOVLW 0xcf +001368 14ba ANDWF 0xba,0x0,0x0 +00136a 1055 IORWF 0x55,0x0,0x0 +00136c 6e53 MOVWF 0x53,0x0 +00136e c056 MOVFF 0x56,0x54 +001370 f054 +001372 50e8 MOVF 0xe8,0x0,0x0 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -00137c d003 BRA 0x1384 else C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001374 d003 BRA 0x137c else C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // Set RB3 to low by setting PWM duty cycle to zero C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -00137e 6abb CLRF 0xbb,0x0 CCPR1L = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001380 0ecf MOVLW 0xcf CCP1CON = (CCP1CON & 0b11001111); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001382 14ba ANDWF 0xba,0x0,0x0 -001384 6eba MOVWF 0xba,0x0 +001376 6abb CLRF 0xbb,0x0 CCPR1L = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001378 0ecf MOVLW 0xcf CCP1CON = (CCP1CON & 0b11001111); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +00137a 14ba ANDWF 0xba,0x0,0x0 +00137c 6eba MOVWF 0xba,0x0 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // This is probably unnecessary, but it's critical to be sure to indicate that the current command is finished C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c bitsetzero(AllDone); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001386 d040 BRA 0x1408 goto CheckForNextCommand; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +00137e d03e BRA 0x13fc goto CheckForNextCommand; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001388 a780 BTFSS 0x80,0x3,0x1 if (bittst(CurrentCommand.Command, COMMAND_EM_BIT_NUM)) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -00138a d03f BRA 0x140a +001380 a780 BTFSS 0x80,0x3,0x1 if (bittst(CurrentCommand.Command, COMMAND_EM_BIT_NUM)) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001382 d03d BRA 0x13fe { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // As of version 2.8.0, we now have the EM command transplanted here into C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // the motion queue. This is so that changes to motor enable or microstep C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c @@ -7307,96 +7318,96 @@ Address Value Disassembly Source // We use CurrentCommand.DirBits as "EA1" (the first parameter) and C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // CurrentCommand.ServoRPn as "EA2" (the second parameter) since they're C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // both UINT8s. C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -00138c 5181 MOVF 0x81,0x0,0x1 if (CurrentCommand.DirBits > 0u) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -00138e 0800 SUBLW 0x0 -001390 e223 BC 0x13d8 +001384 5181 MOVF 0x81,0x0,0x1 if (CurrentCommand.DirBits > 0u) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001386 0800 SUBLW 0x0 +001388 e223 BC 0x13d0 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001392 5004 MOVF 0x4,0x0,0x0 if (DriverConfiguration == PIC_CONTROLS_DRIVERS) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001394 e102 BNZ 0x139a +00138a 5004 MOVF 0x4,0x0,0x0 if (DriverConfiguration == PIC_CONTROLS_DRIVERS) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +00138c e102 BNZ 0x1392 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001396 908d BCF 0x8d,0x0,0x0 Enable1IO = ENABLE_MOTOR; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +00138e 908d BCF 0x8d,0x0,0x0 Enable1IO = ENABLE_MOTOR; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001398 d001 BRA 0x139c else C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001390 d001 BRA 0x1394 else C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -00139a 928c BCF 0x8c,0x1,0x0 Enable1AltIO = ENABLE_MOTOR; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001392 928c BCF 0x8c,0x1,0x0 Enable1AltIO = ENABLE_MOTOR; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -00139c 0581 DECF 0x81,0x0,0x1 if (CurrentCommand.DirBits == 1u) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -00139e e103 BNZ 0x13a6 +001394 0581 DECF 0x81,0x0,0x1 if (CurrentCommand.DirBits == 1u) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001396 e103 BNZ 0x139e { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0013a0 848d BSF 0x8d,0x2,0x0 MS1_IO = 1; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0013a2 828d BSF 0x8d,0x1,0x0 MS2_IO = 1; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0013a4 8c89 BSF 0x89,0x6,0x0 MS3_IO = 1; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001398 848d BSF 0x8d,0x2,0x0 MS1_IO = 1; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +00139a 828d BSF 0x8d,0x1,0x0 MS2_IO = 1; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +00139c 8c89 BSF 0x89,0x6,0x0 MS3_IO = 1; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0013a6 0e02 MOVLW 0x2 if (CurrentCommand.DirBits == 2u) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0013a8 5d81 SUBWF 0x81,0x0,0x1 -0013aa e103 BNZ 0x13b2 +00139e 0e02 MOVLW 0x2 if (CurrentCommand.DirBits == 2u) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +0013a0 5d81 SUBWF 0x81,0x0,0x1 +0013a2 e103 BNZ 0x13aa { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0013ac 848d BSF 0x8d,0x2,0x0 MS1_IO = 1; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0013ae 828d BSF 0x8d,0x1,0x0 MS2_IO = 1; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0013b0 9c89 BCF 0x89,0x6,0x0 MS3_IO = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +0013a4 848d BSF 0x8d,0x2,0x0 MS1_IO = 1; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +0013a6 828d BSF 0x8d,0x1,0x0 MS2_IO = 1; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +0013a8 9c89 BCF 0x89,0x6,0x0 MS3_IO = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0013b2 0e03 MOVLW 0x3 if (CurrentCommand.DirBits == 3u) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0013b4 5d81 SUBWF 0x81,0x0,0x1 -0013b6 e103 BNZ 0x13be +0013aa 0e03 MOVLW 0x3 if (CurrentCommand.DirBits == 3u) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +0013ac 5d81 SUBWF 0x81,0x0,0x1 +0013ae e103 BNZ 0x13b6 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0013b8 948d BCF 0x8d,0x2,0x0 MS1_IO = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0013ba 828d BSF 0x8d,0x1,0x0 MS2_IO = 1; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0013bc 9c89 BCF 0x89,0x6,0x0 MS3_IO = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +0013b0 948d BCF 0x8d,0x2,0x0 MS1_IO = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +0013b2 828d BSF 0x8d,0x1,0x0 MS2_IO = 1; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +0013b4 9c89 BCF 0x89,0x6,0x0 MS3_IO = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0013be 0e04 MOVLW 0x4 if (CurrentCommand.DirBits == 4u) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0013c0 5d81 SUBWF 0x81,0x0,0x1 -0013c2 e103 BNZ 0x13ca +0013b6 0e04 MOVLW 0x4 if (CurrentCommand.DirBits == 4u) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +0013b8 5d81 SUBWF 0x81,0x0,0x1 +0013ba e103 BNZ 0x13c2 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0013c4 848d BSF 0x8d,0x2,0x0 MS1_IO = 1; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0013c6 928d BCF 0x8d,0x1,0x0 MS2_IO = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0013c8 9c89 BCF 0x89,0x6,0x0 MS3_IO = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +0013bc 848d BSF 0x8d,0x2,0x0 MS1_IO = 1; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +0013be 928d BCF 0x8d,0x1,0x0 MS2_IO = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +0013c0 9c89 BCF 0x89,0x6,0x0 MS3_IO = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0013ca 0e05 MOVLW 0x5 if (CurrentCommand.DirBits == 5u) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0013cc 5d81 SUBWF 0x81,0x0,0x1 -0013ce e109 BNZ 0x13e2 +0013c2 0e05 MOVLW 0x5 if (CurrentCommand.DirBits == 5u) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +0013c4 5d81 SUBWF 0x81,0x0,0x1 +0013c6 e109 BNZ 0x13da { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0013d0 948d BCF 0x8d,0x2,0x0 MS1_IO = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0013d2 928d BCF 0x8d,0x1,0x0 MS2_IO = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0013d4 9c89 BCF 0x89,0x6,0x0 MS3_IO = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +0013c8 948d BCF 0x8d,0x2,0x0 MS1_IO = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +0013ca 928d BCF 0x8d,0x1,0x0 MS2_IO = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +0013cc 9c89 BCF 0x89,0x6,0x0 MS3_IO = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0013d6 d005 BRA 0x13e2 else C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +0013ce d005 BRA 0x13da else C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0013d8 5004 MOVF 0x4,0x0,0x0 if (DriverConfiguration == PIC_CONTROLS_DRIVERS) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0013da e102 BNZ 0x13e0 +0013d0 5004 MOVF 0x4,0x0,0x0 if (DriverConfiguration == PIC_CONTROLS_DRIVERS) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +0013d2 e102 BNZ 0x13d8 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0013dc 808d BSF 0x8d,0x0,0x0 Enable1IO = DISABLE_MOTOR; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +0013d4 808d BSF 0x8d,0x0,0x0 Enable1IO = DISABLE_MOTOR; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0013de d001 BRA 0x13e2 else C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +0013d6 d001 BRA 0x13da else C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0013e0 828c BSF 0x8c,0x1,0x0 Enable1AltIO = DISABLE_MOTOR; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +0013d8 828c BSF 0x8c,0x1,0x0 Enable1AltIO = DISABLE_MOTOR; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0013e2 51a7 MOVF 0xa7,0x0,0x1 if (CurrentCommand.ServoRPn > 0u) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0013e4 0800 SUBLW 0x0 -0013e6 e206 BC 0x13f4 +0013da 51a7 MOVF 0xa7,0x0,0x1 if (CurrentCommand.ServoRPn > 0u) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +0013dc 0800 SUBLW 0x0 +0013de e206 BC 0x13ec { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0013e8 5004 MOVF 0x4,0x0,0x0 if (DriverConfiguration == PIC_CONTROLS_DRIVERS) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0013ea e102 BNZ 0x13f0 +0013e0 5004 MOVF 0x4,0x0,0x0 if (DriverConfiguration == PIC_CONTROLS_DRIVERS) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +0013e2 e102 BNZ 0x13e8 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0013ec 928b BCF 0x8b,0x1,0x0 Enable2IO = ENABLE_MOTOR; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +0013e4 928b BCF 0x8b,0x1,0x0 Enable2IO = ENABLE_MOTOR; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0013ee d007 BRA 0x13fe else C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +0013e6 d007 BRA 0x13f6 else C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0013f0 9289 BCF 0x89,0x1,0x0 Enable2AltIO = ENABLE_MOTOR; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +0013e8 9289 BCF 0x89,0x1,0x0 Enable2AltIO = ENABLE_MOTOR; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0013f2 d005 BRA 0x13fe else C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +0013ea d005 BRA 0x13f6 else C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0013f4 5004 MOVF 0x4,0x0,0x0 if (DriverConfiguration == PIC_CONTROLS_DRIVERS) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0013f6 e102 BNZ 0x13fc +0013ec 5004 MOVF 0x4,0x0,0x0 if (DriverConfiguration == PIC_CONTROLS_DRIVERS) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +0013ee e102 BNZ 0x13f4 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0013f8 828b BSF 0x8b,0x1,0x0 Enable2IO = DISABLE_MOTOR; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +0013f0 828b BSF 0x8b,0x1,0x0 Enable2IO = DISABLE_MOTOR; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0013fa d001 BRA 0x13fe else C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +0013f2 d001 BRA 0x13f6 else C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0013fc 8289 BSF 0x89,0x1,0x0 Enable2AltIO = DISABLE_MOTOR; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +0013f4 8289 BSF 0x89,0x1,0x0 Enable2AltIO = DISABLE_MOTOR; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c @@ -7407,36 +7418,33 @@ Address Value Disassembly Source // space and speed) we have to copy the guts of that function here. C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // Clear out the global step counters C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0013fe ecb2 CALL 0x3b64,0x0 globalStepCounter1 = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001400 f01d -003b64 6a1b CLRF 0x1b,0x0 -003b66 6a1c CLRF 0x1c,0x0 -003b68 6a1d CLRF 0x1d,0x0 -003b6a 6a1e CLRF 0x1e,0x0 -003b6c 6a1f CLRF 0x1f,0x0 globalStepCounter2 = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -003b6e 6a20 CLRF 0x20,0x0 -003b70 6a21 CLRF 0x21,0x0 -003b72 6a22 CLRF 0x22,0x0 -003b74 0012 RETURN 0x0 +0013f6 ecfd CALL 0x39fa,0x0 globalStepCounter1 = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +0013f8 f01c +0039fa 6a1b CLRF 0x1b,0x0 +0039fc 6a1c CLRF 0x1c,0x0 +0039fe 6a1d CLRF 0x1d,0x0 +003a00 6a1e CLRF 0x1e,0x0 +003a02 6a1f CLRF 0x1f,0x0 globalStepCounter2 = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +003a04 6a20 CLRF 0x20,0x0 +003a06 6a21 CLRF 0x21,0x0 +003a08 6a22 CLRF 0x22,0x0 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // Clear both step accumulators as well C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001402 ecbb CALL 0x3b76,0x0 acc_union[0].value = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001404 f01d -003b76 6baf CLRF 0xaf,0x1 -003b78 6bb0 CLRF 0xb0,0x1 -003b7a 6bb1 CLRF 0xb1,0x1 -003b7c 6bb2 CLRF 0xb2,0x1 -003b7e 6bb3 CLRF 0xb3,0x1 acc_union[1].value = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -003b80 6bb4 CLRF 0xb4,0x1 -003b82 6bb5 CLRF 0xb5,0x1 -003b84 6bb6 CLRF 0xb6,0x1 -003b86 0012 RETURN 0x0 +003a0a 6a23 CLRF 0x23,0x0 acc_union[0].value = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +003a0c 6a24 CLRF 0x24,0x0 +003a0e 6a25 CLRF 0x25,0x0 +003a10 6a26 CLRF 0x26,0x0 +003a12 6a27 CLRF 0x27,0x0 acc_union[1].value = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +003a14 6a28 CLRF 0x28,0x0 +003a16 6a29 CLRF 0x29,0x0 +003a18 6a2a CLRF 0x2a,0x0 +003a1a 0012 RETURN 0x0 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // All EM command clear the limit switch trigger C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001406 900e BCF 0xe,0x0,0x0 bitclrzero(gLimitSwitchTriggered); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +0013fa 900e BCF 0xe,0x0,0x0 bitclrzero(gLimitSwitchTriggered); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // This is probably unnecessary, but it's critical to be sure to indicate that the current command is finished C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001408 8000 BSF 0x0,0x0,0x0 bitsetzero(AllDone); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +0013fc 8000 BSF 0x0,0x0,0x0 bitsetzero(AllDone); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // If no bits in CurrentCommand.Command are set then AllDone will be true, C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // so we'll go on to the next command (if there is one) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c @@ -7444,29 +7452,29 @@ Address Value Disassembly Source // Deal with printing out internal ISR values C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // Note that TEST_MODE_USART_ISR_BIT is set for both normal (only end of move) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // and full (every ISR tick) printing. C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -00140a a409 BTFSS 0x9,0x2,0x0 if (bittst(TestMode, TEST_MODE_USART_ISR_BIT_NUM)) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -00140c d27e BRA 0x190a +0013fe a409 BTFSS 0x9,0x2,0x0 if (bittst(TestMode, TEST_MODE_USART_ISR_BIT_NUM)) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001400 d283 BRA 0x1908 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -00140e 0e01 MOVLW 0x1 if (bittstzero(AllDone) || bittst(TestMode, TEST_MODE_USART_ISR_FULL_BIT_NUM)) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001410 1400 ANDWF 0x0,0x0,0x0 -001412 e104 BNZ 0x141c -001414 0e08 MOVLW 0x8 -001416 1409 ANDWF 0x9,0x0,0x0 -001418 e101 BNZ 0x141c -00141a d277 BRA 0x190a +001402 0e01 MOVLW 0x1 if (bittstzero(AllDone) || bittst(TestMode, TEST_MODE_USART_ISR_FULL_BIT_NUM)) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001404 1400 ANDWF 0x0,0x0,0x0 +001406 e104 BNZ 0x1410 +001408 0e08 MOVLW 0x8 +00140a 1409 ANDWF 0x9,0x0,0x0 +00140c e101 BNZ 0x1410 +00140e d27c BRA 0x1908 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // If this is the end of an LM move, then print out all the important values C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // of everything (now that global step positions have been taken into C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // account) for checking that our math is working right C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -00141c 0e70 MOVLW 0x70 if (CurrentCommand.Command & (COMMAND_LM_MOVE_BIT | COMMAND_LT_MOVE_BIT | COMMAND_SM_XM_HM_MOVE_BIT)) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -00141e 0101 MOVLB 0x1 -001420 1580 ANDWF 0x80,0x0,0x1 -001422 e101 BNZ 0x1426 -001424 d272 BRA 0x190a +001410 0e70 MOVLW 0x70 if (CurrentCommand.Command & (COMMAND_LM_MOVE_BIT | COMMAND_LT_MOVE_BIT | COMMAND_SM_XM_HM_MOVE_BIT)) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001412 0101 MOVLB 0x1 +001414 1580 ANDWF 0x80,0x0,0x1 +001416 e101 BNZ 0x141a +001418 d277 BRA 0x1908 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // Setting this bit when we have something to print out will cause the next C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // ISR to be rescheduled so we have as much time as we need to print C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001426 8e09 BSF 0x9,0x7,0x0 bitset(TestMode, TEST_MODE_PRINT_TRIGGER_BIT_NUM); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +00141a 8e09 BSF 0x9,0x7,0x0 bitset(TestMode, TEST_MODE_PRINT_TRIGGER_BIT_NUM); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // Move is complete, output "T:" (ISR ticks), "Steps:" (total steps from C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // this move) "C:" (accumulator value), "R:" (rate value), "Pos:" C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c @@ -7477,755 +7485,757 @@ Address Value Disassembly Source /// make signed and unsigned printing macros. C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // Write out the total ISR ticks for this move (unsigned) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001428 a2ad BTFSS 0xad,0x1,0x0 PrintChar('T') C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -00142a d7fe BRA 0x1428 -00142c 0e54 MOVLW 0x54 -00142e 6eae MOVWF 0xae,0x0 -001430 a2ad BTFSS 0xad,0x1,0x0 PrintChar(',') C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001432 d7fe BRA 0x1430 -001434 0e2c MOVLW 0x2c -001436 6eae MOVWF 0xae,0x0 -001438 c1b7 MOVFF 0x1b7,0xf HexPrint(gISRTickCountForThisCommand) // Macro for printing HEX value C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -00143a f00f -00143c c1b8 MOVFF 0x1b8,0x10 -00143e f010 -001440 c1b9 MOVFF 0x1b9,0x11 -001442 f011 -001444 c1ba MOVFF 0x1ba,0x12 -001446 f012 -001448 ec7d CALL 0x42fa,0x0 -00144a f021 -00144c e305 BNC 0x1458 +00141c a2ad BTFSS 0xad,0x1,0x0 PrintChar('T') C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +00141e d7fe BRA 0x141c +001420 0e54 MOVLW 0x54 +001422 6eae MOVWF 0xae,0x0 +001424 a2ad BTFSS 0xad,0x1,0x0 PrintChar(',') C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001426 d7fe BRA 0x1424 +001428 0e2c MOVLW 0x2c +00142a 6eae MOVWF 0xae,0x0 +00142c c02b MOVFF 0x2b,0xf HexPrint(gISRTickCountForThisCommand) // Macro for printing HEX value C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +00142e f00f +001430 c02c MOVFF 0x2c,0x10 +001432 f010 +001434 c02d MOVFF 0x2d,0x11 +001436 f011 +001438 c02e MOVFF 0x2e,0x12 +00143a f012 +00143c 382e SWAPF 0x2e,0x0,0x0 +00143e ec6a CALL 0x3ed4,0x0 +001440 f01f +001442 e305 BNC 0x144e +001444 a2ad BTFSS 0xad,0x1,0x0 +001446 d7fe BRA 0x1444 +001448 0e30 MOVLW 0x30 +00144a 2413 ADDWF 0x13,0x0,0x0 +00144c d005 BRA 0x1458 00144e a2ad BTFSS 0xad,0x1,0x0 001450 d7fe BRA 0x144e -001452 0e30 MOVLW 0x30 +001452 0e41 MOVLW 0x41 001454 2413 ADDWF 0x13,0x0,0x0 -001456 d005 BRA 0x1462 -001458 a2ad BTFSS 0xad,0x1,0x0 -00145a d7fe BRA 0x1458 -00145c 0e41 MOVLW 0x41 -00145e 2413 ADDWF 0x13,0x0,0x0 -001460 0ff6 ADDLW 0xf6 -001462 ecda CALL 0x3fb4,0x0 -001464 f01f -001466 e305 BNC 0x1472 +001456 0ff6 ADDLW 0xf6 +001458 eceb CALL 0x3fd6,0x0 +00145a f01f +00145c e305 BNC 0x1468 +00145e a2ad BTFSS 0xad,0x1,0x0 +001460 d7fe BRA 0x145e +001462 0e30 MOVLW 0x30 +001464 2413 ADDWF 0x13,0x0,0x0 +001466 d005 BRA 0x1472 001468 a2ad BTFSS 0xad,0x1,0x0 00146a d7fe BRA 0x1468 -00146c 0e30 MOVLW 0x30 +00146c 0e41 MOVLW 0x41 00146e 2413 ADDWF 0x13,0x0,0x0 -001470 d005 BRA 0x147c -001472 a2ad BTFSS 0xad,0x1,0x0 -001474 d7fe BRA 0x1472 -001476 0e41 MOVLW 0x41 -001478 2413 ADDWF 0x13,0x0,0x0 -00147a 0ff6 ADDLW 0xf6 -00147c ec34 CALL 0x4268,0x0 -00147e f021 -001480 e305 BNC 0x148c +001470 0ff6 ADDLW 0xf6 +001472 ec45 CALL 0x428a,0x0 +001474 f021 +001476 e305 BNC 0x1482 +001478 a2ad BTFSS 0xad,0x1,0x0 +00147a d7fe BRA 0x1478 +00147c 0e30 MOVLW 0x30 +00147e 2413 ADDWF 0x13,0x0,0x0 +001480 d005 BRA 0x148c 001482 a2ad BTFSS 0xad,0x1,0x0 001484 d7fe BRA 0x1482 -001486 0e30 MOVLW 0x30 +001486 0e41 MOVLW 0x41 001488 2413 ADDWF 0x13,0x0,0x0 -00148a d005 BRA 0x1496 -00148c a2ad BTFSS 0xad,0x1,0x0 -00148e d7fe BRA 0x148c -001490 0e41 MOVLW 0x41 -001492 2413 ADDWF 0x13,0x0,0x0 -001494 0ff6 ADDLW 0xf6 -001496 ecdf CALL 0x3fbe,0x0 -001498 f01f -00149a e305 BNC 0x14a6 +00148a 0ff6 ADDLW 0xf6 +00148c ecf0 CALL 0x3fe0,0x0 +00148e f01f +001490 e305 BNC 0x149c +001492 a2ad BTFSS 0xad,0x1,0x0 +001494 d7fe BRA 0x1492 +001496 0e30 MOVLW 0x30 +001498 2413 ADDWF 0x13,0x0,0x0 +00149a d005 BRA 0x14a6 00149c a2ad BTFSS 0xad,0x1,0x0 00149e d7fe BRA 0x149c -0014a0 0e30 MOVLW 0x30 +0014a0 0e41 MOVLW 0x41 0014a2 2413 ADDWF 0x13,0x0,0x0 -0014a4 d005 BRA 0x14b0 -0014a6 a2ad BTFSS 0xad,0x1,0x0 -0014a8 d7fe BRA 0x14a6 -0014aa 0e41 MOVLW 0x41 -0014ac 2413 ADDWF 0x13,0x0,0x0 -0014ae 0ff6 ADDLW 0xf6 -0014b0 ec38 CALL 0x4270,0x0 -0014b2 f021 -0014b4 e305 BNC 0x14c0 +0014a4 0ff6 ADDLW 0xf6 +0014a6 ec49 CALL 0x4292,0x0 +0014a8 f021 +0014aa e305 BNC 0x14b6 +0014ac a2ad BTFSS 0xad,0x1,0x0 +0014ae d7fe BRA 0x14ac +0014b0 0e30 MOVLW 0x30 +0014b2 2413 ADDWF 0x13,0x0,0x0 +0014b4 d005 BRA 0x14c0 0014b6 a2ad BTFSS 0xad,0x1,0x0 0014b8 d7fe BRA 0x14b6 -0014ba 0e30 MOVLW 0x30 +0014ba 0e41 MOVLW 0x41 0014bc 2413 ADDWF 0x13,0x0,0x0 -0014be d005 BRA 0x14ca -0014c0 a2ad BTFSS 0xad,0x1,0x0 -0014c2 d7fe BRA 0x14c0 -0014c4 0e41 MOVLW 0x41 -0014c6 2413 ADDWF 0x13,0x0,0x0 -0014c8 0ff6 ADDLW 0xf6 -0014ca ece4 CALL 0x3fc8,0x0 -0014cc f01f -0014ce e305 BNC 0x14da +0014be 0ff6 ADDLW 0xf6 +0014c0 ecf5 CALL 0x3fea,0x0 +0014c2 f01f +0014c4 e305 BNC 0x14d0 +0014c6 a2ad BTFSS 0xad,0x1,0x0 +0014c8 d7fe BRA 0x14c6 +0014ca 0e30 MOVLW 0x30 +0014cc 2413 ADDWF 0x13,0x0,0x0 +0014ce d005 BRA 0x14da 0014d0 a2ad BTFSS 0xad,0x1,0x0 0014d2 d7fe BRA 0x14d0 -0014d4 0e30 MOVLW 0x30 +0014d4 0e41 MOVLW 0x41 0014d6 2413 ADDWF 0x13,0x0,0x0 -0014d8 d005 BRA 0x14e4 -0014da a2ad BTFSS 0xad,0x1,0x0 -0014dc d7fe BRA 0x14da -0014de 0e41 MOVLW 0x41 -0014e0 2413 ADDWF 0x13,0x0,0x0 -0014e2 0ff6 ADDLW 0xf6 -0014e4 ec3c CALL 0x4278,0x0 -0014e6 f021 -0014e8 e305 BNC 0x14f4 +0014d8 0ff6 ADDLW 0xf6 +0014da ec4d CALL 0x429a,0x0 +0014dc f021 +0014de e305 BNC 0x14ea +0014e0 a2ad BTFSS 0xad,0x1,0x0 +0014e2 d7fe BRA 0x14e0 +0014e4 0e30 MOVLW 0x30 +0014e6 2413 ADDWF 0x13,0x0,0x0 +0014e8 d005 BRA 0x14f4 0014ea a2ad BTFSS 0xad,0x1,0x0 0014ec d7fe BRA 0x14ea -0014ee 0e30 MOVLW 0x30 +0014ee 0e41 MOVLW 0x41 0014f0 2413 ADDWF 0x13,0x0,0x0 -0014f2 d005 BRA 0x14fe -0014f4 a2ad BTFSS 0xad,0x1,0x0 -0014f6 d7fe BRA 0x14f4 -0014f8 0e41 MOVLW 0x41 -0014fa 2413 ADDWF 0x13,0x0,0x0 -0014fc 0ff6 ADDLW 0xf6 -0014fe ece9 CALL 0x3fd2,0x0 -001500 f01f -001502 e305 BNC 0x150e +0014f2 0ff6 ADDLW 0xf6 +0014f4 ecfa CALL 0x3ff4,0x0 +0014f6 f01f +0014f8 e305 BNC 0x1504 +0014fa a2ad BTFSS 0xad,0x1,0x0 +0014fc d7fe BRA 0x14fa +0014fe 0e30 MOVLW 0x30 +001500 2413 ADDWF 0x13,0x0,0x0 +001502 d005 BRA 0x150e 001504 a2ad BTFSS 0xad,0x1,0x0 001506 d7fe BRA 0x1504 -001508 0e30 MOVLW 0x30 +001508 0e41 MOVLW 0x41 00150a 2413 ADDWF 0x13,0x0,0x0 -00150c d005 BRA 0x1518 -00150e a2ad BTFSS 0xad,0x1,0x0 -001510 d7fe BRA 0x150e -001512 0e41 MOVLW 0x41 -001514 2413 ADDWF 0x13,0x0,0x0 -001516 0ff6 ADDLW 0xf6 -001518 6eae MOVWF 0xae,0x0 -00151a a2ad BTFSS 0xad,0x1,0x0 PrintChar(',') C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -00151c d7fe BRA 0x151a -00151e 0e2c MOVLW 0x2c -001520 6eae MOVWF 0xae,0x0 +00150c 0ff6 ADDLW 0xf6 +00150e 6eae MOVWF 0xae,0x0 +001510 a2ad BTFSS 0xad,0x1,0x0 PrintChar(',') C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001512 d7fe BRA 0x1510 +001514 0e2c MOVLW 0x2c +001516 6eae MOVWF 0xae,0x0 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // Write out the total steps made during this move (unsigned) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001522 a2ad BTFSS 0xad,0x1,0x0 PrintChar('S') C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001524 d7fe BRA 0x1522 -001526 0e53 MOVLW 0x53 -001528 6eae MOVWF 0xae,0x0 -00152a a2ad BTFSS 0xad,0x1,0x0 PrintChar(',') C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -00152c d7fe BRA 0x152a -00152e 0e2c MOVLW 0x2c -001530 6eae MOVWF 0xae,0x0 -001532 c1bb MOVFF 0x1bb,0xf HexPrint(gISRStepCountForThisCommand) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001534 f00f -001536 c1bc MOVFF 0x1bc,0x10 -001538 f010 -00153a c1bd MOVFF 0x1bd,0x11 -00153c f011 -00153e c1be MOVFF 0x1be,0x12 -001540 f012 -001542 ec7d CALL 0x42fa,0x0 -001544 f021 -001546 e305 BNC 0x1552 -001548 a2ad BTFSS 0xad,0x1,0x0 -00154a d7fe BRA 0x1548 -00154c 0e30 MOVLW 0x30 -00154e 2413 ADDWF 0x13,0x0,0x0 -001550 d005 BRA 0x155c -001552 a2ad BTFSS 0xad,0x1,0x0 -001554 d7fe BRA 0x1552 -001556 0e41 MOVLW 0x41 -001558 2413 ADDWF 0x13,0x0,0x0 -00155a 0ff6 ADDLW 0xf6 -00155c ecda CALL 0x3fb4,0x0 -00155e f01f -001560 e305 BNC 0x156c -001562 a2ad BTFSS 0xad,0x1,0x0 -001564 d7fe BRA 0x1562 -001566 0e30 MOVLW 0x30 -001568 2413 ADDWF 0x13,0x0,0x0 -00156a d005 BRA 0x1576 -00156c a2ad BTFSS 0xad,0x1,0x0 -00156e d7fe BRA 0x156c -001570 0e41 MOVLW 0x41 -001572 2413 ADDWF 0x13,0x0,0x0 -001574 0ff6 ADDLW 0xf6 -001576 ec34 CALL 0x4268,0x0 -001578 f021 -00157a e305 BNC 0x1586 -00157c a2ad BTFSS 0xad,0x1,0x0 -00157e d7fe BRA 0x157c -001580 0e30 MOVLW 0x30 -001582 2413 ADDWF 0x13,0x0,0x0 -001584 d005 BRA 0x1590 -001586 a2ad BTFSS 0xad,0x1,0x0 -001588 d7fe BRA 0x1586 -00158a 0e41 MOVLW 0x41 -00158c 2413 ADDWF 0x13,0x0,0x0 -00158e 0ff6 ADDLW 0xf6 -001590 ecdf CALL 0x3fbe,0x0 -001592 f01f -001594 e305 BNC 0x15a0 -001596 a2ad BTFSS 0xad,0x1,0x0 -001598 d7fe BRA 0x1596 -00159a 0e30 MOVLW 0x30 -00159c 2413 ADDWF 0x13,0x0,0x0 -00159e d005 BRA 0x15aa -0015a0 a2ad BTFSS 0xad,0x1,0x0 -0015a2 d7fe BRA 0x15a0 -0015a4 0e41 MOVLW 0x41 -0015a6 2413 ADDWF 0x13,0x0,0x0 -0015a8 0ff6 ADDLW 0xf6 -0015aa ec38 CALL 0x4270,0x0 -0015ac f021 -0015ae e305 BNC 0x15ba -0015b0 a2ad BTFSS 0xad,0x1,0x0 -0015b2 d7fe BRA 0x15b0 -0015b4 0e30 MOVLW 0x30 -0015b6 2413 ADDWF 0x13,0x0,0x0 -0015b8 d005 BRA 0x15c4 -0015ba a2ad BTFSS 0xad,0x1,0x0 -0015bc d7fe BRA 0x15ba -0015be 0e41 MOVLW 0x41 -0015c0 2413 ADDWF 0x13,0x0,0x0 -0015c2 0ff6 ADDLW 0xf6 -0015c4 ece4 CALL 0x3fc8,0x0 -0015c6 f01f -0015c8 e305 BNC 0x15d4 -0015ca a2ad BTFSS 0xad,0x1,0x0 -0015cc d7fe BRA 0x15ca -0015ce 0e30 MOVLW 0x30 -0015d0 2413 ADDWF 0x13,0x0,0x0 -0015d2 d005 BRA 0x15de -0015d4 a2ad BTFSS 0xad,0x1,0x0 -0015d6 d7fe BRA 0x15d4 -0015d8 0e41 MOVLW 0x41 -0015da 2413 ADDWF 0x13,0x0,0x0 -0015dc 0ff6 ADDLW 0xf6 -0015de ec3c CALL 0x4278,0x0 -0015e0 f021 -0015e2 e305 BNC 0x15ee -0015e4 a2ad BTFSS 0xad,0x1,0x0 -0015e6 d7fe BRA 0x15e4 -0015e8 0e30 MOVLW 0x30 -0015ea 2413 ADDWF 0x13,0x0,0x0 -0015ec d005 BRA 0x15f8 -0015ee a2ad BTFSS 0xad,0x1,0x0 -0015f0 d7fe BRA 0x15ee -0015f2 0e41 MOVLW 0x41 -0015f4 2413 ADDWF 0x13,0x0,0x0 -0015f6 0ff6 ADDLW 0xf6 -0015f8 ece9 CALL 0x3fd2,0x0 -0015fa f01f -0015fc e305 BNC 0x1608 -0015fe a2ad BTFSS 0xad,0x1,0x0 -001600 d7fe BRA 0x15fe -001602 0e30 MOVLW 0x30 -001604 2413 ADDWF 0x13,0x0,0x0 -001606 d005 BRA 0x1612 -001608 a2ad BTFSS 0xad,0x1,0x0 -00160a d7fe BRA 0x1608 -00160c 0e41 MOVLW 0x41 -00160e 2413 ADDWF 0x13,0x0,0x0 -001610 0ff6 ADDLW 0xf6 +001518 a2ad BTFSS 0xad,0x1,0x0 PrintChar('S') C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +00151a d7fe BRA 0x1518 +00151c 0e53 MOVLW 0x53 +00151e 6eae MOVWF 0xae,0x0 +001520 a2ad BTFSS 0xad,0x1,0x0 PrintChar(',') C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001522 d7fe BRA 0x1520 +001524 0e2c MOVLW 0x2c +001526 6eae MOVWF 0xae,0x0 +001528 c02f MOVFF 0x2f,0xf HexPrint(gISRStepCountForThisCommand) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +00152a f00f +00152c c030 MOVFF 0x30,0x10 +00152e f010 +001530 c031 MOVFF 0x31,0x11 +001532 f011 +001534 c032 MOVFF 0x32,0x12 +001536 f012 +001538 3832 SWAPF 0x32,0x0,0x0 +00153a ec6a CALL 0x3ed4,0x0 +00153c f01f +00153e e305 BNC 0x154a +001540 a2ad BTFSS 0xad,0x1,0x0 +001542 d7fe BRA 0x1540 +001544 0e30 MOVLW 0x30 +001546 2413 ADDWF 0x13,0x0,0x0 +001548 d005 BRA 0x1554 +00154a a2ad BTFSS 0xad,0x1,0x0 +00154c d7fe BRA 0x154a +00154e 0e41 MOVLW 0x41 +001550 2413 ADDWF 0x13,0x0,0x0 +001552 0ff6 ADDLW 0xf6 +001554 eceb CALL 0x3fd6,0x0 +001556 f01f +001558 e305 BNC 0x1564 +00155a a2ad BTFSS 0xad,0x1,0x0 +00155c d7fe BRA 0x155a +00155e 0e30 MOVLW 0x30 +001560 2413 ADDWF 0x13,0x0,0x0 +001562 d005 BRA 0x156e +001564 a2ad BTFSS 0xad,0x1,0x0 +001566 d7fe BRA 0x1564 +001568 0e41 MOVLW 0x41 +00156a 2413 ADDWF 0x13,0x0,0x0 +00156c 0ff6 ADDLW 0xf6 +00156e ec45 CALL 0x428a,0x0 +001570 f021 +001572 e305 BNC 0x157e +001574 a2ad BTFSS 0xad,0x1,0x0 +001576 d7fe BRA 0x1574 +001578 0e30 MOVLW 0x30 +00157a 2413 ADDWF 0x13,0x0,0x0 +00157c d005 BRA 0x1588 +00157e a2ad BTFSS 0xad,0x1,0x0 +001580 d7fe BRA 0x157e +001582 0e41 MOVLW 0x41 +001584 2413 ADDWF 0x13,0x0,0x0 +001586 0ff6 ADDLW 0xf6 +001588 ecf0 CALL 0x3fe0,0x0 +00158a f01f +00158c e305 BNC 0x1598 +00158e a2ad BTFSS 0xad,0x1,0x0 +001590 d7fe BRA 0x158e +001592 0e30 MOVLW 0x30 +001594 2413 ADDWF 0x13,0x0,0x0 +001596 d005 BRA 0x15a2 +001598 a2ad BTFSS 0xad,0x1,0x0 +00159a d7fe BRA 0x1598 +00159c 0e41 MOVLW 0x41 +00159e 2413 ADDWF 0x13,0x0,0x0 +0015a0 0ff6 ADDLW 0xf6 +0015a2 ec49 CALL 0x4292,0x0 +0015a4 f021 +0015a6 e305 BNC 0x15b2 +0015a8 a2ad BTFSS 0xad,0x1,0x0 +0015aa d7fe BRA 0x15a8 +0015ac 0e30 MOVLW 0x30 +0015ae 2413 ADDWF 0x13,0x0,0x0 +0015b0 d005 BRA 0x15bc +0015b2 a2ad BTFSS 0xad,0x1,0x0 +0015b4 d7fe BRA 0x15b2 +0015b6 0e41 MOVLW 0x41 +0015b8 2413 ADDWF 0x13,0x0,0x0 +0015ba 0ff6 ADDLW 0xf6 +0015bc ecf5 CALL 0x3fea,0x0 +0015be f01f +0015c0 e305 BNC 0x15cc +0015c2 a2ad BTFSS 0xad,0x1,0x0 +0015c4 d7fe BRA 0x15c2 +0015c6 0e30 MOVLW 0x30 +0015c8 2413 ADDWF 0x13,0x0,0x0 +0015ca d005 BRA 0x15d6 +0015cc a2ad BTFSS 0xad,0x1,0x0 +0015ce d7fe BRA 0x15cc +0015d0 0e41 MOVLW 0x41 +0015d2 2413 ADDWF 0x13,0x0,0x0 +0015d4 0ff6 ADDLW 0xf6 +0015d6 ec4d CALL 0x429a,0x0 +0015d8 f021 +0015da e305 BNC 0x15e6 +0015dc a2ad BTFSS 0xad,0x1,0x0 +0015de d7fe BRA 0x15dc +0015e0 0e30 MOVLW 0x30 +0015e2 2413 ADDWF 0x13,0x0,0x0 +0015e4 d005 BRA 0x15f0 +0015e6 a2ad BTFSS 0xad,0x1,0x0 +0015e8 d7fe BRA 0x15e6 +0015ea 0e41 MOVLW 0x41 +0015ec 2413 ADDWF 0x13,0x0,0x0 +0015ee 0ff6 ADDLW 0xf6 +0015f0 ecfa CALL 0x3ff4,0x0 +0015f2 f01f +0015f4 e305 BNC 0x1600 +0015f6 a2ad BTFSS 0xad,0x1,0x0 +0015f8 d7fe BRA 0x15f6 +0015fa 0e30 MOVLW 0x30 +0015fc 2413 ADDWF 0x13,0x0,0x0 +0015fe d005 BRA 0x160a +001600 a2ad BTFSS 0xad,0x1,0x0 +001602 d7fe BRA 0x1600 +001604 0e41 MOVLW 0x41 +001606 2413 ADDWF 0x13,0x0,0x0 +001608 0ff6 ADDLW 0xf6 +00160a 6eae MOVWF 0xae,0x0 +00160c a2ad BTFSS 0xad,0x1,0x0 PrintChar(',') C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +00160e d7fe BRA 0x160c +001610 0e2c MOVLW 0x2c 001612 6eae MOVWF 0xae,0x0 -001614 a2ad BTFSS 0xad,0x1,0x0 PrintChar(',') C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001616 d7fe BRA 0x1614 -001618 0e2c MOVLW 0x2c -00161a 6eae MOVWF 0xae,0x0 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // Write out the accumulator1 value after all math is complete (unsigned) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -00161c a2ad BTFSS 0xad,0x1,0x0 PrintChar('C') C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001614 a2ad BTFSS 0xad,0x1,0x0 PrintChar('C') C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001616 d7fe BRA 0x1614 +001618 0e43 MOVLW 0x43 +00161a 6eae MOVWF 0xae,0x0 +00161c a2ad BTFSS 0xad,0x1,0x0 PrintChar(',') C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c 00161e d7fe BRA 0x161c -001620 0e43 MOVLW 0x43 +001620 0e2c MOVLW 0x2c 001622 6eae MOVWF 0xae,0x0 -001624 a2ad BTFSS 0xad,0x1,0x0 PrintChar(',') C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001626 d7fe BRA 0x1624 -001628 0e2c MOVLW 0x2c -00162a 6eae MOVWF 0xae,0x0 -00162c c1af MOVFF 0x1af,0xf HexPrint(acc_union[0].value) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -00162e f00f -001630 c1b0 MOVFF 0x1b0,0x10 -001632 f010 -001634 c1b1 MOVFF 0x1b1,0x11 -001636 f011 -001638 c1b2 MOVFF 0x1b2,0x12 -00163a f012 -00163c ec7d CALL 0x42fa,0x0 -00163e f021 -001640 e305 BNC 0x164c -001642 a2ad BTFSS 0xad,0x1,0x0 -001644 d7fe BRA 0x1642 -001646 0e30 MOVLW 0x30 -001648 2413 ADDWF 0x13,0x0,0x0 -00164a d005 BRA 0x1656 -00164c a2ad BTFSS 0xad,0x1,0x0 -00164e d7fe BRA 0x164c -001650 0e41 MOVLW 0x41 -001652 2413 ADDWF 0x13,0x0,0x0 -001654 0ff6 ADDLW 0xf6 -001656 ecda CALL 0x3fb4,0x0 -001658 f01f -00165a e305 BNC 0x1666 -00165c a2ad BTFSS 0xad,0x1,0x0 -00165e d7fe BRA 0x165c -001660 0e30 MOVLW 0x30 -001662 2413 ADDWF 0x13,0x0,0x0 -001664 d005 BRA 0x1670 -001666 a2ad BTFSS 0xad,0x1,0x0 -001668 d7fe BRA 0x1666 -00166a 0e41 MOVLW 0x41 -00166c 2413 ADDWF 0x13,0x0,0x0 -00166e 0ff6 ADDLW 0xf6 -001670 ec34 CALL 0x4268,0x0 -001672 f021 -001674 e305 BNC 0x1680 -001676 a2ad BTFSS 0xad,0x1,0x0 -001678 d7fe BRA 0x1676 -00167a 0e30 MOVLW 0x30 -00167c 2413 ADDWF 0x13,0x0,0x0 -00167e d005 BRA 0x168a -001680 a2ad BTFSS 0xad,0x1,0x0 -001682 d7fe BRA 0x1680 -001684 0e41 MOVLW 0x41 -001686 2413 ADDWF 0x13,0x0,0x0 -001688 0ff6 ADDLW 0xf6 -00168a ecdf CALL 0x3fbe,0x0 -00168c f01f -00168e e305 BNC 0x169a -001690 a2ad BTFSS 0xad,0x1,0x0 -001692 d7fe BRA 0x1690 -001694 0e30 MOVLW 0x30 -001696 2413 ADDWF 0x13,0x0,0x0 -001698 d005 BRA 0x16a4 -00169a a2ad BTFSS 0xad,0x1,0x0 -00169c d7fe BRA 0x169a -00169e 0e41 MOVLW 0x41 -0016a0 2413 ADDWF 0x13,0x0,0x0 -0016a2 0ff6 ADDLW 0xf6 -0016a4 ec38 CALL 0x4270,0x0 -0016a6 f021 -0016a8 e305 BNC 0x16b4 -0016aa a2ad BTFSS 0xad,0x1,0x0 -0016ac d7fe BRA 0x16aa -0016ae 0e30 MOVLW 0x30 -0016b0 2413 ADDWF 0x13,0x0,0x0 -0016b2 d005 BRA 0x16be -0016b4 a2ad BTFSS 0xad,0x1,0x0 -0016b6 d7fe BRA 0x16b4 -0016b8 0e41 MOVLW 0x41 -0016ba 2413 ADDWF 0x13,0x0,0x0 -0016bc 0ff6 ADDLW 0xf6 -0016be ece4 CALL 0x3fc8,0x0 -0016c0 f01f -0016c2 e305 BNC 0x16ce -0016c4 a2ad BTFSS 0xad,0x1,0x0 -0016c6 d7fe BRA 0x16c4 -0016c8 0e30 MOVLW 0x30 -0016ca 2413 ADDWF 0x13,0x0,0x0 -0016cc d005 BRA 0x16d8 -0016ce a2ad BTFSS 0xad,0x1,0x0 -0016d0 d7fe BRA 0x16ce -0016d2 0e41 MOVLW 0x41 -0016d4 2413 ADDWF 0x13,0x0,0x0 -0016d6 0ff6 ADDLW 0xf6 -0016d8 ec3c CALL 0x4278,0x0 -0016da f021 -0016dc e305 BNC 0x16e8 -0016de a2ad BTFSS 0xad,0x1,0x0 -0016e0 d7fe BRA 0x16de -0016e2 0e30 MOVLW 0x30 -0016e4 2413 ADDWF 0x13,0x0,0x0 -0016e6 d005 BRA 0x16f2 -0016e8 a2ad BTFSS 0xad,0x1,0x0 -0016ea d7fe BRA 0x16e8 -0016ec 0e41 MOVLW 0x41 -0016ee 2413 ADDWF 0x13,0x0,0x0 -0016f0 0ff6 ADDLW 0xf6 -0016f2 ece9 CALL 0x3fd2,0x0 -0016f4 f01f -0016f6 e305 BNC 0x1702 -0016f8 a2ad BTFSS 0xad,0x1,0x0 -0016fa d7fe BRA 0x16f8 -0016fc 0e30 MOVLW 0x30 -0016fe 2413 ADDWF 0x13,0x0,0x0 -001700 d005 BRA 0x170c -001702 a2ad BTFSS 0xad,0x1,0x0 -001704 d7fe BRA 0x1702 -001706 0e41 MOVLW 0x41 -001708 2413 ADDWF 0x13,0x0,0x0 -00170a 0ff6 ADDLW 0xf6 -00170c 6eae MOVWF 0xae,0x0 -00170e a2ad BTFSS 0xad,0x1,0x0 PrintChar(',') C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001710 d7fe BRA 0x170e -001712 0e2c MOVLW 0x2c -001714 6eae MOVWF 0xae,0x0 +001624 c023 MOVFF 0x23,0xf HexPrint(acc_union[0].value) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001626 f00f +001628 c024 MOVFF 0x24,0x10 +00162a f010 +00162c c025 MOVFF 0x25,0x11 +00162e f011 +001630 c026 MOVFF 0x26,0x12 +001632 f012 +001634 3826 SWAPF 0x26,0x0,0x0 +001636 ec6a CALL 0x3ed4,0x0 +001638 f01f +00163a e305 BNC 0x1646 +00163c a2ad BTFSS 0xad,0x1,0x0 +00163e d7fe BRA 0x163c +001640 0e30 MOVLW 0x30 +001642 2413 ADDWF 0x13,0x0,0x0 +001644 d005 BRA 0x1650 +001646 a2ad BTFSS 0xad,0x1,0x0 +001648 d7fe BRA 0x1646 +00164a 0e41 MOVLW 0x41 +00164c 2413 ADDWF 0x13,0x0,0x0 +00164e 0ff6 ADDLW 0xf6 +001650 eceb CALL 0x3fd6,0x0 +001652 f01f +001654 e305 BNC 0x1660 +001656 a2ad BTFSS 0xad,0x1,0x0 +001658 d7fe BRA 0x1656 +00165a 0e30 MOVLW 0x30 +00165c 2413 ADDWF 0x13,0x0,0x0 +00165e d005 BRA 0x166a +001660 a2ad BTFSS 0xad,0x1,0x0 +001662 d7fe BRA 0x1660 +001664 0e41 MOVLW 0x41 +001666 2413 ADDWF 0x13,0x0,0x0 +001668 0ff6 ADDLW 0xf6 +00166a ec45 CALL 0x428a,0x0 +00166c f021 +00166e e305 BNC 0x167a +001670 a2ad BTFSS 0xad,0x1,0x0 +001672 d7fe BRA 0x1670 +001674 0e30 MOVLW 0x30 +001676 2413 ADDWF 0x13,0x0,0x0 +001678 d005 BRA 0x1684 +00167a a2ad BTFSS 0xad,0x1,0x0 +00167c d7fe BRA 0x167a +00167e 0e41 MOVLW 0x41 +001680 2413 ADDWF 0x13,0x0,0x0 +001682 0ff6 ADDLW 0xf6 +001684 ecf0 CALL 0x3fe0,0x0 +001686 f01f +001688 e305 BNC 0x1694 +00168a a2ad BTFSS 0xad,0x1,0x0 +00168c d7fe BRA 0x168a +00168e 0e30 MOVLW 0x30 +001690 2413 ADDWF 0x13,0x0,0x0 +001692 d005 BRA 0x169e +001694 a2ad BTFSS 0xad,0x1,0x0 +001696 d7fe BRA 0x1694 +001698 0e41 MOVLW 0x41 +00169a 2413 ADDWF 0x13,0x0,0x0 +00169c 0ff6 ADDLW 0xf6 +00169e ec49 CALL 0x4292,0x0 +0016a0 f021 +0016a2 e305 BNC 0x16ae +0016a4 a2ad BTFSS 0xad,0x1,0x0 +0016a6 d7fe BRA 0x16a4 +0016a8 0e30 MOVLW 0x30 +0016aa 2413 ADDWF 0x13,0x0,0x0 +0016ac d005 BRA 0x16b8 +0016ae a2ad BTFSS 0xad,0x1,0x0 +0016b0 d7fe BRA 0x16ae +0016b2 0e41 MOVLW 0x41 +0016b4 2413 ADDWF 0x13,0x0,0x0 +0016b6 0ff6 ADDLW 0xf6 +0016b8 ecf5 CALL 0x3fea,0x0 +0016ba f01f +0016bc e305 BNC 0x16c8 +0016be a2ad BTFSS 0xad,0x1,0x0 +0016c0 d7fe BRA 0x16be +0016c2 0e30 MOVLW 0x30 +0016c4 2413 ADDWF 0x13,0x0,0x0 +0016c6 d005 BRA 0x16d2 +0016c8 a2ad BTFSS 0xad,0x1,0x0 +0016ca d7fe BRA 0x16c8 +0016cc 0e41 MOVLW 0x41 +0016ce 2413 ADDWF 0x13,0x0,0x0 +0016d0 0ff6 ADDLW 0xf6 +0016d2 ec4d CALL 0x429a,0x0 +0016d4 f021 +0016d6 e305 BNC 0x16e2 +0016d8 a2ad BTFSS 0xad,0x1,0x0 +0016da d7fe BRA 0x16d8 +0016dc 0e30 MOVLW 0x30 +0016de 2413 ADDWF 0x13,0x0,0x0 +0016e0 d005 BRA 0x16ec +0016e2 a2ad BTFSS 0xad,0x1,0x0 +0016e4 d7fe BRA 0x16e2 +0016e6 0e41 MOVLW 0x41 +0016e8 2413 ADDWF 0x13,0x0,0x0 +0016ea 0ff6 ADDLW 0xf6 +0016ec ecfa CALL 0x3ff4,0x0 +0016ee f01f +0016f0 e305 BNC 0x16fc +0016f2 a2ad BTFSS 0xad,0x1,0x0 +0016f4 d7fe BRA 0x16f2 +0016f6 0e30 MOVLW 0x30 +0016f8 2413 ADDWF 0x13,0x0,0x0 +0016fa d005 BRA 0x1706 +0016fc a2ad BTFSS 0xad,0x1,0x0 +0016fe d7fe BRA 0x16fc +001700 0e41 MOVLW 0x41 +001702 2413 ADDWF 0x13,0x0,0x0 +001704 0ff6 ADDLW 0xf6 +001706 6eae MOVWF 0xae,0x0 +001708 a2ad BTFSS 0xad,0x1,0x0 PrintChar(',') C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +00170a d7fe BRA 0x1708 +00170c 0e2c MOVLW 0x2c +00170e 6eae MOVWF 0xae,0x0 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // Write out the rate1 value (signed) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001716 a2ad BTFSS 0xad,0x1,0x0 PrintChar('R') C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001718 d7fe BRA 0x1716 -00171a 0e52 MOVLW 0x52 -00171c 6eae MOVWF 0xae,0x0 -00171e a2ad BTFSS 0xad,0x1,0x0 PrintChar(',') C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001720 d7fe BRA 0x171e -001722 0e2c MOVLW 0x2c -001724 6eae MOVWF 0xae,0x0 -001726 c187 MOVFF 0x187,0xf HexPrint(CurrentCommand.Rate[0].value) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001728 f00f -00172a c188 MOVFF 0x188,0x10 -00172c f010 -00172e c189 MOVFF 0x189,0x11 -001730 f011 -001732 c18a MOVFF 0x18a,0x12 -001734 f012 -001736 ec7d CALL 0x42fa,0x0 -001738 f021 -00173a e305 BNC 0x1746 -00173c a2ad BTFSS 0xad,0x1,0x0 -00173e d7fe BRA 0x173c -001740 0e30 MOVLW 0x30 -001742 2413 ADDWF 0x13,0x0,0x0 -001744 d005 BRA 0x1750 -001746 a2ad BTFSS 0xad,0x1,0x0 -001748 d7fe BRA 0x1746 -00174a 0e41 MOVLW 0x41 -00174c 2413 ADDWF 0x13,0x0,0x0 -00174e 0ff6 ADDLW 0xf6 -001750 ecda CALL 0x3fb4,0x0 -001752 f01f -001754 e305 BNC 0x1760 -001756 a2ad BTFSS 0xad,0x1,0x0 -001758 d7fe BRA 0x1756 -00175a 0e30 MOVLW 0x30 -00175c 2413 ADDWF 0x13,0x0,0x0 -00175e d005 BRA 0x176a -001760 a2ad BTFSS 0xad,0x1,0x0 -001762 d7fe BRA 0x1760 -001764 0e41 MOVLW 0x41 -001766 2413 ADDWF 0x13,0x0,0x0 -001768 0ff6 ADDLW 0xf6 -00176a ec34 CALL 0x4268,0x0 -00176c f021 -00176e e305 BNC 0x177a -001770 a2ad BTFSS 0xad,0x1,0x0 -001772 d7fe BRA 0x1770 -001774 0e30 MOVLW 0x30 -001776 2413 ADDWF 0x13,0x0,0x0 -001778 d005 BRA 0x1784 -00177a a2ad BTFSS 0xad,0x1,0x0 -00177c d7fe BRA 0x177a -00177e 0e41 MOVLW 0x41 -001780 2413 ADDWF 0x13,0x0,0x0 -001782 0ff6 ADDLW 0xf6 -001784 ecdf CALL 0x3fbe,0x0 -001786 f01f -001788 e305 BNC 0x1794 -00178a a2ad BTFSS 0xad,0x1,0x0 -00178c d7fe BRA 0x178a -00178e 0e30 MOVLW 0x30 -001790 2413 ADDWF 0x13,0x0,0x0 -001792 d005 BRA 0x179e -001794 a2ad BTFSS 0xad,0x1,0x0 -001796 d7fe BRA 0x1794 -001798 0e41 MOVLW 0x41 -00179a 2413 ADDWF 0x13,0x0,0x0 -00179c 0ff6 ADDLW 0xf6 -00179e ec38 CALL 0x4270,0x0 -0017a0 f021 -0017a2 e305 BNC 0x17ae -0017a4 a2ad BTFSS 0xad,0x1,0x0 -0017a6 d7fe BRA 0x17a4 -0017a8 0e30 MOVLW 0x30 -0017aa 2413 ADDWF 0x13,0x0,0x0 -0017ac d005 BRA 0x17b8 -0017ae a2ad BTFSS 0xad,0x1,0x0 -0017b0 d7fe BRA 0x17ae -0017b2 0e41 MOVLW 0x41 -0017b4 2413 ADDWF 0x13,0x0,0x0 -0017b6 0ff6 ADDLW 0xf6 -0017b8 ece4 CALL 0x3fc8,0x0 -0017ba f01f -0017bc e305 BNC 0x17c8 -0017be a2ad BTFSS 0xad,0x1,0x0 -0017c0 d7fe BRA 0x17be -0017c2 0e30 MOVLW 0x30 -0017c4 2413 ADDWF 0x13,0x0,0x0 -0017c6 d005 BRA 0x17d2 -0017c8 a2ad BTFSS 0xad,0x1,0x0 -0017ca d7fe BRA 0x17c8 -0017cc 0e41 MOVLW 0x41 -0017ce 2413 ADDWF 0x13,0x0,0x0 -0017d0 0ff6 ADDLW 0xf6 -0017d2 ec3c CALL 0x4278,0x0 -0017d4 f021 -0017d6 e305 BNC 0x17e2 -0017d8 a2ad BTFSS 0xad,0x1,0x0 -0017da d7fe BRA 0x17d8 -0017dc 0e30 MOVLW 0x30 -0017de 2413 ADDWF 0x13,0x0,0x0 -0017e0 d005 BRA 0x17ec -0017e2 a2ad BTFSS 0xad,0x1,0x0 -0017e4 d7fe BRA 0x17e2 -0017e6 0e41 MOVLW 0x41 -0017e8 2413 ADDWF 0x13,0x0,0x0 -0017ea 0ff6 ADDLW 0xf6 -0017ec ece9 CALL 0x3fd2,0x0 -0017ee f01f -0017f0 e305 BNC 0x17fc -0017f2 a2ad BTFSS 0xad,0x1,0x0 -0017f4 d7fe BRA 0x17f2 -0017f6 0e30 MOVLW 0x30 -0017f8 2413 ADDWF 0x13,0x0,0x0 -0017fa d005 BRA 0x1806 -0017fc a2ad BTFSS 0xad,0x1,0x0 -0017fe d7fe BRA 0x17fc -001800 0e41 MOVLW 0x41 -001802 2413 ADDWF 0x13,0x0,0x0 -001804 0ff6 ADDLW 0xf6 -001806 6eae MOVWF 0xae,0x0 -001808 a2ad BTFSS 0xad,0x1,0x0 PrintChar(',') C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -00180a d7fe BRA 0x1808 -00180c 0e2c MOVLW 0x2c -00180e 6eae MOVWF 0xae,0x0 +001710 a2ad BTFSS 0xad,0x1,0x0 PrintChar('R') C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001712 d7fe BRA 0x1710 +001714 0e52 MOVLW 0x52 +001716 6eae MOVWF 0xae,0x0 +001718 a2ad BTFSS 0xad,0x1,0x0 PrintChar(',') C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +00171a d7fe BRA 0x1718 +00171c 0e2c MOVLW 0x2c +00171e 6eae MOVWF 0xae,0x0 +001720 c187 MOVFF 0x187,0xf HexPrint(CurrentCommand.Rate[0].value) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001722 f00f +001724 c188 MOVFF 0x188,0x10 +001726 f010 +001728 c189 MOVFF 0x189,0x11 +00172a f011 +00172c c18a MOVFF 0x18a,0x12 +00172e f012 +001730 3812 SWAPF 0x12,0x0,0x0 +001732 ec6a CALL 0x3ed4,0x0 +001734 f01f +001736 e305 BNC 0x1742 +001738 a2ad BTFSS 0xad,0x1,0x0 +00173a d7fe BRA 0x1738 +00173c 0e30 MOVLW 0x30 +00173e 2413 ADDWF 0x13,0x0,0x0 +001740 d005 BRA 0x174c +001742 a2ad BTFSS 0xad,0x1,0x0 +001744 d7fe BRA 0x1742 +001746 0e41 MOVLW 0x41 +001748 2413 ADDWF 0x13,0x0,0x0 +00174a 0ff6 ADDLW 0xf6 +00174c eceb CALL 0x3fd6,0x0 +00174e f01f +001750 e305 BNC 0x175c +001752 a2ad BTFSS 0xad,0x1,0x0 +001754 d7fe BRA 0x1752 +001756 0e30 MOVLW 0x30 +001758 2413 ADDWF 0x13,0x0,0x0 +00175a d005 BRA 0x1766 +00175c a2ad BTFSS 0xad,0x1,0x0 +00175e d7fe BRA 0x175c +001760 0e41 MOVLW 0x41 +001762 2413 ADDWF 0x13,0x0,0x0 +001764 0ff6 ADDLW 0xf6 +001766 ec45 CALL 0x428a,0x0 +001768 f021 +00176a e305 BNC 0x1776 +00176c a2ad BTFSS 0xad,0x1,0x0 +00176e d7fe BRA 0x176c +001770 0e30 MOVLW 0x30 +001772 2413 ADDWF 0x13,0x0,0x0 +001774 d005 BRA 0x1780 +001776 a2ad BTFSS 0xad,0x1,0x0 +001778 d7fe BRA 0x1776 +00177a 0e41 MOVLW 0x41 +00177c 2413 ADDWF 0x13,0x0,0x0 +00177e 0ff6 ADDLW 0xf6 +001780 ecf0 CALL 0x3fe0,0x0 +001782 f01f +001784 e305 BNC 0x1790 +001786 a2ad BTFSS 0xad,0x1,0x0 +001788 d7fe BRA 0x1786 +00178a 0e30 MOVLW 0x30 +00178c 2413 ADDWF 0x13,0x0,0x0 +00178e d005 BRA 0x179a +001790 a2ad BTFSS 0xad,0x1,0x0 +001792 d7fe BRA 0x1790 +001794 0e41 MOVLW 0x41 +001796 2413 ADDWF 0x13,0x0,0x0 +001798 0ff6 ADDLW 0xf6 +00179a ec49 CALL 0x4292,0x0 +00179c f021 +00179e e305 BNC 0x17aa +0017a0 a2ad BTFSS 0xad,0x1,0x0 +0017a2 d7fe BRA 0x17a0 +0017a4 0e30 MOVLW 0x30 +0017a6 2413 ADDWF 0x13,0x0,0x0 +0017a8 d005 BRA 0x17b4 +0017aa a2ad BTFSS 0xad,0x1,0x0 +0017ac d7fe BRA 0x17aa +0017ae 0e41 MOVLW 0x41 +0017b0 2413 ADDWF 0x13,0x0,0x0 +0017b2 0ff6 ADDLW 0xf6 +0017b4 ecf5 CALL 0x3fea,0x0 +0017b6 f01f +0017b8 e305 BNC 0x17c4 +0017ba a2ad BTFSS 0xad,0x1,0x0 +0017bc d7fe BRA 0x17ba +0017be 0e30 MOVLW 0x30 +0017c0 2413 ADDWF 0x13,0x0,0x0 +0017c2 d005 BRA 0x17ce +0017c4 a2ad BTFSS 0xad,0x1,0x0 +0017c6 d7fe BRA 0x17c4 +0017c8 0e41 MOVLW 0x41 +0017ca 2413 ADDWF 0x13,0x0,0x0 +0017cc 0ff6 ADDLW 0xf6 +0017ce ec4d CALL 0x429a,0x0 +0017d0 f021 +0017d2 e305 BNC 0x17de +0017d4 a2ad BTFSS 0xad,0x1,0x0 +0017d6 d7fe BRA 0x17d4 +0017d8 0e30 MOVLW 0x30 +0017da 2413 ADDWF 0x13,0x0,0x0 +0017dc d005 BRA 0x17e8 +0017de a2ad BTFSS 0xad,0x1,0x0 +0017e0 d7fe BRA 0x17de +0017e2 0e41 MOVLW 0x41 +0017e4 2413 ADDWF 0x13,0x0,0x0 +0017e6 0ff6 ADDLW 0xf6 +0017e8 ecfa CALL 0x3ff4,0x0 +0017ea f01f +0017ec e305 BNC 0x17f8 +0017ee a2ad BTFSS 0xad,0x1,0x0 +0017f0 d7fe BRA 0x17ee +0017f2 0e30 MOVLW 0x30 +0017f4 2413 ADDWF 0x13,0x0,0x0 +0017f6 d005 BRA 0x1802 +0017f8 a2ad BTFSS 0xad,0x1,0x0 +0017fa d7fe BRA 0x17f8 +0017fc 0e41 MOVLW 0x41 +0017fe 2413 ADDWF 0x13,0x0,0x0 +001800 0ff6 ADDLW 0xf6 +001802 6eae MOVWF 0xae,0x0 +001804 a2ad BTFSS 0xad,0x1,0x0 PrintChar(',') C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001806 d7fe BRA 0x1804 +001808 0e2c MOVLW 0x2c +00180a 6eae MOVWF 0xae,0x0 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // Write out the current position for this command (signed) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001810 a2ad BTFSS 0xad,0x1,0x0 PrintChar('P') C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001812 d7fe BRA 0x1810 -001814 0e50 MOVLW 0x50 -001816 6eae MOVWF 0xae,0x0 -001818 a2ad BTFSS 0xad,0x1,0x0 PrintChar(',') C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -00181a d7fe BRA 0x1818 -00181c 0e2c MOVLW 0x2c -00181e 6eae MOVWF 0xae,0x0 -001820 c1bf MOVFF 0x1bf,0xf HexPrint(gISRPositionForThisCommand); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001822 f00f -001824 c1c0 MOVFF 0x1c0,0x10 -001826 f010 -001828 c1c1 MOVFF 0x1c1,0x11 -00182a f011 -00182c c1c2 MOVFF 0x1c2,0x12 -00182e f012 -001830 ec7d CALL 0x42fa,0x0 -001832 f021 -001834 e305 BNC 0x1840 -001836 a2ad BTFSS 0xad,0x1,0x0 -001838 d7fe BRA 0x1836 -00183a 0e30 MOVLW 0x30 -00183c 2413 ADDWF 0x13,0x0,0x0 -00183e d005 BRA 0x184a -001840 a2ad BTFSS 0xad,0x1,0x0 -001842 d7fe BRA 0x1840 -001844 0e41 MOVLW 0x41 -001846 2413 ADDWF 0x13,0x0,0x0 -001848 0ff6 ADDLW 0xf6 -00184a ecda CALL 0x3fb4,0x0 -00184c f01f -00184e e305 BNC 0x185a -001850 a2ad BTFSS 0xad,0x1,0x0 -001852 d7fe BRA 0x1850 -001854 0e30 MOVLW 0x30 -001856 2413 ADDWF 0x13,0x0,0x0 -001858 d005 BRA 0x1864 -00185a a2ad BTFSS 0xad,0x1,0x0 -00185c d7fe BRA 0x185a -00185e 0e41 MOVLW 0x41 -001860 2413 ADDWF 0x13,0x0,0x0 -001862 0ff6 ADDLW 0xf6 -001864 ec34 CALL 0x4268,0x0 -001866 f021 -001868 e305 BNC 0x1874 -00186a a2ad BTFSS 0xad,0x1,0x0 -00186c d7fe BRA 0x186a -00186e 0e30 MOVLW 0x30 -001870 2413 ADDWF 0x13,0x0,0x0 -001872 d005 BRA 0x187e -001874 a2ad BTFSS 0xad,0x1,0x0 -001876 d7fe BRA 0x1874 -001878 0e41 MOVLW 0x41 -00187a 2413 ADDWF 0x13,0x0,0x0 -00187c 0ff6 ADDLW 0xf6 -00187e ecdf CALL 0x3fbe,0x0 -001880 f01f -001882 e305 BNC 0x188e -001884 a2ad BTFSS 0xad,0x1,0x0 -001886 d7fe BRA 0x1884 -001888 0e30 MOVLW 0x30 -00188a 2413 ADDWF 0x13,0x0,0x0 -00188c d005 BRA 0x1898 -00188e a2ad BTFSS 0xad,0x1,0x0 -001890 d7fe BRA 0x188e -001892 0e41 MOVLW 0x41 -001894 2413 ADDWF 0x13,0x0,0x0 -001896 0ff6 ADDLW 0xf6 -001898 ec38 CALL 0x4270,0x0 -00189a f021 -00189c e305 BNC 0x18a8 -00189e a2ad BTFSS 0xad,0x1,0x0 -0018a0 d7fe BRA 0x189e -0018a2 0e30 MOVLW 0x30 -0018a4 2413 ADDWF 0x13,0x0,0x0 -0018a6 d005 BRA 0x18b2 -0018a8 a2ad BTFSS 0xad,0x1,0x0 -0018aa d7fe BRA 0x18a8 -0018ac 0e41 MOVLW 0x41 -0018ae 2413 ADDWF 0x13,0x0,0x0 -0018b0 0ff6 ADDLW 0xf6 -0018b2 ece4 CALL 0x3fc8,0x0 -0018b4 f01f -0018b6 e305 BNC 0x18c2 -0018b8 a2ad BTFSS 0xad,0x1,0x0 -0018ba d7fe BRA 0x18b8 -0018bc 0e30 MOVLW 0x30 -0018be 2413 ADDWF 0x13,0x0,0x0 -0018c0 d005 BRA 0x18cc -0018c2 a2ad BTFSS 0xad,0x1,0x0 -0018c4 d7fe BRA 0x18c2 -0018c6 0e41 MOVLW 0x41 -0018c8 2413 ADDWF 0x13,0x0,0x0 -0018ca 0ff6 ADDLW 0xf6 -0018cc ec3c CALL 0x4278,0x0 -0018ce f021 -0018d0 e305 BNC 0x18dc -0018d2 a2ad BTFSS 0xad,0x1,0x0 -0018d4 d7fe BRA 0x18d2 -0018d6 0e30 MOVLW 0x30 -0018d8 2413 ADDWF 0x13,0x0,0x0 -0018da d005 BRA 0x18e6 -0018dc a2ad BTFSS 0xad,0x1,0x0 -0018de d7fe BRA 0x18dc -0018e0 0e41 MOVLW 0x41 -0018e2 2413 ADDWF 0x13,0x0,0x0 -0018e4 0ff6 ADDLW 0xf6 -0018e6 ece9 CALL 0x3fd2,0x0 -0018e8 f01f -0018ea e305 BNC 0x18f6 -0018ec a2ad BTFSS 0xad,0x1,0x0 -0018ee d7fe BRA 0x18ec -0018f0 0e30 MOVLW 0x30 -0018f2 2413 ADDWF 0x13,0x0,0x0 -0018f4 d005 BRA 0x1900 -0018f6 a2ad BTFSS 0xad,0x1,0x0 -0018f8 d7fe BRA 0x18f6 -0018fa 0e41 MOVLW 0x41 -0018fc 2413 ADDWF 0x13,0x0,0x0 -0018fe 0ff6 ADDLW 0xf6 -001900 6eae MOVWF 0xae,0x0 -003790 6e13 MOVWF 0x13,0x0 -003792 50e8 MOVF 0xe8,0x0,0x0 -003794 0809 SUBLW 0x9 -003796 0012 RETURN 0x0 -003eb4 0b0f ANDLW 0xf -003eb6 efc8 GOTO 0x3790 -003eb8 f01b -003fb4 6eae MOVWF 0xae,0x0 -003fb6 0e0f MOVLW 0xf -003fb8 1412 ANDWF 0x12,0x0,0x0 -003fba efc8 GOTO 0x3790 -003fbc f01b -003fbe 6eae MOVWF 0xae,0x0 -003fc0 0e0f MOVLW 0xf -003fc2 1411 ANDWF 0x11,0x0,0x0 -003fc4 efc8 GOTO 0x3790 -003fc6 f01b -003fc8 6eae MOVWF 0xae,0x0 -003fca 0e0f MOVLW 0xf -003fcc 1410 ANDWF 0x10,0x0,0x0 -003fce efc8 GOTO 0x3790 -003fd0 f01b -003fd2 6eae MOVWF 0xae,0x0 -003fd4 0e0f MOVLW 0xf -003fd6 140f ANDWF 0xf,0x0,0x0 -003fd8 efc8 GOTO 0x3790 -003fda f01b -004268 6eae MOVWF 0xae,0x0 -00426a 3811 SWAPF 0x11,0x0,0x0 -00426c ef5a GOTO 0x3eb4 -00426e f01f -004270 6eae MOVWF 0xae,0x0 -004272 3810 SWAPF 0x10,0x0,0x0 -004274 ef5a GOTO 0x3eb4 -004276 f01f -004278 6eae MOVWF 0xae,0x0 -00427a 380f SWAPF 0xf,0x0,0x0 -00427c ef5a GOTO 0x3eb4 -00427e f01f -0042fa 3812 SWAPF 0x12,0x0,0x0 -0042fc ef5a GOTO 0x3eb4 -0042fe f01f +00180c a2ad BTFSS 0xad,0x1,0x0 PrintChar('P') C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +00180e d7fe BRA 0x180c +001810 0e50 MOVLW 0x50 +001812 6eae MOVWF 0xae,0x0 +001814 a2ad BTFSS 0xad,0x1,0x0 PrintChar(',') C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001816 d7fe BRA 0x1814 +001818 0e2c MOVLW 0x2c +00181a 6eae MOVWF 0xae,0x0 +00181c c033 MOVFF 0x33,0xf HexPrint(gISRPositionForThisCommand); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +00181e f00f +001820 c034 MOVFF 0x34,0x10 +001822 f010 +001824 c035 MOVFF 0x35,0x11 +001826 f011 +001828 c036 MOVFF 0x36,0x12 +00182a f012 +00182c 3836 SWAPF 0x36,0x0,0x0 +00182e ec6a CALL 0x3ed4,0x0 +001830 f01f +001832 e305 BNC 0x183e +001834 a2ad BTFSS 0xad,0x1,0x0 +001836 d7fe BRA 0x1834 +001838 0e30 MOVLW 0x30 +00183a 2413 ADDWF 0x13,0x0,0x0 +00183c d005 BRA 0x1848 +00183e a2ad BTFSS 0xad,0x1,0x0 +001840 d7fe BRA 0x183e +001842 0e41 MOVLW 0x41 +001844 2413 ADDWF 0x13,0x0,0x0 +001846 0ff6 ADDLW 0xf6 +001848 eceb CALL 0x3fd6,0x0 +00184a f01f +00184c e305 BNC 0x1858 +00184e a2ad BTFSS 0xad,0x1,0x0 +001850 d7fe BRA 0x184e +001852 0e30 MOVLW 0x30 +001854 2413 ADDWF 0x13,0x0,0x0 +001856 d005 BRA 0x1862 +001858 a2ad BTFSS 0xad,0x1,0x0 +00185a d7fe BRA 0x1858 +00185c 0e41 MOVLW 0x41 +00185e 2413 ADDWF 0x13,0x0,0x0 +001860 0ff6 ADDLW 0xf6 +001862 ec45 CALL 0x428a,0x0 +001864 f021 +001866 e305 BNC 0x1872 +001868 a2ad BTFSS 0xad,0x1,0x0 +00186a d7fe BRA 0x1868 +00186c 0e30 MOVLW 0x30 +00186e 2413 ADDWF 0x13,0x0,0x0 +001870 d005 BRA 0x187c +001872 a2ad BTFSS 0xad,0x1,0x0 +001874 d7fe BRA 0x1872 +001876 0e41 MOVLW 0x41 +001878 2413 ADDWF 0x13,0x0,0x0 +00187a 0ff6 ADDLW 0xf6 +00187c ecf0 CALL 0x3fe0,0x0 +00187e f01f +001880 e305 BNC 0x188c +001882 a2ad BTFSS 0xad,0x1,0x0 +001884 d7fe BRA 0x1882 +001886 0e30 MOVLW 0x30 +001888 2413 ADDWF 0x13,0x0,0x0 +00188a d005 BRA 0x1896 +00188c a2ad BTFSS 0xad,0x1,0x0 +00188e d7fe BRA 0x188c +001890 0e41 MOVLW 0x41 +001892 2413 ADDWF 0x13,0x0,0x0 +001894 0ff6 ADDLW 0xf6 +001896 ec49 CALL 0x4292,0x0 +001898 f021 +00189a e305 BNC 0x18a6 +00189c a2ad BTFSS 0xad,0x1,0x0 +00189e d7fe BRA 0x189c +0018a0 0e30 MOVLW 0x30 +0018a2 2413 ADDWF 0x13,0x0,0x0 +0018a4 d005 BRA 0x18b0 +0018a6 a2ad BTFSS 0xad,0x1,0x0 +0018a8 d7fe BRA 0x18a6 +0018aa 0e41 MOVLW 0x41 +0018ac 2413 ADDWF 0x13,0x0,0x0 +0018ae 0ff6 ADDLW 0xf6 +0018b0 ecf5 CALL 0x3fea,0x0 +0018b2 f01f +0018b4 e305 BNC 0x18c0 +0018b6 a2ad BTFSS 0xad,0x1,0x0 +0018b8 d7fe BRA 0x18b6 +0018ba 0e30 MOVLW 0x30 +0018bc 2413 ADDWF 0x13,0x0,0x0 +0018be d005 BRA 0x18ca +0018c0 a2ad BTFSS 0xad,0x1,0x0 +0018c2 d7fe BRA 0x18c0 +0018c4 0e41 MOVLW 0x41 +0018c6 2413 ADDWF 0x13,0x0,0x0 +0018c8 0ff6 ADDLW 0xf6 +0018ca ec4d CALL 0x429a,0x0 +0018cc f021 +0018ce e305 BNC 0x18da +0018d0 a2ad BTFSS 0xad,0x1,0x0 +0018d2 d7fe BRA 0x18d0 +0018d4 0e30 MOVLW 0x30 +0018d6 2413 ADDWF 0x13,0x0,0x0 +0018d8 d005 BRA 0x18e4 +0018da a2ad BTFSS 0xad,0x1,0x0 +0018dc d7fe BRA 0x18da +0018de 0e41 MOVLW 0x41 +0018e0 2413 ADDWF 0x13,0x0,0x0 +0018e2 0ff6 ADDLW 0xf6 +0018e4 ecfa CALL 0x3ff4,0x0 +0018e6 f01f +0018e8 e305 BNC 0x18f4 +0018ea a2ad BTFSS 0xad,0x1,0x0 +0018ec d7fe BRA 0x18ea +0018ee 0e30 MOVLW 0x30 +0018f0 2413 ADDWF 0x13,0x0,0x0 +0018f2 d005 BRA 0x18fe +0018f4 a2ad BTFSS 0xad,0x1,0x0 +0018f6 d7fe BRA 0x18f4 +0018f8 0e41 MOVLW 0x41 +0018fa 2413 ADDWF 0x13,0x0,0x0 +0018fc 0ff6 ADDLW 0xf6 +0018fe 6eae MOVWF 0xae,0x0 +0037b6 6e13 MOVWF 0x13,0x0 +0037b8 50e8 MOVF 0xe8,0x0,0x0 +0037ba 0809 SUBLW 0x9 +0037bc 0012 RETURN 0x0 +003ed4 0b0f ANDLW 0xf +003ed6 efdb GOTO 0x37b6 +003ed8 f01b +003fd6 6eae MOVWF 0xae,0x0 +003fd8 0e0f MOVLW 0xf +003fda 1412 ANDWF 0x12,0x0,0x0 +003fdc efdb GOTO 0x37b6 +003fde f01b +003fe0 6eae MOVWF 0xae,0x0 +003fe2 0e0f MOVLW 0xf +003fe4 1411 ANDWF 0x11,0x0,0x0 +003fe6 efdb GOTO 0x37b6 +003fe8 f01b +003fea 6eae MOVWF 0xae,0x0 +003fec 0e0f MOVLW 0xf +003fee 1410 ANDWF 0x10,0x0,0x0 +003ff0 efdb GOTO 0x37b6 +003ff2 f01b +003ff4 6eae MOVWF 0xae,0x0 +003ff6 0e0f MOVLW 0xf +003ff8 140f ANDWF 0xf,0x0,0x0 +003ffa efdb GOTO 0x37b6 +003ffc f01b +00428a 6eae MOVWF 0xae,0x0 +00428c 3811 SWAPF 0x11,0x0,0x0 +00428e ef6a GOTO 0x3ed4 +004290 f01f +004292 6eae MOVWF 0xae,0x0 +004294 3810 SWAPF 0x10,0x0,0x0 +004296 ef6a GOTO 0x3ed4 +004298 f01f +00429a 6eae MOVWF 0xae,0x0 +00429c 380f SWAPF 0xf,0x0,0x0 +00429e ef6a GOTO 0x3ed4 +0042a0 f01f C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001902 a2ad BTFSS 0xad,0x1,0x0 PrintChar('\n') C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001904 d7fe BRA 0x1902 -001906 0e0a MOVLW 0xa -001908 6eae MOVWF 0xae,0x0 +001900 a2ad BTFSS 0xad,0x1,0x0 PrintChar('\n') C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001902 d7fe BRA 0x1900 +001904 0e0a MOVLW 0xa +001906 6eae MOVWF 0xae,0x0 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // It limit switch checking is enabled, check to see if a limit switch value C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // has been seen (CU,51 and CU,52) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -00190a 500c MOVF 0xc,0x0,0x0 if (gLimitSwitchMask) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -00190c e019 BZ 0x1940 +001908 500c MOVF 0xc,0x0,0x0 if (gLimitSwitchMask) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +00190a e019 BZ 0x193e { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -00190e 5081 MOVF 0x81,0x0,0x0 PortBTemp = PORTB; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001910 6e0b MOVWF 0xb,0x0 +00190c 5081 MOVF 0x81,0x0,0x0 PortBTemp = PORTB; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +00190e 6e0b MOVWF 0xb,0x0 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001912 50e8 MOVF 0xe8,0x0,0x0 if ((~(PortBTemp ^ gLimitSwitchTarget)) & gLimitSwitchMask) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001914 180d XORWF 0xd,0x0,0x0 -001916 1ce8 COMF 0xe8,0x0,0x0 -001918 140c ANDWF 0xc,0x0,0x0 -00191a e012 BZ 0x1940 +001910 50e8 MOVF 0xe8,0x0,0x0 if ((~(PortBTemp ^ gLimitSwitchTarget)) & gLimitSwitchMask) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001912 180d XORWF 0xd,0x0,0x0 +001914 1ce8 COMF 0xe8,0x0,0x0 +001916 140c ANDWF 0xc,0x0,0x0 +001918 e012 BZ 0x193e { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // At least one of the bits in PortB that we are looking at is in a state C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // now where it has 'triggered' and so we need to shut down the current C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // move, and remove all remaining commands from the FIFO C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -00191c c00b MOVFF 0xb,0xdc gLimitSwitchPortB = PortBTemp; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -00191e f0dc -001920 800e BSF 0xe,0x0,0x0 bitsetzero(gLimitSwitchTriggered); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +00191a c00b MOVFF 0xb,0xdc gLimitSwitchPortB = PortBTemp; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +00191c f0dc +00191e 800e BSF 0xe,0x0,0x0 bitsetzero(gLimitSwitchTriggered); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001922 6a02 CLRF 0x2,0x0 AxisActive[0] = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001924 6a03 CLRF 0x3,0x0 AxisActive[1] = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001926 8000 BSF 0x0,0x0,0x0 bitsetzero(AllDone); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001928 6a14 CLRF 0x14,0x0 gFIFOLength = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -00192a 6a15 CLRF 0x15,0x0 gFIFOIn = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -00192c 6a16 CLRF 0x16,0x0 gFIFOOut = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001920 6a02 CLRF 0x2,0x0 AxisActive[0] = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001922 6a03 CLRF 0x3,0x0 AxisActive[1] = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001924 8000 BSF 0x0,0x0,0x0 bitsetzero(AllDone); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001926 6a14 CLRF 0x14,0x0 gFIFOLength = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001928 6a15 CLRF 0x15,0x0 gFIFOIn = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +00192a 6a16 CLRF 0x16,0x0 gFIFOOut = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // Flush the whole FIFO by clearing each element's Command field C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -00192e 6a01 CLRF 0x1,0x0 for (isr_i=0; isr_i < COMMAND_FIFO_MAX_LENGTH; isr_i++) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001930 0e1c MOVLW 0x1c -001932 5c01 SUBWF 0x1,0x0,0x0 -001934 e205 BC 0x1940 -00193c 2a01 INCF 0x1,0x1,0x0 -00193e d7f8 BRA 0x1930 +00192c 6a01 CLRF 0x1,0x0 for (isr_i=0; isr_i < COMMAND_FIFO_MAX_LENGTH; isr_i++) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +00192e 0e20 MOVLW 0x20 +001930 5c01 SUBWF 0x1,0x0,0x0 +001932 e205 BC 0x193e +00193a 2a01 INCF 0x1,0x1,0x0 +00193c d7f8 BRA 0x192e { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001936 5001 MOVF 0x1,0x0,0x0 FIFOPtr[isr_i].Command = COMMAND_NONE_BIT; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001938 ecea CALL 0x39d4,0x0 -00193a f01c +001934 5001 MOVF 0x1,0x0,0x0 FIFOPtr[isr_i].Command = COMMAND_NONE_BIT; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001936 ec0e CALL 0x3a1c,0x0 +001938 f01d } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // If we're done with our current command, load in the next one C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001940 a000 BTFSS 0x0,0x0,0x0 if (bittstzero(AllDone)) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001942 d0ec BRA 0x1b1c +00193e a000 BTFSS 0x0,0x0,0x0 if (bittstzero(AllDone)) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001940 d0ec BRA 0x1b1a { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001944 0101 MOVLB 0x1 CurrentCommand.Command = COMMAND_NONE_BIT; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001946 6b80 CLRF 0x80,0x1 -001948 5014 MOVF 0x14,0x0,0x0 if (gFIFOLength != 0u) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -00194a e101 BNZ 0x194e -00194c d0cf BRA 0x1aec +001942 0101 MOVLB 0x1 CurrentCommand.Command = COMMAND_NONE_BIT; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001944 6b80 CLRF 0x80,0x1 +001946 5014 MOVF 0x14,0x0,0x0 if (gFIFOLength != 0u) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001948 e101 BNZ 0x194c +00194a d0cf BRA 0x1aea { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -00194e b209 BTFSC 0x9,0x1,0x0 if (bittst(TestMode, TEST_MODE_GPIO_BIT_NUM)) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +00194c b209 BTFSC 0x9,0x1,0x0 if (bittst(TestMode, TEST_MODE_GPIO_BIT_NUM)) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001950 808c BSF 0x8c,0x0,0x0 LATDbits.LATD0 = 1; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +00194e 808c BSF 0x8c,0x0,0x0 LATDbits.LATD0 = 1; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001952 b006 BTFSC 0x6,0x0,0x0 if (bittstzero(gRedLEDEmptyFIFO)) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001950 b006 BTFSC 0x6,0x0,0x0 if (bittstzero(gRedLEDEmptyFIFO)) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001954 948c BCF 0x8c,0x2,0x0 mLED_2_Off() C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001952 948c BCF 0x8c,0x2,0x0 mLED_2_Off() C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // If enabled, move stepper disable state to primed C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001956 0100 MOVLB 0x0 if (g_StepperDisableState != kSTEPPER_TIMEOUT_DISABLED) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001958 51a8 MOVF 0xa8,0x0,0x1 -00195a e002 BZ 0x1960 +001954 0100 MOVLB 0x0 if (g_StepperDisableState != kSTEPPER_TIMEOUT_DISABLED) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001956 51a8 MOVF 0xa8,0x0,0x1 +001958 e002 BZ 0x195e { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -00195c 0e01 MOVLW 0x1 g_StepperDisableState = kSTEPPER_TIMEOUT_PRIMED; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -00195e 6fa8 MOVWF 0xa8,0x1 +00195a 0e01 MOVLW 0x1 g_StepperDisableState = kSTEPPER_TIMEOUT_PRIMED; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +00195c 6fa8 MOVWF 0xa8,0x1 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // FIFO_COPY(); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c @@ -8239,297 +8249,297 @@ Address Value Disassembly Source // The order that we check these is the same as the main ISR check order C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // above, where we want to have the most common commands checked first C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // since they will then happen faster. C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001960 5016 MOVF 0x16,0x0,0x0 gFIFOCommand = FIFOPtr[gFIFOOut].Command; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001962 ec52 CALL 0x3ea4,0x0 -001964 f01f -001966 50ef MOVF 0xef,0x0,0x0 -001968 6e17 MOVWF 0x17,0x0 +00195e 5016 MOVF 0x16,0x0,0x0 gFIFOCommand = FIFOPtr[gFIFOOut].Command; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001960 ec62 CALL 0x3ec4,0x0 +001962 f01f +001964 50ef MOVF 0xef,0x0,0x0 +001966 6e17 MOVWF 0x17,0x0 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -00196a a817 BTFSS 0x17,0x4,0x0 if (bittst(gFIFOCommand, COMMAND_SM_XM_HM_MOVE_BIT_NUM)) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -00196c d003 BRA 0x1974 +001968 a817 BTFSS 0x17,0x4,0x0 if (bittst(gFIFOCommand, COMMAND_SM_XM_HM_MOVE_BIT_NUM)) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +00196a d003 BRA 0x1972 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -00196e eced CALL 0x41da,0x0 CurrentCommand.Command = FIFOPtr[gFIFOOut].Command; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001970 f020 -0041da d8ac RCALL 0x4334 -0041dc 0e07 MOVLW 0x7 CurrentCommand.Rate[0] = FIFOPtr[gFIFOOut].Rate[0]; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0041de ecc0 CALL 0x3780,0x0 -0041e0 f01b -0041e2 cfee MOVFF 0xfee,0x187 -0041e4 f187 -0041e6 cfee MOVFF 0xfee,0x188 -0041e8 f188 -0041ea cfee MOVFF 0xfee,0x189 -0041ec f189 -0041ee cfef MOVFF 0xfef,0x18a -0041f0 f18a -0041f2 eca2 CALL 0x3544,0x0 CurrentCommand.Rate[1] = FIFOPtr[gFIFOOut].Rate[1]; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0041f4 f01a -0041f6 0e07 MOVLW 0x7 -0041f8 d898 RCALL 0x432a -0041fa eff8 GOTO 0x39f0 -0041fc f01c -00432a ecc0 CALL 0x3780,0x0 -00432c f01b -00432e 0e04 MOVLW 0x4 -004330 efc0 GOTO 0x3780 -004332 f01b +00196c ecfe CALL 0x41fc,0x0 CurrentCommand.Command = FIFOPtr[gFIFOOut].Command; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +00196e f020 +0041fc d8a9 RCALL 0x4350 +0041fe 0e07 MOVLW 0x7 CurrentCommand.Rate[0] = FIFOPtr[gFIFOOut].Rate[0]; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +004200 ecd3 CALL 0x37a6,0x0 +004202 f01b +004204 cfee MOVFF 0xfee,0x187 +004206 f187 +004208 cfee MOVFF 0xfee,0x188 +00420a f188 +00420c cfee MOVFF 0xfee,0x189 +00420e f189 +004210 cfef MOVFF 0xfef,0x18a +004212 f18a +004214 ecb5 CALL 0x356a,0x0 CurrentCommand.Rate[1] = FIFOPtr[gFIFOOut].Rate[1]; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +004216 f01a +004218 0e07 MOVLW 0x7 +00421a d895 RCALL 0x4346 +00421c ef1c GOTO 0x3a38 +00421e f01d +004346 ecd3 CALL 0x37a6,0x0 +004348 f01b +00434a 0e04 MOVLW 0x4 +00434c efd3 GOTO 0x37a6 +00434e f01b CurrentCommand.Steps[0] = FIFOPtr[gFIFOOut].Steps[0]; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c CurrentCommand.Steps[1] = FIFOPtr[gFIFOOut].Steps[1]; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c CurrentCommand.DirBits = FIFOPtr[gFIFOOut].DirBits; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c CurrentCommand.DelayCounter = FIFOPtr[gFIFOOut].DelayCounter; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c CurrentCommand.SEState = FIFOPtr[gFIFOOut].SEState; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001972 d004 BRA 0x197c else if (bittst(gFIFOCommand, COMMAND_LM_MOVE_BIT_NUM)) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001974 aa17 BTFSS 0x17,0x5,0x0 -001976 d014 BRA 0x19a0 +001970 d004 BRA 0x197a else if (bittst(gFIFOCommand, COMMAND_LM_MOVE_BIT_NUM)) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001972 aa17 BTFSS 0x17,0x5,0x0 +001974 d014 BRA 0x199e { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001978 ec00 CALL 0x3e00,0x0 CurrentCommand.Command = FIFOPtr[gFIFOOut].Command; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -00197a f01f -003e00 d9ec RCALL 0x41da +001976 ec10 CALL 0x3e20,0x0 CurrentCommand.Command = FIFOPtr[gFIFOOut].Command; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001978 f01f +003e20 d9ed RCALL 0x41fc CurrentCommand.Rate[0] = FIFOPtr[gFIFOOut].Rate[0]; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c CurrentCommand.Rate[1] = FIFOPtr[gFIFOOut].Rate[1]; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -003e02 eca2 CALL 0x3544,0x0 CurrentCommand.Accel[0] = FIFOPtr[gFIFOOut].Accel[0]; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -003e04 f01a -003e06 0e1f MOVLW 0x1f -003e08 dcbb RCALL 0x3780 -003e0a cfee MOVFF 0xfee,0x19f -003e0c f19f -003e0e cfee MOVFF 0xfee,0x1a0 -003e10 f1a0 -003e12 cfee MOVFF 0xfee,0x1a1 -003e14 f1a1 -003e16 cfef MOVFF 0xfef,0x1a2 -003e18 f1a2 -003e1a eca2 CALL 0x3544,0x0 CurrentCommand.Accel[1] = FIFOPtr[gFIFOOut].Accel[1]; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -003e1c f01a -003e1e 0e1f MOVLW 0x1f -003e20 da84 RCALL 0x432a -003e22 cfee MOVFF 0xfee,0x1a3 -003e24 f1a3 -003e26 cfee MOVFF 0xfee,0x1a4 -003e28 f1a4 -003e2a cfee MOVFF 0xfee,0x1a5 -003e2c f1a5 -003e2e cfef MOVFF 0xfef,0x1a6 -003e30 f1a6 -003e32 eca2 CALL 0x3544,0x0 CurrentCommand.Jerk[0] = FIFOPtr[gFIFOOut].Jerk[0]; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -003e34 f01a -003e36 0e17 MOVLW 0x17 -003e38 dca3 RCALL 0x3780 -003e3a cfee MOVFF 0xfee,0x197 -003e3c f197 -003e3e cfee MOVFF 0xfee,0x198 -003e40 f198 -003e42 cfee MOVFF 0xfee,0x199 -003e44 f199 -003e46 cfef MOVFF 0xfef,0x19a -003e48 f19a -003b88 cfee MOVFF 0xfee,0x19b CurrentCommand.Jerk[1] = FIFOPtr[gFIFOOut].Jerk[1]; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -003b8a f19b -003b8c cfee MOVFF 0xfee,0x19c -003b8e f19c -003b90 cfee MOVFF 0xfee,0x19d -003b92 f19d -003b94 cfef MOVFF 0xfef,0x19e -003b96 f19e -003b98 0012 RETURN 0x0 -003e4a eca2 CALL 0x3544,0x0 -003e4c f01a -003e4e 0e17 MOVLW 0x17 -003e50 da6c RCALL 0x432a -003e52 efc4 GOTO 0x3b88 -003e54 f01d -00197c ec76 CALL 0x40ec,0x0 CurrentCommand.Steps[0] = FIFOPtr[gFIFOOut].Steps[0]; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -00197e f020 -001980 eccd CALL 0x3b9a,0x0 -001982 f01d -003b9a cfee MOVFF 0xfee,0x18f -003b9c f18f -003b9e cfee MOVFF 0xfee,0x190 -003ba0 f190 -003ba2 cfee MOVFF 0xfee,0x191 -003ba4 f191 -003ba6 cfef MOVFF 0xfef,0x192 -003ba8 f192 -003baa 0012 RETURN 0x0 -001984 ec76 CALL 0x40ec,0x0 CurrentCommand.Steps[1] = FIFOPtr[gFIFOOut].Steps[1]; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001986 f020 -001988 0e04 MOVLW 0x4 -00198a ecc0 CALL 0x3780,0x0 -00198c f01b -00198e cfee MOVFF 0xfee,0x193 -001990 f193 -001992 cfee MOVFF 0xfee,0x194 -001994 f194 -001996 cfee MOVFF 0xfee,0x195 -001998 f195 -00199a cfef MOVFF 0xfef,0x196 -00199c f196 +003e22 ecb5 CALL 0x356a,0x0 CurrentCommand.Accel[0] = FIFOPtr[gFIFOOut].Accel[0]; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +003e24 f01a +003e26 0e1f MOVLW 0x1f +003e28 dcbe RCALL 0x37a6 +003e2a cfee MOVFF 0xfee,0x19f +003e2c f19f +003e2e cfee MOVFF 0xfee,0x1a0 +003e30 f1a0 +003e32 cfee MOVFF 0xfee,0x1a1 +003e34 f1a1 +003e36 cfef MOVFF 0xfef,0x1a2 +003e38 f1a2 +003e3a ecb5 CALL 0x356a,0x0 CurrentCommand.Accel[1] = FIFOPtr[gFIFOOut].Accel[1]; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +003e3c f01a +003e3e 0e1f MOVLW 0x1f +003e40 da82 RCALL 0x4346 +003e42 cfee MOVFF 0xfee,0x1a3 +003e44 f1a3 +003e46 cfee MOVFF 0xfee,0x1a4 +003e48 f1a4 +003e4a cfee MOVFF 0xfee,0x1a5 +003e4c f1a5 +003e4e cfef MOVFF 0xfef,0x1a6 +003e50 f1a6 +003e52 ecb5 CALL 0x356a,0x0 CurrentCommand.Jerk[0] = FIFOPtr[gFIFOOut].Jerk[0]; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +003e54 f01a +003e56 0e17 MOVLW 0x17 +003e58 dca6 RCALL 0x37a6 +003e5a cfee MOVFF 0xfee,0x197 +003e5c f197 +003e5e cfee MOVFF 0xfee,0x198 +003e60 f198 +003e62 cfee MOVFF 0xfee,0x199 +003e64 f199 +003e66 cfef MOVFF 0xfef,0x19a +003e68 f19a +003bac cfee MOVFF 0xfee,0x19b CurrentCommand.Jerk[1] = FIFOPtr[gFIFOOut].Jerk[1]; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +003bae f19b +003bb0 cfee MOVFF 0xfee,0x19c +003bb2 f19c +003bb4 cfee MOVFF 0xfee,0x19d +003bb6 f19d +003bb8 cfef MOVFF 0xfef,0x19e +003bba f19e +003bbc 0012 RETURN 0x0 +003e6a ecb5 CALL 0x356a,0x0 +003e6c f01a +003e6e 0e17 MOVLW 0x17 +003e70 da6a RCALL 0x4346 +003e72 efd6 GOTO 0x3bac +003e74 f01d +00197a ec87 CALL 0x410e,0x0 CurrentCommand.Steps[0] = FIFOPtr[gFIFOOut].Steps[0]; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +00197c f020 +00197e ecdf CALL 0x3bbe,0x0 +001980 f01d +003bbe cfee MOVFF 0xfee,0x18f +003bc0 f18f +003bc2 cfee MOVFF 0xfee,0x190 +003bc4 f190 +003bc6 cfee MOVFF 0xfee,0x191 +003bc8 f191 +003bca cfef MOVFF 0xfef,0x192 +003bcc f192 +003bce 0012 RETURN 0x0 +001982 ec87 CALL 0x410e,0x0 CurrentCommand.Steps[1] = FIFOPtr[gFIFOOut].Steps[1]; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001984 f020 +001986 0e04 MOVLW 0x4 +001988 ecd3 CALL 0x37a6,0x0 +00198a f01b +00198c cfee MOVFF 0xfee,0x193 +00198e f193 +001990 cfee MOVFF 0xfee,0x194 +001992 f194 +001994 cfee MOVFF 0xfee,0x195 +001996 f195 +001998 cfef MOVFF 0xfef,0x196 +00199a f196 CurrentCommand.DirBits = FIFOPtr[gFIFOOut].DirBits; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c CurrentCommand.DelayCounter = FIFOPtr[gFIFOOut].DelayCounter; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c CurrentCommand.SEState = FIFOPtr[gFIFOOut].SEState; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -00199e d008 BRA 0x19b0 else if (bittst(gFIFOCommand, COMMAND_LT_MOVE_BIT_NUM)) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0019a0 ac17 BTFSS 0x17,0x6,0x0 -0019a2 d010 BRA 0x19c4 +00199c d008 BRA 0x19ae else if (bittst(gFIFOCommand, COMMAND_LT_MOVE_BIT_NUM)) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +00199e ac17 BTFSS 0x17,0x6,0x0 +0019a0 d010 BRA 0x19c2 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0019a4 ec00 CALL 0x3e00,0x0 CurrentCommand.Command = FIFOPtr[gFIFOOut].Command; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0019a6 f01f +0019a2 ec10 CALL 0x3e20,0x0 CurrentCommand.Command = FIFOPtr[gFIFOOut].Command; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +0019a4 f01f CurrentCommand.Rate[0] = FIFOPtr[gFIFOOut].Rate[0]; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0039f0 cfee MOVFF 0xfee,0x18b CurrentCommand.Rate[1] = FIFOPtr[gFIFOOut].Rate[1]; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0039f2 f18b -0039f4 cfee MOVFF 0xfee,0x18c -0039f6 f18c -0039f8 cfee MOVFF 0xfee,0x18d -0039fa f18d -0039fc cfef MOVFF 0xfef,0x18e -0039fe f18e -003a00 0012 RETURN 0x0 +003a38 cfee MOVFF 0xfee,0x18b CurrentCommand.Rate[1] = FIFOPtr[gFIFOOut].Rate[1]; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +003a3a f18b +003a3c cfee MOVFF 0xfee,0x18c +003a3e f18c +003a40 cfee MOVFF 0xfee,0x18d +003a42 f18d +003a44 cfef MOVFF 0xfef,0x18e +003a46 f18e +003a48 0012 RETURN 0x0 CurrentCommand.Accel[0] = FIFOPtr[gFIFOOut].Accel[0]; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c CurrentCommand.Accel[1] = FIFOPtr[gFIFOOut].Accel[1]; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c CurrentCommand.Jerk[0] = FIFOPtr[gFIFOOut].Jerk[0]; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c CurrentCommand.Jerk[1] = FIFOPtr[gFIFOOut].Jerk[1]; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0019a8 ec76 CALL 0x40ec,0x0 CurrentCommand.Steps[0] = FIFOPtr[gFIFOOut].Steps[0]; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0019aa f020 -0019ac eccd CALL 0x3b9a,0x0 -0019ae f01d -0040ec eca2 CALL 0x3544,0x0 -0040ee f01a -0040f0 0e0f MOVLW 0xf -0040f2 efc0 GOTO 0x3780 -0040f4 f01b -0019b0 ec8d CALL 0x411a,0x0 CurrentCommand.DirBits = FIFOPtr[gFIFOOut].DirBits; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0019b2 f020 -00411a eca2 CALL 0x3544,0x0 -00411c f01a -00411e 52ee MOVF 0xee,0x1,0x0 -004120 cfef MOVFF 0xfef,0x181 -004122 f181 -0019b4 0e02 MOVLW 0x2 CurrentCommand.DelayCounter = FIFOPtr[gFIFOOut].DelayCounter; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0019b6 ecc0 CALL 0x3780,0x0 -0019b8 f01b -0019ba ec76 CALL 0x38ec,0x0 -0019bc f01c -004124 efa2 GOTO 0x3544 -004126 f01a -0019be ec85 CALL 0x410a,0x0 CurrentCommand.SEState = FIFOPtr[gFIFOOut].SEState; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0019c0 f020 -00410a eca2 CALL 0x3544,0x0 -00410c f01a -00410e 0e06 MOVLW 0x6 -004110 ecc0 CALL 0x3780,0x0 -004112 f01b -004114 cfef MOVFF 0xfef,0x186 -004116 f186 -004118 0012 RETURN 0x0 +0019a6 ec87 CALL 0x410e,0x0 CurrentCommand.Steps[0] = FIFOPtr[gFIFOOut].Steps[0]; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +0019a8 f020 +0019aa ecdf CALL 0x3bbe,0x0 +0019ac f01d +00410e ecb5 CALL 0x356a,0x0 +004110 f01a +004112 0e0f MOVLW 0xf +004114 efd3 GOTO 0x37a6 +004116 f01b +0019ae ec9e CALL 0x413c,0x0 CurrentCommand.DirBits = FIFOPtr[gFIFOOut].DirBits; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +0019b0 f020 +00413c ecb5 CALL 0x356a,0x0 +00413e f01a +004140 52ee MOVF 0xee,0x1,0x0 +004142 cfef MOVFF 0xfef,0x181 +004144 f181 +0019b2 0e02 MOVLW 0x2 CurrentCommand.DelayCounter = FIFOPtr[gFIFOOut].DelayCounter; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +0019b4 ecd3 CALL 0x37a6,0x0 +0019b6 f01b +0019b8 ec89 CALL 0x3912,0x0 +0019ba f01c +004146 efb5 GOTO 0x356a +004148 f01a +0019bc ec96 CALL 0x412c,0x0 CurrentCommand.SEState = FIFOPtr[gFIFOOut].SEState; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +0019be f020 +00412c ecb5 CALL 0x356a,0x0 +00412e f01a +004130 0e06 MOVLW 0x6 +004132 ecd3 CALL 0x37a6,0x0 +004134 f01b +004136 cfef MOVFF 0xfef,0x186 +004138 f186 +00413a 0012 RETURN 0x0 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0019c2 d045 BRA 0x1a4e else if (bittst(gFIFOCommand, COMMAND_SERVO_MOVE_BIT_NUM)) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0019c4 a217 BTFSS 0x17,0x1,0x0 -0019c6 d023 BRA 0x1a0e +0019c0 d045 BRA 0x1a4c else if (bittst(gFIFOCommand, COMMAND_SERVO_MOVE_BIT_NUM)) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +0019c2 a217 BTFSS 0x17,0x1,0x0 +0019c4 d023 BRA 0x1a0c { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0019c8 ec5d CALL 0x3eba,0x0 CurrentCommand.Command = FIFOPtr[gFIFOOut].Command; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0019ca f01f +0019c6 ec6d CALL 0x3eda,0x0 CurrentCommand.Command = FIFOPtr[gFIFOOut].Command; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +0019c8 f01f CurrentCommand.DelayCounter = FIFOPtr[gFIFOOut].DelayCounter; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0019cc eca2 CALL 0x3544,0x0 CurrentCommand.ServoPosition = FIFOPtr[gFIFOOut].ServoPosition; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0019ce f01a -0019d0 0e28 MOVLW 0x28 -0019d2 ecc0 CALL 0x3780,0x0 -0019d4 f01b -0019d6 cfee MOVFF 0xfee,0x1a8 -0019d8 f1a8 -0019da cfed MOVFF 0xfed,0x1a9 -0019dc f1a9 -0019de eca2 CALL 0x3544,0x0 CurrentCommand.ServoRPn = FIFOPtr[gFIFOOut].ServoRPn; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0019e0 f01a -0019e2 0e27 MOVLW 0x27 -0019e4 ecc0 CALL 0x3780,0x0 -0019e6 f01b -0019e8 cfef MOVFF 0xfef,0x1a7 -0019ea f1a7 -0019ec eca2 CALL 0x3544,0x0 CurrentCommand.ServoChannel = FIFOPtr[gFIFOOut].ServoChannel; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0019ee f01a -0019f0 0e2a MOVLW 0x2a -0019f2 ecc0 CALL 0x3780,0x0 -0019f4 f01b -0019f6 cfef MOVFF 0xfef,0x1aa -0019f8 f1aa -0019fa eca2 CALL 0x3544,0x0 CurrentCommand.ServoRate = FIFOPtr[gFIFOOut].ServoRate; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0019fc f01a -0019fe 0e2b MOVLW 0x2b -001a00 ecc0 CALL 0x3780,0x0 -001a02 f01b -001a04 cfee MOVFF 0xfee,0x1ab -001a06 f1ab -001a08 cfed MOVFF 0xfed,0x1ac -001a0a f1ac +0019ca ecb5 CALL 0x356a,0x0 CurrentCommand.ServoPosition = FIFOPtr[gFIFOOut].ServoPosition; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +0019cc f01a +0019ce 0e28 MOVLW 0x28 +0019d0 ecd3 CALL 0x37a6,0x0 +0019d2 f01b +0019d4 cfee MOVFF 0xfee,0x1a8 +0019d6 f1a8 +0019d8 cfed MOVFF 0xfed,0x1a9 +0019da f1a9 +0019dc ecb5 CALL 0x356a,0x0 CurrentCommand.ServoRPn = FIFOPtr[gFIFOOut].ServoRPn; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +0019de f01a +0019e0 0e27 MOVLW 0x27 +0019e2 ecd3 CALL 0x37a6,0x0 +0019e4 f01b +0019e6 cfef MOVFF 0xfef,0x1a7 +0019e8 f1a7 +0019ea ecb5 CALL 0x356a,0x0 CurrentCommand.ServoChannel = FIFOPtr[gFIFOOut].ServoChannel; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +0019ec f01a +0019ee 0e2a MOVLW 0x2a +0019f0 ecd3 CALL 0x37a6,0x0 +0019f2 f01b +0019f4 cfef MOVFF 0xfef,0x1aa +0019f6 f1aa +0019f8 ecb5 CALL 0x356a,0x0 CurrentCommand.ServoRate = FIFOPtr[gFIFOOut].ServoRate; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +0019fa f01a +0019fc 0e2b MOVLW 0x2b +0019fe ecd3 CALL 0x37a6,0x0 +001a00 f01b +001a02 cfee MOVFF 0xfee,0x1ab +001a04 f1ab +001a06 cfed MOVFF 0xfed,0x1ac +001a08 f1ac } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // Note: bittst(CurrentCommand, COMMAND_DELAY_BIT_NUM) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001a0c d020 BRA 0x1a4e else if (bittstzero(gFIFOCommand)) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001a0e a017 BTFSS 0x17,0x0,0x0 -001a10 d003 BRA 0x1a18 +001a0a d020 BRA 0x1a4c else if (bittstzero(gFIFOCommand)) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001a0c a017 BTFSS 0x17,0x0,0x0 +001a0e d003 BRA 0x1a16 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001a12 ec5d CALL 0x3eba,0x0 CurrentCommand.Command = FIFOPtr[gFIFOOut].Command; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001a14 f01f +001a10 ec6d CALL 0x3eda,0x0 CurrentCommand.Command = FIFOPtr[gFIFOOut].Command; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001a12 f01f CurrentCommand.DelayCounter = FIFOPtr[gFIFOOut].DelayCounter; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001a16 d01b BRA 0x1a4e else if (bittst(gFIFOCommand, COMMAND_SE_BIT_NUM)) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001a18 a417 BTFSS 0x17,0x2,0x0 -001a1a d00e BRA 0x1a38 +001a14 d01b BRA 0x1a4c else if (bittst(gFIFOCommand, COMMAND_SE_BIT_NUM)) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001a16 a417 BTFSS 0x17,0x2,0x0 +001a18 d00e BRA 0x1a36 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001a1c ec5d CALL 0x3eba,0x0 CurrentCommand.Command = FIFOPtr[gFIFOOut].Command; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001a1e f01f -003eba da3c RCALL 0x4334 -004334 eca2 CALL 0x3544,0x0 -004336 f01a -004338 cfef MOVFF 0xfef,0x180 -00433a f180 -0038ec cfee MOVFF 0xfee,0x182 CurrentCommand.DelayCounter = FIFOPtr[gFIFOOut].DelayCounter; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0038ee f182 -0038f0 cfee MOVFF 0xfee,0x183 -0038f2 f183 -0038f4 cfee MOVFF 0xfee,0x184 -0038f6 f184 -0038f8 cfef MOVFF 0xfef,0x185 -0038fa f185 -0038fc 0012 RETURN 0x0 -003ebc 0e02 MOVLW 0x2 -003ebe dc60 RCALL 0x3780 -003ec0 ef76 GOTO 0x38ec -003ec2 f01c -00433c efa2 GOTO 0x3544 -00433e f01a -001a20 ec85 CALL 0x410a,0x0 CurrentCommand.SEState = FIFOPtr[gFIFOOut].SEState; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001a22 f020 -001a24 eca2 CALL 0x3544,0x0 CurrentCommand.SEPower = FIFOPtr[gFIFOOut].SEPower; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001a26 f01a -001a28 0e2d MOVLW 0x2d -001a2a ecc0 CALL 0x3780,0x0 -001a2c f01b -001a2e cfee MOVFF 0xfee,0x1ad -001a30 f1ad -001a32 cfed MOVFF 0xfed,0x1ae -001a34 f1ae +001a1a ec6d CALL 0x3eda,0x0 CurrentCommand.Command = FIFOPtr[gFIFOOut].Command; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001a1c f01f +003eda da3a RCALL 0x4350 +004350 ecb5 CALL 0x356a,0x0 +004352 f01a +004354 cfef MOVFF 0xfef,0x180 +004356 f180 +003912 cfee MOVFF 0xfee,0x182 CurrentCommand.DelayCounter = FIFOPtr[gFIFOOut].DelayCounter; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +003914 f182 +003916 cfee MOVFF 0xfee,0x183 +003918 f183 +00391a cfee MOVFF 0xfee,0x184 +00391c f184 +00391e cfef MOVFF 0xfef,0x185 +003920 f185 +003922 0012 RETURN 0x0 +003edc 0e02 MOVLW 0x2 +003ede dc63 RCALL 0x37a6 +003ee0 ef89 GOTO 0x3912 +003ee2 f01c +004358 efb5 GOTO 0x356a +00435a f01a +001a1e ec96 CALL 0x412c,0x0 CurrentCommand.SEState = FIFOPtr[gFIFOOut].SEState; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001a20 f020 +001a22 ecb5 CALL 0x356a,0x0 CurrentCommand.SEPower = FIFOPtr[gFIFOOut].SEPower; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001a24 f01a +001a26 0e2d MOVLW 0x2d +001a28 ecd3 CALL 0x37a6,0x0 +001a2a f01b +001a2c cfee MOVFF 0xfee,0x1ad +001a2e f1ad +001a30 cfed MOVFF 0xfed,0x1ae +001a32 f1ae } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001a36 d00b BRA 0x1a4e else // Note: We are assuming that if there is a command in the FIFO, and C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001a34 d00b BRA 0x1a4c else // Note: We are assuming that if there is a command in the FIFO, and C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // it is NOT one of the above 6 commands, then it MUST be a C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // COMMAND_EM_BIT. We do NOT test explicitly for this to save time C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001a38 eca2 CALL 0x3544,0x0 CurrentCommand.Command = FIFOPtr[gFIFOOut].Command; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001a3a f01a -001a3c cfef MOVFF 0xfef,0x180 -001a3e f180 -003544 5016 MOVF 0x16,0x0,0x0 -003546 ef6c GOTO 0x40d8 -003548 f020 -0040d8 0d2f MULLW 0x2f -0040da d0ec BRA 0x42b4 -001a40 ec8d CALL 0x411a,0x0 CurrentCommand.DirBits = FIFOPtr[gFIFOOut].DirBits; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001a42 f020 -001a44 0e27 MOVLW 0x27 CurrentCommand.ServoRPn = FIFOPtr[gFIFOOut].ServoRPn; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001a46 ecc0 CALL 0x3780,0x0 -001a48 f01b -001a4a cfef MOVFF 0xfef,0x1a7 -001a4c f1a7 +001a36 ecb5 CALL 0x356a,0x0 CurrentCommand.Command = FIFOPtr[gFIFOOut].Command; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001a38 f01a +001a3a cfef MOVFF 0xfef,0x180 +001a3c f180 +00356a 5016 MOVF 0x16,0x0,0x0 +00356c ef7d GOTO 0x40fa +00356e f020 +0040fa 0d2f MULLW 0x2f +0040fc d0ec BRA 0x42d6 +001a3e ec9e CALL 0x413c,0x0 CurrentCommand.DirBits = FIFOPtr[gFIFOOut].DirBits; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001a40 f020 +001a42 0e27 MOVLW 0x27 CurrentCommand.ServoRPn = FIFOPtr[gFIFOOut].ServoRPn; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001a44 ecd3 CALL 0x37a6,0x0 +001a46 f01b +001a48 cfef MOVFF 0xfef,0x1a7 +001a4a f1a7 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c #endif C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c @@ -8548,325 +8558,325 @@ Address Value Disassembly Source C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // Take care of clearing the step accumulators for the next move if C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // it's a motor move (of any type) - if the command requests it C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001a4e 0e70 MOVLW 0x70 if (CurrentCommand.Command & (COMMAND_SM_XM_HM_MOVE_BIT | COMMAND_LM_MOVE_BIT | COMMAND_LT_MOVE_BIT)) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001a50 0101 MOVLB 0x1 -001a52 1580 ANDWF 0x80,0x0,0x1 -001a54 e031 BZ 0x1ab8 +001a4c 0e70 MOVLW 0x70 if (CurrentCommand.Command & (COMMAND_SM_XM_HM_MOVE_BIT | COMMAND_LM_MOVE_BIT | COMMAND_LT_MOVE_BIT)) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001a4e 0101 MOVLB 0x1 +001a50 1580 ANDWF 0x80,0x0,0x1 +001a52 e031 BZ 0x1ab6 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001a56 a986 BTFSS 0x86,0x4,0x1 if (CurrentCommand.SEState & SESTATE_ARBITRARY_ACC_BIT) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001a58 d009 BRA 0x1a6c +001a54 a986 BTFSS 0x86,0x4,0x1 if (CurrentCommand.SEState & SESTATE_ARBITRARY_ACC_BIT) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001a56 d009 BRA 0x1a6a { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001a5a c182 MOVFF 0x182,0x1af acc_union[0].value = CurrentCommand.DelayCounter; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001a5c f1af -001a5e c183 MOVFF 0x183,0x1b0 -001a60 f1b0 -001a62 c184 MOVFF 0x184,0x1b1 -001a64 f1b1 -001a66 c185 MOVFF 0x185,0x1b2 -001a68 f1b2 +001a58 c182 MOVFF 0x182,0x23 acc_union[0].value = CurrentCommand.DelayCounter; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001a5a f023 +001a5c c183 MOVFF 0x183,0x24 +001a5e f024 +001a60 c184 MOVFF 0x184,0x25 +001a62 f025 +001a64 c185 MOVFF 0x185,0x26 +001a66 f026 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001a6a d01a BRA 0x1aa0 else C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001a68 d01a BRA 0x1a9e else C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // Use the SEState to determine which accumulators to clear. C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001a6c a186 BTFSS 0x86,0x0,0x1 if (CurrentCommand.SEState & SESTATE_CLEAR_ACC1_BIT) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001a6e d004 BRA 0x1a78 +001a6a a186 BTFSS 0x86,0x0,0x1 if (CurrentCommand.SEState & SESTATE_CLEAR_ACC1_BIT) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001a6c d004 BRA 0x1a76 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001a70 6baf CLRF 0xaf,0x1 acc_union[0].value = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001a72 6bb0 CLRF 0xb0,0x1 -001a74 6bb1 CLRF 0xb1,0x1 -001a76 6bb2 CLRF 0xb2,0x1 +001a6e 6a23 CLRF 0x23,0x0 acc_union[0].value = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001a70 6a24 CLRF 0x24,0x0 +001a72 6a25 CLRF 0x25,0x0 +001a74 6a26 CLRF 0x26,0x0 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001a78 a386 BTFSS 0x86,0x1,0x1 if (CurrentCommand.SEState & SESTATE_CLEAR_ACC2_BIT) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001a7a d004 BRA 0x1a84 +001a76 a386 BTFSS 0x86,0x1,0x1 if (CurrentCommand.SEState & SESTATE_CLEAR_ACC2_BIT) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001a78 d004 BRA 0x1a82 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001a7c 6bb3 CLRF 0xb3,0x1 acc_union[1].value = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001a7e 6bb4 CLRF 0xb4,0x1 -001a80 6bb5 CLRF 0xb5,0x1 -001a82 6bb6 CLRF 0xb6,0x1 +001a7a 6a27 CLRF 0x27,0x0 acc_union[1].value = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001a7c 6a28 CLRF 0x28,0x0 +001a7e 6a29 CLRF 0x29,0x0 +001a80 6a2a CLRF 0x2a,0x0 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001a84 a586 BTFSS 0x86,0x2,0x1 if (CurrentCommand.SEState & SESTATE_NEGATE_ACC1_BIT) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001a86 d005 BRA 0x1a92 +001a82 a586 BTFSS 0x86,0x2,0x1 if (CurrentCommand.SEState & SESTATE_NEGATE_ACC1_BIT) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001a84 d005 BRA 0x1a90 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001a88 69af SETF 0xaf,0x1 acc_union[0].value = 0x7FFFFFFFUL; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001a8a 69b0 SETF 0xb0,0x1 -001a8c 69b1 SETF 0xb1,0x1 -001a8e 0e7f MOVLW 0x7f -001a90 6fb2 MOVWF 0xb2,0x1 +001a86 6823 SETF 0x23,0x0 acc_union[0].value = 0x7FFFFFFFUL; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001a88 6824 SETF 0x24,0x0 +001a8a 6825 SETF 0x25,0x0 +001a8c 0e7f MOVLW 0x7f +001a8e 6e26 MOVWF 0x26,0x0 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001a92 a786 BTFSS 0x86,0x3,0x1 if (CurrentCommand.SEState & SESTATE_NEGATE_ACC2_BIT) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001a94 d005 BRA 0x1aa0 +001a90 a786 BTFSS 0x86,0x3,0x1 if (CurrentCommand.SEState & SESTATE_NEGATE_ACC2_BIT) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001a92 d005 BRA 0x1a9e { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001a96 69b3 SETF 0xb3,0x1 acc_union[1].value = 0x7FFFFFFFUL; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001a98 69b4 SETF 0xb4,0x1 -001a9a 69b5 SETF 0xb5,0x1 -001a9c 0e7f MOVLW 0x7f -001a9e 6fb6 MOVWF 0xb6,0x1 +001a94 6827 SETF 0x27,0x0 acc_union[1].value = 0x7FFFFFFFUL; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001a96 6828 SETF 0x28,0x0 +001a98 6829 SETF 0x29,0x0 +001a9a 0e7f MOVLW 0x7f +001a9c 6e2a MOVWF 0x2a,0x0 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // Set the "Active" flags for this move based on steps for each axis C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001aa0 ec91 CALL 0x3b22,0x0 if (CurrentCommand.Steps[0]) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001aa2 f01d -001aa4 e002 BZ 0x1aaa +001a9e ecb5 CALL 0x3b6a,0x0 if (CurrentCommand.Steps[0]) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001aa0 f01d +001aa2 e002 BZ 0x1aa8 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001aa6 8002 BSF 0x2,0x0,0x0 bitsetzero(AxisActive[0]); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001aa4 8002 BSF 0x2,0x0,0x0 bitsetzero(AxisActive[0]); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001aa8 d001 BRA 0x1aac else C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001aa6 d001 BRA 0x1aaa else C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001aaa 9002 BCF 0x2,0x0,0x0 bitclrzero(AxisActive[0]); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001aa8 9002 BCF 0x2,0x0,0x0 bitclrzero(AxisActive[0]); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001aac ec5d CALL 0x3cba,0x0 if (CurrentCommand.Steps[1]) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001aae f01e -001ab0 e002 BZ 0x1ab6 +001aaa ec5d CALL 0x3cba,0x0 if (CurrentCommand.Steps[1]) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001aac f01e +001aae e002 BZ 0x1ab4 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001ab2 8003 BSF 0x3,0x0,0x0 bitsetzero(AxisActive[1]); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001ab0 8003 BSF 0x3,0x0,0x0 bitsetzero(AxisActive[1]); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001ab4 d001 BRA 0x1ab8 else C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001ab2 d001 BRA 0x1ab6 else C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001ab6 9003 BCF 0x3,0x0,0x0 bitclrzero(AxisActive[1]); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001ab4 9003 BCF 0x3,0x0,0x0 bitclrzero(AxisActive[1]); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001ab8 a409 BTFSS 0x9,0x2,0x0 if (bittst(TestMode, TEST_MODE_USART_ISR_BIT_NUM)) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001aba d00c BRA 0x1ad4 +001ab6 a409 BTFSS 0x9,0x2,0x0 if (bittst(TestMode, TEST_MODE_USART_ISR_BIT_NUM)) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001ab8 d00c BRA 0x1ad2 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001abc 6bb7 CLRF 0xb7,0x1 gISRTickCountForThisCommand = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001abe 6bb8 CLRF 0xb8,0x1 -001ac0 6bb9 CLRF 0xb9,0x1 -001ac2 6bba CLRF 0xba,0x1 -001ac4 6bbb CLRF 0xbb,0x1 gISRStepCountForThisCommand = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001ac6 6bbc CLRF 0xbc,0x1 -001ac8 6bbd CLRF 0xbd,0x1 -001aca 6bbe CLRF 0xbe,0x1 -001acc 6bbf CLRF 0xbf,0x1 gISRPositionForThisCommand = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001ace 6bc0 CLRF 0xc0,0x1 -001ad0 6bc1 CLRF 0xc1,0x1 -001ad2 6bc2 CLRF 0xc2,0x1 +001aba 6a2b CLRF 0x2b,0x0 gISRTickCountForThisCommand = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001abc 6a2c CLRF 0x2c,0x0 +001abe 6a2d CLRF 0x2d,0x0 +001ac0 6a2e CLRF 0x2e,0x0 +001ac2 6a2f CLRF 0x2f,0x0 gISRStepCountForThisCommand = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001ac4 6a30 CLRF 0x30,0x0 +001ac6 6a31 CLRF 0x31,0x0 +001ac8 6a32 CLRF 0x32,0x0 +001aca 6a33 CLRF 0x33,0x0 gISRPositionForThisCommand = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001acc 6a34 CLRF 0x34,0x0 +001ace 6a35 CLRF 0x35,0x0 +001ad0 6a36 CLRF 0x36,0x0 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // Zero out command in FIFO we just copied, but leave the rest of the fields alone C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001ad4 5016 MOVF 0x16,0x0,0x0 FIFOPtr[gFIFOOut].Command = COMMAND_NONE_BIT; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001ad6 ecea CALL 0x39d4,0x0 -001ad8 f01c +001ad2 5016 MOVF 0x16,0x0,0x0 FIFOPtr[gFIFOOut].Command = COMMAND_NONE_BIT; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001ad4 ec0e CALL 0x3a1c,0x0 +001ad6 f01d C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // Increment gFIFO_Out C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001ada 2a16 INCF 0x16,0x1,0x0 gFIFOOut++; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001adc 5018 MOVF 0x18,0x0,0x0 if (gFIFOOut >= gCurrentFIFOLength) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001ade 5c16 SUBWF 0x16,0x0,0x0 -001ae0 e301 BNC 0x1ae4 +001ad8 2a16 INCF 0x16,0x1,0x0 gFIFOOut++; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001ada 5018 MOVF 0x18,0x0,0x0 if (gFIFOOut >= gCurrentFIFOLength) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001adc 5c16 SUBWF 0x16,0x0,0x0 +001ade e301 BNC 0x1ae2 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001ae2 6a16 CLRF 0x16,0x0 gFIFOOut = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001ae0 6a16 CLRF 0x16,0x0 gFIFOOut = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001ae4 5014 MOVF 0x14,0x0,0x0 if (gFIFOLength) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001ae6 e01a BZ 0x1b1c +001ae2 5014 MOVF 0x14,0x0,0x0 if (gFIFOLength) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001ae4 e01a BZ 0x1b1a { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001ae8 0614 DECF 0x14,0x1,0x0 gFIFOLength--; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001ae6 0614 DECF 0x14,0x1,0x0 gFIFOLength--; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001aea d018 BRA 0x1b1c else C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001ae8 d018 BRA 0x1b1a else C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // Current command is done, and the FIFO is completely empty. C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // Start up stepper motor disable timeout (if enabled) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001aec 0100 MOVLB 0x0 if (g_StepperDisableState == kSTEPPER_TIMEOUT_PRIMED) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001aee 05a8 DECF 0xa8,0x0,0x1 -001af0 e10c BNZ 0x1b0a +001aea 0100 MOVLB 0x0 if (g_StepperDisableState == kSTEPPER_TIMEOUT_PRIMED) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001aec 05a8 DECF 0xa8,0x0,0x1 +001aee e10c BNZ 0x1b08 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001af2 0100 MOVLB 0x0 g_StepperDisableSecondCounter = 1000u; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001af4 0ee8 MOVLW 0xe8 -001af6 6fab MOVWF 0xab,0x1 -001af8 0e03 MOVLW 0x3 -001afa 6fac MOVWF 0xac,0x1 -001afc c0a9 MOVFF 0xa9,0xad g_StepperDisableCountdownS = g_StepperDisableTimeoutS; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001afe f0ad -001b00 c0aa MOVFF 0xaa,0xae -001b02 f0ae -001b04 0100 MOVLB 0x0 g_StepperDisableState = kSTEPPER_TIMEOUT_TIMING; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001b06 0e02 MOVLW 0x2 -001b08 6fa8 MOVWF 0xa8,0x1 +001af0 0100 MOVLB 0x0 g_StepperDisableSecondCounter = 1000u; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001af2 0ee8 MOVLW 0xe8 +001af4 6fab MOVWF 0xab,0x1 +001af6 0e03 MOVLW 0x3 +001af8 6fac MOVWF 0xac,0x1 +001afa c0a9 MOVFF 0xa9,0xad g_StepperDisableCountdownS = g_StepperDisableTimeoutS; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001afc f0ad +001afe c0aa MOVFF 0xaa,0xae +001b00 f0ae +001b02 0100 MOVLB 0x0 g_StepperDisableState = kSTEPPER_TIMEOUT_TIMING; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001b04 0e02 MOVLW 0x2 +001b06 6fa8 MOVWF 0xa8,0x1 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001b0a 0101 MOVLB 0x1 CurrentCommand.DelayCounter = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001b0c 6b82 CLRF 0x82,0x1 -001b0e 6b83 CLRF 0x83,0x1 -001b10 6b84 CLRF 0x84,0x1 -001b12 6b85 CLRF 0x85,0x1 +001b08 0101 MOVLB 0x1 CurrentCommand.DelayCounter = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001b0a 6b82 CLRF 0x82,0x1 +001b0c 6b83 CLRF 0x83,0x1 +001b0e 6b84 CLRF 0x84,0x1 +001b10 6b85 CLRF 0x85,0x1 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001b14 b006 BTFSC 0x6,0x0,0x0 if (bittstzero(gRedLEDEmptyFIFO)) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001b12 b006 BTFSC 0x6,0x0,0x0 if (bittstzero(gRedLEDEmptyFIFO)) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001b16 848c BSF 0x8c,0x2,0x0 mLED_2_On() C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001b14 848c BSF 0x8c,0x2,0x0 mLED_2_On() C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001b18 b209 BTFSC 0x9,0x1,0x0 if (bittst(TestMode, TEST_MODE_GPIO_BIT_NUM)) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001b16 b209 BTFSC 0x9,0x1,0x0 if (bittst(TestMode, TEST_MODE_GPIO_BIT_NUM)) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001b1a 8289 BSF 0x89,0x1,0x0 LATAbits.LATA1 = 1; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001b18 8289 BSF 0x89,0x1,0x0 LATAbits.LATA1 = 1; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // Check for button being pushed C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001b1c ae80 BTFSS 0x80,0x7,0x0 if (!swProgram) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001b1a ae80 BTFSS 0x80,0x7,0x0 if (!swProgram) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001b1e 8007 BSF 0x7,0x0,0x0 bitsetzero(ButtonPushed); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001b1c 8007 BSF 0x7,0x0,0x0 bitsetzero(ButtonPushed); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001b20 a008 BTFSS 0x8,0x0,0x0 if (bittstzero(UseAltPause)) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001b22 d002 BRA 0x1b28 +001b1e a008 BTFSS 0x8,0x0,0x0 if (bittstzero(UseAltPause)) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001b20 d002 BRA 0x1b26 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001b24 a081 BTFSS 0x81,0x0,0x0 if (!PORTBbits.RB0) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001b22 a081 BTFSS 0x81,0x0,0x0 if (!PORTBbits.RB0) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001b26 8007 BSF 0x7,0x0,0x0 bitsetzero(ButtonPushed); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001b24 8007 BSF 0x7,0x0,0x0 bitsetzero(ButtonPushed); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // To give as much time for the step pulses to be high, we clear them as the C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // very last thing we do before leaving the ISR. It never hurts us to clear C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // these bits even if no step happened this ISR tick C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001b28 5004 MOVF 0x4,0x0,0x0 if (DriverConfiguration == PIC_CONTROLS_DRIVERS) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001b2a e103 BNZ 0x1b32 +001b26 5004 MOVF 0x4,0x0,0x0 if (DriverConfiguration == PIC_CONTROLS_DRIVERS) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001b28 e103 BNZ 0x1b30 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001b2c 9c8c BCF 0x8c,0x6,0x0 Step1IO = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001b2e 988c BCF 0x8c,0x4,0x0 Step2IO = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001b2a 9c8c BCF 0x8c,0x6,0x0 Step1IO = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001b2c 988c BCF 0x8c,0x4,0x0 Step2IO = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001b30 d002 BRA 0x1b36 else C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001b2e d002 BRA 0x1b34 else C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001b32 9c8b BCF 0x8b,0x6,0x0 Step1AltIO = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001b34 9a89 BCF 0x89,0x5,0x0 Step2AltIO = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001b30 9c8b BCF 0x8b,0x6,0x0 Step1AltIO = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001b32 9a89 BCF 0x89,0x5,0x0 Step2AltIO = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001b36 ae09 BTFSS 0x9,0x7,0x0 if (bittst(TestMode, TEST_MODE_PRINT_TRIGGER_BIT_NUM)) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001b38 d006 BRA 0x1b46 +001b34 ae09 BTFSS 0x9,0x7,0x0 if (bittst(TestMode, TEST_MODE_PRINT_TRIGGER_BIT_NUM)) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001b36 d006 BRA 0x1b44 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // Clear the interrupt as the last thing we do. This allows us to have C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // arbitrarily long interrupts to print debug information out C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001b3a 909e BCF 0x9e,0x0,0x0 PIR1bits.TMR1IF = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001b3c 0efe MOVLW 0xfe TMR1H = TIMER1_H_RELOAD; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001b3e 6ecf MOVWF 0xcf,0x0 -001b40 0e30 MOVLW 0x30 TMR1L = TIMER1_L_RELOAD; // Reload for 25KHz ISR fire C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001b42 6ece MOVWF 0xce,0x0 -001b44 9e09 BCF 0x9,0x7,0x0 bitclr(TestMode, TEST_MODE_PRINT_TRIGGER_BIT_NUM); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001b38 909e BCF 0x9e,0x0,0x0 PIR1bits.TMR1IF = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001b3a 0efe MOVLW 0xfe TMR1H = TIMER1_H_RELOAD; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001b3c 6ecf MOVWF 0xcf,0x0 +001b3e 0e30 MOVLW 0x30 TMR1L = TIMER1_L_RELOAD; // Reload for 25KHz ISR fire C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001b40 6ece MOVWF 0xce,0x0 +001b42 9e09 BCF 0x9,0x7,0x0 bitclr(TestMode, TEST_MODE_PRINT_TRIGGER_BIT_NUM); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001b46 a209 BTFSS 0x9,0x1,0x0 if (bittst(TestMode, TEST_MODE_GPIO_BIT_NUM)) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001b48 d003 BRA 0x1b50 +001b44 a209 BTFSS 0x9,0x1,0x0 if (bittst(TestMode, TEST_MODE_GPIO_BIT_NUM)) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001b46 d003 BRA 0x1b4e { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001b4a 9289 BCF 0x89,0x1,0x0 LATAbits.LATA1 = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001b4c 908c BCF 0x8c,0x0,0x0 LATDbits.LATD0 = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001b4e 928c BCF 0x8c,0x1,0x0 LATDbits.LATD1 = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001b48 9289 BCF 0x89,0x1,0x0 LATAbits.LATA1 = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001b4a 908c BCF 0x8c,0x0,0x0 LATDbits.LATD0 = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001b4c 928c BCF 0x8c,0x1,0x0 LATDbits.LATD1 = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001b50 52e5 MOVF 0xe5,0x1,0x0 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001b52 cfe5 MOVFF 0xfe5,0xff4 -001b54 fff4 -001b56 cfe5 MOVFF 0xfe5,0xff3 -001b58 fff3 -001b5a cfe5 MOVFF 0xfe5,0xfea -001b5c ffea -001b5e cfe5 MOVFF 0xfe5,0xfe9 -001b60 ffe9 -001b62 cfe5 MOVFF 0xfe5,0xfda -001b64 ffda -001b66 0011 RETFIE 0x1 +001b4e 52e5 MOVF 0xe5,0x1,0x0 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001b50 cfe5 MOVFF 0xfe5,0xff4 +001b52 fff4 +001b54 cfe5 MOVFF 0xfe5,0xff3 +001b56 fff3 +001b58 cfe5 MOVFF 0xfe5,0xfea +001b5a ffea +001b5c cfe5 MOVFF 0xfe5,0xfe9 +001b5e ffe9 +001b60 cfe5 MOVFF 0xfe5,0xfda +001b62 ffda +001b64 0011 RETFIE 0x1 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // Init code C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001b68 cfd9 MOVFF 0xfd9,0xfe6 void EBB_Init(void) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001b6a ffe6 -001b6c cfe1 MOVFF 0xfe1,0xfd9 -001b6e ffd9 -001b70 52e6 MOVF 0xe6,0x1,0x0 +001b66 cfd9 MOVFF 0xfd9,0xfe6 void EBB_Init(void) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001b68 ffe6 +001b6a cfe1 MOVFF 0xfe1,0xfd9 +001b6c ffd9 +001b6e 52e6 MOVF 0xe6,0x1,0x0 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c UINT8 i; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // Initialize all Current Command values C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001b72 6adf CLRF 0xdf,0x0 for (i = 0; i < NUMBER_OF_STEPPERS; i++) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001b74 0e02 MOVLW 0x2 -001b76 5cdf SUBWF 0xdf,0x0,0x0 -001b78 e22d BC 0x1bd4 -001bd0 2adf INCF 0xdf,0x1,0x0 -001bd2 d7d0 BRA 0x1b74 +001b70 6adf CLRF 0xdf,0x0 for (i = 0; i < NUMBER_OF_STEPPERS; i++) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001b72 0e02 MOVLW 0x2 +001b74 5cdf SUBWF 0xdf,0x0,0x0 +001b76 e22d BC 0x1bd2 +001bce 2adf INCF 0xdf,0x1,0x0 +001bd0 d7d0 BRA 0x1b72 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001b7a 50df MOVF 0xdf,0x0,0x0 CurrentCommand.Rate[i].value = 1; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001b7c 0d04 MULLW 0x4 -001b7e cff3 MOVFF 0xff3,0xfe9 -001b80 ffe9 -001b82 cff4 MOVFF 0xff4,0xfea -001b84 ffea -001b86 0e87 MOVLW 0x87 -001b88 26e9 ADDWF 0xe9,0x1,0x0 -001b8a 0e01 MOVLW 0x1 -001b8c 22ea ADDWFC 0xea,0x1,0x0 -001b8e 0e01 MOVLW 0x1 -001b90 6eee MOVWF 0xee,0x0 +001b78 50df MOVF 0xdf,0x0,0x0 CurrentCommand.Rate[i].value = 1; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001b7a 0d04 MULLW 0x4 +001b7c cff3 MOVFF 0xff3,0xfe9 +001b7e ffe9 +001b80 cff4 MOVFF 0xff4,0xfea +001b82 ffea +001b84 0e87 MOVLW 0x87 +001b86 26e9 ADDWF 0xe9,0x1,0x0 +001b88 0e01 MOVLW 0x1 +001b8a 22ea ADDWFC 0xea,0x1,0x0 +001b8c 0e01 MOVLW 0x1 +001b8e 6eee MOVWF 0xee,0x0 +001b90 6aee CLRF 0xee,0x0 001b92 6aee CLRF 0xee,0x0 001b94 6aee CLRF 0xee,0x0 -001b96 6aee CLRF 0xee,0x0 -001b98 50df MOVF 0xdf,0x0,0x0 CurrentCommand.Steps[i] = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001b9a 0d04 MULLW 0x4 -001b9c cff3 MOVFF 0xff3,0xfe9 -001b9e ffe9 -001ba0 cff4 MOVFF 0xff4,0xfea -001ba2 ffea -001ba4 0e8f MOVLW 0x8f -001ba6 26e9 ADDWF 0xe9,0x1,0x0 -001ba8 0e01 MOVLW 0x1 -001baa 22ea ADDWFC 0xea,0x1,0x0 +001b96 50df MOVF 0xdf,0x0,0x0 CurrentCommand.Steps[i] = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001b98 0d04 MULLW 0x4 +001b9a cff3 MOVFF 0xff3,0xfe9 +001b9c ffe9 +001b9e cff4 MOVFF 0xff4,0xfea +001ba0 ffea +001ba2 0e8f MOVLW 0x8f +001ba4 26e9 ADDWF 0xe9,0x1,0x0 +001ba6 0e01 MOVLW 0x1 +001ba8 22ea ADDWFC 0xea,0x1,0x0 +001baa 6aee CLRF 0xee,0x0 001bac 6aee CLRF 0xee,0x0 001bae 6aee CLRF 0xee,0x0 001bb0 6aee CLRF 0xee,0x0 -001bb2 6aee CLRF 0xee,0x0 -001bb4 50df MOVF 0xdf,0x0,0x0 CurrentCommand.Accel[i] = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001bb6 0d04 MULLW 0x4 -001bb8 cff3 MOVFF 0xff3,0xfe9 -001bba ffe9 -001bbc cff4 MOVFF 0xff4,0xfea -001bbe ffea -001bc0 0e9f MOVLW 0x9f -001bc2 26e9 ADDWF 0xe9,0x1,0x0 -001bc4 0e01 MOVLW 0x1 -001bc6 22ea ADDWFC 0xea,0x1,0x0 +001bb2 50df MOVF 0xdf,0x0,0x0 CurrentCommand.Accel[i] = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001bb4 0d04 MULLW 0x4 +001bb6 cff3 MOVFF 0xff3,0xfe9 +001bb8 ffe9 +001bba cff4 MOVFF 0xff4,0xfea +001bbc ffea +001bbe 0e9f MOVLW 0x9f +001bc0 26e9 ADDWF 0xe9,0x1,0x0 +001bc2 0e01 MOVLW 0x1 +001bc4 22ea ADDWFC 0xea,0x1,0x0 +001bc6 6aee CLRF 0xee,0x0 001bc8 6aee CLRF 0xee,0x0 001bca 6aee CLRF 0xee,0x0 001bcc 6aee CLRF 0xee,0x0 -001bce 6aee CLRF 0xee,0x0 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001bd4 0101 MOVLB 0x1 CurrentCommand.Command = COMMAND_NONE_BIT; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001bd6 6b80 CLRF 0x80,0x1 -001bd8 0101 MOVLB 0x1 CurrentCommand.DirBits = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001bda 6b81 CLRF 0x81,0x1 -001bdc 0101 MOVLB 0x1 CurrentCommand.DelayCounter = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001bde 6b82 CLRF 0x82,0x1 -001be0 6b83 CLRF 0x83,0x1 -001be2 6b84 CLRF 0x84,0x1 -001be4 6b85 CLRF 0x85,0x1 -001be6 0101 MOVLB 0x1 CurrentCommand.ServoPosition = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001be8 6ba8 CLRF 0xa8,0x1 -001bea 6ba9 CLRF 0xa9,0x1 -001bec 0101 MOVLB 0x1 CurrentCommand.ServoRPn = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001bee 6ba7 CLRF 0xa7,0x1 -001bf0 0101 MOVLB 0x1 CurrentCommand.ServoChannel = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001bf2 6baa CLRF 0xaa,0x1 -001bf4 0101 MOVLB 0x1 CurrentCommand.ServoRate = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001bf6 6bab CLRF 0xab,0x1 -001bf8 6bac CLRF 0xac,0x1 +001bd2 0101 MOVLB 0x1 CurrentCommand.Command = COMMAND_NONE_BIT; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001bd4 6b80 CLRF 0x80,0x1 +001bd6 0101 MOVLB 0x1 CurrentCommand.DirBits = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001bd8 6b81 CLRF 0x81,0x1 +001bda 0101 MOVLB 0x1 CurrentCommand.DelayCounter = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001bdc 6b82 CLRF 0x82,0x1 +001bde 6b83 CLRF 0x83,0x1 +001be0 6b84 CLRF 0x84,0x1 +001be2 6b85 CLRF 0x85,0x1 +001be4 0101 MOVLB 0x1 CurrentCommand.ServoPosition = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001be6 6ba8 CLRF 0xa8,0x1 +001be8 6ba9 CLRF 0xa9,0x1 +001bea 0101 MOVLB 0x1 CurrentCommand.ServoRPn = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001bec 6ba7 CLRF 0xa7,0x1 +001bee 0101 MOVLB 0x1 CurrentCommand.ServoChannel = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001bf0 6baa CLRF 0xaa,0x1 +001bf2 0101 MOVLB 0x1 CurrentCommand.ServoRate = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001bf4 6bab CLRF 0xab,0x1 +001bf6 6bac CLRF 0xac,0x1 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001bfa 9006 BCF 0x6,0x0,0x0 bitclrzero(gRedLEDEmptyFIFO); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001bf8 9006 BCF 0x6,0x0,0x0 bitclrzero(gRedLEDEmptyFIFO); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001bfc 6a09 CLRF 0x9,0x0 TestMode = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001bfa 6a09 CLRF 0x9,0x0 TestMode = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // Set up TMR1 for our 25KHz High ISR for stepping C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001bfe 82cd BSF 0xcd,0x1,0x0 T1CONbits.RD16 = 1; // Set 16 bit mode C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001c00 9ecd BCF 0xcd,0x7,0x0 T1CONbits.TMR1CS1 = 0; // System clocked from Fosc/4 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001c02 9ccd BCF 0xcd,0x6,0x0 T1CONbits.TMR1CS0 = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001c04 9acd BCF 0xcd,0x5,0x0 T1CONbits.T1CKPS1 = 0; // Use 1:1 Prescale value C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001c06 98cd BCF 0xcd,0x4,0x0 T1CONbits.T1CKPS0 = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001c08 96cd BCF 0xcd,0x3,0x0 T1CONbits.T1OSCEN = 0; // Don't use external osc C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001c0a 94cd BCF 0xcd,0x2,0x0 T1CONbits.T1SYNC = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001c0c 6acf CLRF 0xcf,0x0 TMR1H = 0x00; // C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001c0e 6ace CLRF 0xce,0x0 TMR1L = 0x00; // Give the timer about 5ms before it fires the first time C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001bfc 82cd BSF 0xcd,0x1,0x0 T1CONbits.RD16 = 1; // Set 16 bit mode C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001bfe 9ecd BCF 0xcd,0x7,0x0 T1CONbits.TMR1CS1 = 0; // System clocked from Fosc/4 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001c00 9ccd BCF 0xcd,0x6,0x0 T1CONbits.TMR1CS0 = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001c02 9acd BCF 0xcd,0x5,0x0 T1CONbits.T1CKPS1 = 0; // Use 1:1 Prescale value C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001c04 98cd BCF 0xcd,0x4,0x0 T1CONbits.T1CKPS0 = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001c06 96cd BCF 0xcd,0x3,0x0 T1CONbits.T1OSCEN = 0; // Don't use external osc C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001c08 94cd BCF 0xcd,0x2,0x0 T1CONbits.T1SYNC = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001c0a 6acf CLRF 0xcf,0x0 TMR1H = 0x00; // C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001c0c 6ace CLRF 0xce,0x0 TMR1L = 0x00; // Give the timer about 5ms before it fires the first time C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001c10 809f BSF 0x9f,0x0,0x0 IPR1bits.TMR1IP = 1; // Use high priority interrupt C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001c12 909e BCF 0x9e,0x0,0x0 PIR1bits.TMR1IF = 0; // Clear the interrupt C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001c14 809d BSF 0x9d,0x0,0x0 PIE1bits.TMR1IE = 1; // Turn on the interrupt C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001c0e 809f BSF 0x9f,0x0,0x0 IPR1bits.TMR1IP = 1; // Use high priority interrupt C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001c10 909e BCF 0x9e,0x0,0x0 PIR1bits.TMR1IF = 0; // Clear the interrupt C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001c12 809d BSF 0x9d,0x0,0x0 PIE1bits.TMR1IE = 1; // Turn on the interrupt C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001c16 80cd BSF 0xcd,0x0,0x0 T1CONbits.TMR1ON = 1; // Turn the timer on C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001c14 80cd BSF 0xcd,0x0,0x0 T1CONbits.TMR1ON = 1; // Turn the timer on C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // PORTA = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001c18 8092 BSF 0x92,0x0,0x0 RefRA0_IO_TRIS = INPUT_PIN; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001c16 8092 BSF 0x92,0x0,0x0 RefRA0_IO_TRIS = INPUT_PIN; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // PORTB = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // INTCON2bits.RBPU = 0; // Turn on weak-pull ups for port B C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // PORTC = 0; // Start out low C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c @@ -8877,46 +8887,46 @@ Address Value Disassembly Source // TRISE = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // And make sure to always use low priority for ADC C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001c1a 9c9f BCF 0x9f,0x6,0x0 IPR1bits.ADIP = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001c18 9c9f BCF 0x9f,0x6,0x0 IPR1bits.ADIP = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // Turn on AN0 (RA0) as analog input C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001c1c 0e01 MOVLW 0x1 AnalogConfigure(RA0_CUR_ADJ_ADC_CHANNEL,1); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001c1e 6ee6 MOVWF 0xe6,0x0 -001c20 6ae6 CLRF 0xe6,0x0 -001c22 ec66 CALL 0x58cc,0x0 -001c24 f02c +001c1a 0e01 MOVLW 0x1 AnalogConfigure(RA0_CUR_ADJ_ADC_CHANNEL,1); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001c1c 6ee6 MOVWF 0xe6,0x0 +001c1e 6ae6 CLRF 0xe6,0x0 +001c20 ec74 CALL 0x58e8,0x0 +001c22 f02c +001c24 52e5 MOVF 0xe5,0x1,0x0 001c26 52e5 MOVF 0xe5,0x1,0x0 -001c28 52e5 MOVF 0xe5,0x1,0x0 // Turn on AN11 (V+) as analog input C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001c2a 0e01 MOVLW 0x1 AnalogConfigure(RA11_VPLUS_POWER_ADC_CHANNEL,1); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001c2c 6ee6 MOVWF 0xe6,0x0 -001c2e 0e0b MOVLW 0xb -001c30 6ee6 MOVWF 0xe6,0x0 -001c32 ec66 CALL 0x58cc,0x0 -001c34 f02c +001c28 0e01 MOVLW 0x1 AnalogConfigure(RA11_VPLUS_POWER_ADC_CHANNEL,1); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001c2a 6ee6 MOVWF 0xe6,0x0 +001c2c 0e0b MOVLW 0xb +001c2e 6ee6 MOVWF 0xe6,0x0 +001c30 ec74 CALL 0x58e8,0x0 +001c32 f02c +001c34 52e5 MOVF 0xe5,0x1,0x0 001c36 52e5 MOVF 0xe5,0x1,0x0 -001c38 52e5 MOVF 0xe5,0x1,0x0 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001c3a 848d BSF 0x8d,0x2,0x0 MS1_IO = 1; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001c3c 9496 BCF 0x96,0x2,0x0 MS1_IO_TRIS = OUTPUT_PIN; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001c3e 828d BSF 0x8d,0x1,0x0 MS2_IO = 1; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001c40 9296 BCF 0x96,0x1,0x0 MS2_IO_TRIS = OUTPUT_PIN; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001c42 8c89 BSF 0x89,0x6,0x0 MS3_IO = 1; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001c44 9c92 BCF 0x92,0x6,0x0 MS3_IO_TRIS = OUTPUT_PIN; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001c38 848d BSF 0x8d,0x2,0x0 MS1_IO = 1; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001c3a 9496 BCF 0x96,0x2,0x0 MS1_IO_TRIS = OUTPUT_PIN; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001c3c 828d BSF 0x8d,0x1,0x0 MS2_IO = 1; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001c3e 9296 BCF 0x96,0x1,0x0 MS2_IO_TRIS = OUTPUT_PIN; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001c40 8c89 BSF 0x89,0x6,0x0 MS3_IO = 1; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001c42 9c92 BCF 0x92,0x6,0x0 MS3_IO_TRIS = OUTPUT_PIN; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001c46 808d BSF 0x8d,0x0,0x0 Enable1IO = 1; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001c48 9096 BCF 0x96,0x0,0x0 Enable1IO_TRIS = OUTPUT_PIN; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001c4a 828b BSF 0x8b,0x1,0x0 Enable2IO = 1; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001c4c 9294 BCF 0x94,0x1,0x0 Enable2IO_TRIS = OUTPUT_PIN; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001c44 808d BSF 0x8d,0x0,0x0 Enable1IO = 1; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001c46 9096 BCF 0x96,0x0,0x0 Enable1IO_TRIS = OUTPUT_PIN; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001c48 828b BSF 0x8b,0x1,0x0 Enable2IO = 1; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001c4a 9294 BCF 0x94,0x1,0x0 Enable2IO_TRIS = OUTPUT_PIN; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001c4e 9c8c BCF 0x8c,0x6,0x0 Step1IO = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001c50 9c95 BCF 0x95,0x6,0x0 Step1IO_TRIS = OUTPUT_PIN; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001c52 9e8c BCF 0x8c,0x7,0x0 Dir1IO = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001c54 9e95 BCF 0x95,0x7,0x0 Dir1IO_TRIS = OUTPUT_PIN; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001c56 988c BCF 0x8c,0x4,0x0 Step2IO = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001c58 9895 BCF 0x95,0x4,0x0 Step2IO_TRIS = OUTPUT_PIN; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001c5a 9a8c BCF 0x8c,0x5,0x0 Dir2IO = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001c5c 9a95 BCF 0x95,0x5,0x0 Dir2IO_TRIS = OUTPUT_PIN; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001c4c 9c8c BCF 0x8c,0x6,0x0 Step1IO = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001c4e 9c95 BCF 0x95,0x6,0x0 Step1IO_TRIS = OUTPUT_PIN; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001c50 9e8c BCF 0x8c,0x7,0x0 Dir1IO = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001c52 9e95 BCF 0x95,0x7,0x0 Dir1IO_TRIS = OUTPUT_PIN; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001c54 988c BCF 0x8c,0x4,0x0 Step2IO = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001c56 9895 BCF 0x95,0x4,0x0 Step2IO_TRIS = OUTPUT_PIN; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001c58 9a8c BCF 0x8c,0x5,0x0 Dir2IO = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001c5a 9a95 BCF 0x95,0x5,0x0 Dir2IO_TRIS = OUTPUT_PIN; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // For bug in VUSB divider resistor, set RC7 as output and set high C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // Wait a little while to charge up C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c @@ -8925,8 +8935,9 @@ Address Value Disassembly Source // we make it an input, thus getting it above the 2.65V ST threshold C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // And allowing VUSB to keep the logic level on the pin high at 2.5V C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c #if defined(USE_USB_BUS_SENSE_IO) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001c5e 9e94 BCF 0x94,0x7,0x0 tris_usb_bus_sense = OUTPUT_PIN; // See HardwareProfile.h C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001c60 8e82 BSF 0x82,0x7,0x0 USB_BUS_SENSE = 1; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001c5c 9e94 BCF 0x94,0x7,0x0 tris_usb_bus_sense = OUTPUT_PIN; // See HardwareProfile.h C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001c5e 8e82 BSF 0x82,0x7,0x0 USB_BUS_SENSE = 1; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001c60 0000 NOP Delay1TCY(); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c 001c62 0000 NOP Delay1TCY(); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c 001c64 0000 NOP Delay1TCY(); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c 001c66 0000 NOP Delay1TCY(); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c @@ -8945,95 +8956,94 @@ Address Value Disassembly Source 001c80 0000 NOP Delay1TCY(); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c 001c82 0000 NOP Delay1TCY(); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c 001c84 0000 NOP Delay1TCY(); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001c86 0000 NOP Delay1TCY(); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001c88 8e94 BSF 0x94,0x7,0x0 tris_usb_bus_sense = INPUT_PIN; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001c8a 9e82 BCF 0x82,0x7,0x0 USB_BUS_SENSE = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001c86 8e94 BSF 0x94,0x7,0x0 tris_usb_bus_sense = INPUT_PIN; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001c88 9e82 BCF 0x82,0x7,0x0 USB_BUS_SENSE = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c #endif C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001c8c 010b MOVLB 0xb gUseSolenoid = TRUE; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001c8e 0e01 MOVLW 0x1 -001c90 6f82 MOVWF 0x82,0x1 -001c92 8005 BSF 0x5,0x0,0x0 bitsetzero(gUseRCPenServo); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001c8a 0101 MOVLB 0x1 gUseSolenoid = TRUE; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001c8c 0e01 MOVLW 0x1 +001c8e 6fbc MOVWF 0xbc,0x1 +001c90 8005 BSF 0x5,0x0,0x0 bitsetzero(gUseRCPenServo); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // Set up pen up/down direction as output C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001c94 988a BCF 0x8a,0x4,0x0 PenUpDownIO = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001c96 9893 BCF 0x93,0x4,0x0 PenUpDownIO_TRIS = OUTPUT_PIN; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001c92 988a BCF 0x8a,0x4,0x0 PenUpDownIO = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001c94 9893 BCF 0x93,0x4,0x0 PenUpDownIO_TRIS = OUTPUT_PIN; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // Set up RC Servo power control to be off C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001c98 9689 BCF 0x89,0x3,0x0 RCServoPowerIO = RCSERVO_POWER_OFF; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001c9a 9692 BCF 0x92,0x3,0x0 RCServoPowerIO_TRIS = OUTPUT_PIN; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001c96 9689 BCF 0x89,0x3,0x0 RCServoPowerIO = RCSERVO_POWER_OFF; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001c98 9692 BCF 0x92,0x3,0x0 RCServoPowerIO_TRIS = OUTPUT_PIN; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001c9c 010b MOVLB 0xb SolenoidState = SOLENOID_ON; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001c9e 0e01 MOVLW 0x1 -001ca0 6f57 MOVWF 0x57,0x1 -001ca2 6a04 CLRF 0x4,0x0 DriverConfiguration = PIC_CONTROLS_DRIVERS; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001ca4 010b MOVLB 0xb PenState = PEN_UP; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001ca6 0e01 MOVLW 0x1 -001ca8 6f5a MOVWF 0x5a,0x1 -001caa 6adf CLRF 0xdf,0x0 for (i=0; i < SL_STORAGE_SIZE; i++) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001cac 0e20 MOVLW 0x20 -001cae 5cdf SUBWF 0xdf,0x0,0x0 -001cb0 e209 BC 0x1cc4 -001cc0 2adf INCF 0xdf,0x1,0x0 -001cc2 d7f4 BRA 0x1cac +001c9a 0101 MOVLB 0x1 SolenoidState = SOLENOID_ON; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001c9c 0e01 MOVLW 0x1 +001c9e 6fb1 MOVWF 0xb1,0x1 +001ca0 6a04 CLRF 0x4,0x0 DriverConfiguration = PIC_CONTROLS_DRIVERS; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001ca2 0101 MOVLB 0x1 PenState = PEN_UP; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001ca4 0e01 MOVLW 0x1 +001ca6 6fb4 MOVWF 0xb4,0x1 +001ca8 6adf CLRF 0xdf,0x0 for (i=0; i < SL_STORAGE_SIZE; i++) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001caa 0e20 MOVLW 0x20 +001cac 5cdf SUBWF 0xdf,0x0,0x0 +001cae e209 BC 0x1cc2 +001cbe 2adf INCF 0xdf,0x1,0x0 +001cc0 d7f4 BRA 0x1caa { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001cb2 50df MOVF 0xdf,0x0,0x0 gSL_Storage[i] = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001cb4 6aea CLRF 0xea,0x0 -001cb6 0f5f ADDLW 0x5f -001cb8 6ee9 MOVWF 0xe9,0x0 -001cba 0e0b MOVLW 0xb -001cbc 22ea ADDWFC 0xea,0x1,0x0 -001cbe 6aef CLRF 0xef,0x0 +001cb0 50df MOVF 0xdf,0x0,0x0 gSL_Storage[i] = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001cb2 6aea CLRF 0xea,0x0 +001cb4 0f58 ADDLW 0x58 +001cb6 6ee9 MOVWF 0xe9,0x0 +001cb8 0e01 MOVLW 0x1 +001cba 22ea ADDWFC 0xea,0x1,0x0 +001cbc 6aef CLRF 0xef,0x0 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001cc4 010b MOVLB 0xb NodeCount = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001cc6 6b5b CLRF 0x5b,0x1 -001cc8 6b5c CLRF 0x5c,0x1 -001cca 6b5d CLRF 0x5d,0x1 -001ccc 6b5e CLRF 0x5e,0x1 -001cce 6a07 CLRF 0x7,0x0 ButtonPushed = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001cd0 010b MOVLB 0xb gStandardizedCommandFormat = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001cd2 6b84 CLRF 0x84,0x1 -001cd4 010b MOVLB 0xb gLimitChecks = TRUE; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001cd6 0e01 MOVLW 0x1 -001cd8 6f83 MOVWF 0x83,0x1 -001cda 6a14 CLRF 0x14,0x0 gFIFOLength = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001cdc 6a15 CLRF 0x15,0x0 gFIFOIn = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001cde 6a16 CLRF 0x16,0x0 gFIFOOut = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001ce0 0e01 MOVLW 0x1 gCurrentFIFOLength = 1; // Default the FIFO length to 1 on boot C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001ce2 6e18 MOVWF 0x18,0x0 +001cc2 0101 MOVLB 0x1 NodeCount = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001cc4 6bb5 CLRF 0xb5,0x1 +001cc6 6bb6 CLRF 0xb6,0x1 +001cc8 6bb7 CLRF 0xb7,0x1 +001cca 6bb8 CLRF 0xb8,0x1 +001ccc 6a07 CLRF 0x7,0x0 ButtonPushed = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001cce 0101 MOVLB 0x1 gStandardizedCommandFormat = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001cd0 6bbe CLRF 0xbe,0x1 +001cd2 0101 MOVLB 0x1 gLimitChecks = TRUE; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001cd4 0e01 MOVLW 0x1 +001cd6 6fbd MOVWF 0xbd,0x1 +001cd8 6a14 CLRF 0x14,0x0 gFIFOLength = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001cda 6a15 CLRF 0x15,0x0 gFIFOIn = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001cdc 6a16 CLRF 0x16,0x0 gFIFOOut = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001cde 0e01 MOVLW 0x1 gCurrentFIFOLength = 1; // Default the FIFO length to 1 on boot C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001ce0 6e18 MOVWF 0x18,0x0 //isr_FSR0L_temp = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c //isr_FSR0H_temp = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // Start out FIFO out pointer on first element in FIFO array, which starts at C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // address 0x500 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001ce4 0e05 MOVLW 0x5 FIFO_out_ptr_high = 0x05; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001ce6 6e19 MOVWF 0x19,0x0 -001ce8 6a1a CLRF 0x1a,0x0 FIFO_out_ptr_low = 0x00; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001ce2 0e05 MOVLW 0x5 FIFO_out_ptr_high = 0x05; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001ce4 6e19 MOVWF 0x19,0x0 +001ce6 6a1a CLRF 0x1a,0x0 FIFO_out_ptr_low = 0x00; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // Default RB0 to be an input, with the pull-up enabled, for use as alternate C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // PAUSE button (just like PRG) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // Except for v1.1 hardware, use RB2 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001cea 8093 BSF 0x93,0x0,0x0 TRISBbits.TRISB0 = 1; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001cec 9ef1 BCF 0xf1,0x7,0x0 INTCON2bits.RBPU = 0; // Turn on all of PortB pull-ups C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001cee 8008 BSF 0x8,0x0,0x0 bitsetzero(UseAltPause); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001ce8 8093 BSF 0x93,0x0,0x0 TRISBbits.TRISB0 = 1; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001cea 9ef1 BCF 0xf1,0x7,0x0 INTCON2bits.RBPU = 0; // Turn on all of PortB pull-ups C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001cec 8008 BSF 0x8,0x0,0x0 bitsetzero(UseAltPause); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001cf0 9693 BCF 0x93,0x3,0x0 TRISBbits.TRISB3 = 0; // Make RB3 an output (for engraver) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001cf2 9681 BCF 0x81,0x3,0x0 PORTBbits.RB3 = 0; // And make sure it starts out off C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001cee 9693 BCF 0x93,0x3,0x0 TRISBbits.TRISB3 = 0; // Make RB3 an output (for engraver) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001cf0 9681 BCF 0x81,0x3,0x0 PORTBbits.RB3 = 0; // And make sure it starts out off C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // These are ISR variables, can't set them to zero in their definitions or C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // the linker puts them in a different bank and ISR expands with more MOVLB C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // instructions. C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001cf4 6a0b CLRF 0xb,0x0 PortBTemp = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001cf6 6a0c CLRF 0xc,0x0 gLimitSwitchMask = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001cf8 6a0d CLRF 0xd,0x0 gLimitSwitchTarget = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001cfa 900e BCF 0xe,0x0,0x0 bitclrzero(gLimitSwitchTriggered); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001cf2 6a0b CLRF 0xb,0x0 PortBTemp = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001cf4 6a0c CLRF 0xc,0x0 gLimitSwitchMask = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001cf6 6a0d CLRF 0xd,0x0 gLimitSwitchTarget = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001cf8 900e BCF 0xe,0x0,0x0 bitclrzero(gLimitSwitchTriggered); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // Clear out global stepper positions C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001cfc ec86 CALL 0x350c,0x0 clear_StepCounters(); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001cfe f01a -001d00 52e5 MOVF 0xe5,0x1,0x0 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001d02 52e5 MOVF 0xe5,0x1,0x0 -001d04 cfe7 MOVFF 0xfe7,0xfd9 -001d06 ffd9 -001d08 0012 RETURN 0x0 +001cfa ec9b CALL 0x3536,0x0 clear_StepCounters(); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001cfc f01a +001cfe 52e5 MOVF 0xe5,0x1,0x0 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001d00 52e5 MOVF 0xe5,0x1,0x0 +001d02 cfe7 MOVFF 0xfe7,0xfd9 +001d04 ffd9 +001d06 0012 RETURN 0x0 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // Stepper (mode) Configure command C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // SC,1,0 will use just solenoid output for pen up/down C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c @@ -9059,112 +9069,112 @@ Address Value Disassembly Source // SC,12, sets the pen down speed C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // SC,13,1 enables RB3 as parallel input to PRG button for pause detection C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // SC,13,0 disables RB3 as parallel input to PRG button for pause detection C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001d0a ec9f CALL 0x373e,0x0 void parse_SC_packet (void) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001d0c f01b -001d0e 0e03 MOVLW 0x3 -001d10 ecb4 CALL 0x3968,0x0 +001d08 ecb2 CALL 0x3764,0x0 void parse_SC_packet (void) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001d0a f01b +001d0c 0e03 MOVLW 0x3 +001d0e ecc7 CALL 0x398e,0x0 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001d12 f01c unsigned char Para1 = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001d10 f01c unsigned char Para1 = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c unsigned int Para2 = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001d14 ec55 CALL 0x3eaa,0x0 print_command(FALSE, FALSE); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001d16 f01f +001d12 ec65 CALL 0x3eca,0x0 print_command(FALSE, FALSE); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001d14 f01f C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // Extract each of the values. C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c extract_number(kUCHAR, &Para1, kREQUIRED); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001d18 6ae6 CLRF 0xe6,0x0 extract_number(kUINT, &Para2, kREQUIRED); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001d1a 50d9 MOVF 0xd9,0x0,0x0 -001d1c 0f01 ADDLW 0x1 -001d1e ec80 CALL 0x4100,0x0 -001d20 f020 -001d22 0e03 MOVLW 0x3 -001d24 ec0a CALL 0x4014,0x0 -001d26 f020 +001d16 6ae6 CLRF 0xe6,0x0 extract_number(kUINT, &Para2, kREQUIRED); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001d18 50d9 MOVF 0xd9,0x0,0x0 +001d1a 0f01 ADDLW 0x1 +001d1c ec91 CALL 0x4122,0x0 +001d1e f020 +001d20 0e03 MOVLW 0x3 +001d22 ec1b CALL 0x4036,0x0 +001d24 f020 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // Bail if we got a conversion error C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001d28 e001 BZ 0x1d2c if (error_byte) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001d2a d0ab BRA 0x1e82 +001d26 e001 BZ 0x1d2a if (error_byte) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001d28 d0ab BRA 0x1e80 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c return; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // Check for command to select which (solenoid/servo) gets used for pen C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001d2c 04df DECF 0xdf,0x0,0x0 if (Para1 == 1u) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001d2e e120 BNZ 0x1d70 +001d2a 04df DECF 0xdf,0x0,0x0 if (Para1 == 1u) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001d2c e120 BNZ 0x1d6e { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // Use just solenoid C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001d30 ecce CALL 0x419c,0x0 if (Para2 == 0u) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001d32 f020 -001d34 e107 BNZ 0x1d44 +001d2e ecdf CALL 0x41be,0x0 if (Para2 == 0u) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001d30 f020 +001d32 e107 BNZ 0x1d42 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001d36 010b MOVLB 0xb gUseSolenoid = TRUE; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001d38 0e01 MOVLW 0x1 -001d3a 6f82 MOVWF 0x82,0x1 -001d3c 9005 BCF 0x5,0x0,0x0 bitclrzero(gUseRCPenServo); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001d34 0101 MOVLB 0x1 gUseSolenoid = TRUE; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001d36 0e01 MOVLW 0x1 +001d38 6fbc MOVWF 0xbc,0x1 +001d3a 9005 BCF 0x5,0x0,0x0 bitclrzero(gUseRCPenServo); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // Turn off RC signal on Pen Servo output C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001d3e eced CALL 0x39da,0x0 RCServo2_Move(0, g_servo2_RPn, 0, 0); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001d40 f01c -0039da 0e00 MOVLW 0x0 -0039dc 6ee6 MOVWF 0xe6,0x0 -0039de 6ae6 CLRF 0xe6,0x0 -0039e0 6ee6 MOVWF 0xe6,0x0 -0039e2 6ae6 CLRF 0xe6,0x0 -0039e4 c08a MOVFF 0x8a,0xfe6 -0039e6 ffe6 -0039e8 6ee6 MOVWF 0xe6,0x0 -0039ea 6ae6 CLRF 0xe6,0x0 -0039ec efbc GOTO 0x4178 -0039ee f020 +001d3c ec11 CALL 0x3a22,0x0 RCServo2_Move(0, g_servo2_RPn, 0, 0); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001d3e f01d +003a22 0e00 MOVLW 0x0 +003a24 6ee6 MOVWF 0xe6,0x0 +003a26 6ae6 CLRF 0xe6,0x0 +003a28 6ee6 MOVWF 0xe6,0x0 +003a2a 6ae6 CLRF 0xe6,0x0 +003a2c c08a MOVFF 0x8a,0xfe6 +003a2e ffe6 +003a30 6ee6 MOVWF 0xe6,0x0 +003a32 6ae6 CLRF 0xe6,0x0 +003a34 efcd GOTO 0x419a +003a36 f020 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // Use just RC servo C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001d42 d00e BRA 0x1d60 else if (Para2 == 1u) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001d44 ec10 CALL 0x3820,0x0 -001d46 f01c -001d48 0e01 MOVLW 0x1 -001d4a 18ee XORWF 0xee,0x0,0x0 -001d4c e105 BNZ 0x1d58 -001d4e 50ed MOVF 0xed,0x0,0x0 -001d50 e103 BNZ 0x1d58 +001d40 d00e BRA 0x1d5e else if (Para2 == 1u) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001d42 ec23 CALL 0x3846,0x0 +001d44 f01c +001d46 0e01 MOVLW 0x1 +001d48 18ee XORWF 0xee,0x0,0x0 +001d4a e105 BNZ 0x1d56 +001d4c 50ed MOVF 0xed,0x0,0x0 +001d4e e103 BNZ 0x1d56 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001d52 010b MOVLB 0xb gUseSolenoid = FALSE; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001d54 6b82 CLRF 0x82,0x1 +001d50 0101 MOVLB 0x1 gUseSolenoid = FALSE; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001d52 6bbc CLRF 0xbc,0x1 bitsetzero(gUseRCPenServo); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // Use solenoid AND servo (default) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001d56 d003 BRA 0x1d5e else C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001d54 d003 BRA 0x1d5c else C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001d58 010b MOVLB 0xb gUseSolenoid = TRUE; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001d5a 0e01 MOVLW 0x1 -001d5c 6f82 MOVWF 0x82,0x1 -001d5e 8005 BSF 0x5,0x0,0x0 bitsetzero(gUseRCPenServo); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001d56 0101 MOVLB 0x1 gUseSolenoid = TRUE; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001d58 0e01 MOVLW 0x1 +001d5a 6fbc MOVWF 0xbc,0x1 +001d5c 8005 BSF 0x5,0x0,0x0 bitsetzero(gUseRCPenServo); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // Send a new command to set the state of the servo/solenoid C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001d60 0e00 MOVLW 0x0 process_SP(PenState, 0); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001d62 6ee6 MOVWF 0xe6,0x0 -001d64 6ae6 CLRF 0xe6,0x0 -001d66 cb5a MOVFF 0xb5a,0xfe6 -001d68 ffe6 -001d6a ec54 CALL 0x3ca8,0x0 -001d6c f01e +001d5e 0e00 MOVLW 0x0 process_SP(PenState, 0); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001d60 6ee6 MOVWF 0xe6,0x0 +001d62 6ae6 CLRF 0xe6,0x0 +001d64 c1b4 MOVFF 0x1b4,0xfe6 +001d66 ffe6 +001d68 ec54 CALL 0x3ca8,0x0 +001d6a f01e } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // Check for command to switch between built-in drivers and external drivers C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001d6e d087 BRA 0x1e7e else if (Para1 == 2u) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001d70 0e02 MOVLW 0x2 -001d72 5cdf SUBWF 0xdf,0x0,0x0 -001d74 e12d BNZ 0x1dd0 +001d6c d087 BRA 0x1e7c else if (Para1 == 2u) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001d6e 0e02 MOVLW 0x2 +001d70 5cdf SUBWF 0xdf,0x0,0x0 +001d72 e12d BNZ 0x1dce { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001d76 ecce CALL 0x419c,0x0 if (Para2 == 0u) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001d78 f020 -001d7a e108 BNZ 0x1d8c +001d74 ecdf CALL 0x41be,0x0 if (Para2 == 0u) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001d76 f020 +001d78 e108 BNZ 0x1d8a { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001d7c 6a04 CLRF 0x4,0x0 DriverConfiguration = PIC_CONTROLS_DRIVERS; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001d7a 6a04 CLRF 0x4,0x0 DriverConfiguration = PIC_CONTROLS_DRIVERS; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // Connections to drivers become outputs C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001d7e 9096 BCF 0x96,0x0,0x0 Enable1IO_TRIS = OUTPUT_PIN; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001d80 9294 BCF 0x94,0x1,0x0 Enable2IO_TRIS = OUTPUT_PIN; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001d82 9c95 BCF 0x95,0x6,0x0 Step1IO_TRIS = OUTPUT_PIN; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001d84 9e95 BCF 0x95,0x7,0x0 Dir1IO_TRIS = OUTPUT_PIN; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001d86 9895 BCF 0x95,0x4,0x0 Step2IO_TRIS = OUTPUT_PIN; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001d88 9a95 BCF 0x95,0x5,0x0 Dir2IO_TRIS = OUTPUT_PIN; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001d7c 9096 BCF 0x96,0x0,0x0 Enable1IO_TRIS = OUTPUT_PIN; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001d7e 9294 BCF 0x94,0x1,0x0 Enable2IO_TRIS = OUTPUT_PIN; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001d80 9c95 BCF 0x95,0x6,0x0 Step1IO_TRIS = OUTPUT_PIN; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001d82 9e95 BCF 0x95,0x7,0x0 Dir1IO_TRIS = OUTPUT_PIN; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001d84 9895 BCF 0x95,0x4,0x0 Step2IO_TRIS = OUTPUT_PIN; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001d86 9a95 BCF 0x95,0x5,0x0 Dir2IO_TRIS = OUTPUT_PIN; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // Alternate I/O pins become inputs C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c Dir1AltIO_TRIS = INPUT_PIN; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c Dir2AltIO_TRIS = INPUT_PIN; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c @@ -9173,20 +9183,20 @@ Address Value Disassembly Source Enable1AltIO_TRIS = INPUT_PIN; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c Enable2AltIO_TRIS = INPUT_PIN; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001d8a d01b BRA 0x1dc2 else if (Para2 == 1u) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001d8c ec10 CALL 0x3820,0x0 -001d8e f01c -001d90 0e01 MOVLW 0x1 -001d92 18ee XORWF 0xee,0x0,0x0 -001d94 e10c BNZ 0x1dae -001d96 50ed MOVF 0xed,0x0,0x0 -001d98 e10a BNZ 0x1dae +001d88 d01b BRA 0x1dc0 else if (Para2 == 1u) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001d8a ec23 CALL 0x3846,0x0 +001d8c f01c +001d8e 0e01 MOVLW 0x1 +001d90 18ee XORWF 0xee,0x0,0x0 +001d92 e10c BNZ 0x1dac +001d94 50ed MOVF 0xed,0x0,0x0 +001d96 e10a BNZ 0x1dac { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001d9a 0e01 MOVLW 0x1 DriverConfiguration = PIC_CONTROLS_EXTERNAL; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001d9c ec76 CALL 0x3cec,0x0 +001d98 0e01 MOVLW 0x1 DriverConfiguration = PIC_CONTROLS_EXTERNAL; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001d9a ec76 CALL 0x3cec,0x0 003cec 6e04 // Connections to drivers become inputs C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001d9e f01e WORD2 0x1e Enable1IO_TRIS = INPUT_PIN; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001d9c f01e WORD2 0x1e Enable1IO_TRIS = INPUT_PIN; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c 003cee 8096 BSF 0x96,0x0,0x0 003cf0 8294 BSF 0x94,0x1,0x0 Enable2IO_TRIS = INPUT_PIN; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c 003cf2 8c95 BSF 0x95,0x6,0x0 Step1IO_TRIS = INPUT_PIN; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c @@ -9195,184 +9205,184 @@ Address Value Disassembly Source 003cf8 8a95 BSF 0x95,0x5,0x0 Dir2IO_TRIS = INPUT_PIN; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c 003cfa 0012 RETURN 0x0 // Alternate I/O pins become outputs C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001da0 9494 BCF 0x94,0x2,0x0 Dir1AltIO_TRIS = OUTPUT_PIN; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001da2 9492 BCF 0x92,0x2,0x0 Dir2AltIO_TRIS = OUTPUT_PIN; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001da4 9c94 BCF 0x94,0x6,0x0 Step1AltIO_TRIS = OUTPUT_PIN; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001da6 9a92 BCF 0x92,0x5,0x0 Step2AltIO_TRIS = OUTPUT_PIN; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001da8 9295 BCF 0x95,0x1,0x0 Enable1AltIO_TRIS = OUTPUT_PIN; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001daa 9292 BCF 0x92,0x1,0x0 Enable2AltIO_TRIS = OUTPUT_PIN; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001d9e 9494 BCF 0x94,0x2,0x0 Dir1AltIO_TRIS = OUTPUT_PIN; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001da0 9492 BCF 0x92,0x2,0x0 Dir2AltIO_TRIS = OUTPUT_PIN; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001da2 9c94 BCF 0x94,0x6,0x0 Step1AltIO_TRIS = OUTPUT_PIN; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001da4 9a92 BCF 0x92,0x5,0x0 Step2AltIO_TRIS = OUTPUT_PIN; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001da6 9295 BCF 0x95,0x1,0x0 Enable1AltIO_TRIS = OUTPUT_PIN; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001da8 9292 BCF 0x92,0x1,0x0 Enable2AltIO_TRIS = OUTPUT_PIN; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001dac d068 BRA 0x1e7e else if (Para2 == 2u) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001dae ec10 CALL 0x3820,0x0 -001db0 f01c -001db2 0e02 MOVLW 0x2 -001db4 18ee XORWF 0xee,0x0,0x0 -001db6 e163 BNZ 0x1e7e -001db8 50ed MOVF 0xed,0x0,0x0 -001dba e161 BNZ 0x1e7e +001daa d068 BRA 0x1e7c else if (Para2 == 2u) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001dac ec23 CALL 0x3846,0x0 +001dae f01c +001db0 0e02 MOVLW 0x2 +001db2 18ee XORWF 0xee,0x0,0x0 +001db4 e163 BNZ 0x1e7c +001db6 50ed MOVF 0xed,0x0,0x0 +001db8 e161 BNZ 0x1e7c { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001dbc 0e02 MOVLW 0x2 DriverConfiguration = EXTERNAL_CONTROLS_DRIVERS; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001dbe ec76 CALL 0x3cec,0x0 +001dba 0e02 MOVLW 0x2 DriverConfiguration = EXTERNAL_CONTROLS_DRIVERS; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001dbc ec76 CALL 0x3cec,0x0 // Connections to drivers become inputs C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001dc0 f01e Enable1IO_TRIS = INPUT_PIN; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001dbe f01e Enable1IO_TRIS = INPUT_PIN; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c Enable2IO_TRIS = INPUT_PIN; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c Step1IO_TRIS = INPUT_PIN; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c Dir1IO_TRIS = INPUT_PIN; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c Step2IO_TRIS = INPUT_PIN; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c Dir2IO_TRIS = INPUT_PIN; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // Alternate I/O pins become inputs C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001dc2 8494 BSF 0x94,0x2,0x0 Dir1AltIO_TRIS = INPUT_PIN; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001dc4 8492 BSF 0x92,0x2,0x0 Dir2AltIO_TRIS = INPUT_PIN; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001dc6 8c94 BSF 0x94,0x6,0x0 Step1AltIO_TRIS = INPUT_PIN; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001dc8 8a92 BSF 0x92,0x5,0x0 Step2AltIO_TRIS = INPUT_PIN; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001dca 8295 BSF 0x95,0x1,0x0 Enable1AltIO_TRIS = INPUT_PIN; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001dcc 8292 BSF 0x92,0x1,0x0 Enable2AltIO_TRIS = INPUT_PIN; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001dc0 8494 BSF 0x94,0x2,0x0 Dir1AltIO_TRIS = INPUT_PIN; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001dc2 8492 BSF 0x92,0x2,0x0 Dir2AltIO_TRIS = INPUT_PIN; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001dc4 8c94 BSF 0x94,0x6,0x0 Step1AltIO_TRIS = INPUT_PIN; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001dc6 8a92 BSF 0x92,0x5,0x0 Step2AltIO_TRIS = INPUT_PIN; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001dc8 8295 BSF 0x95,0x1,0x0 Enable1AltIO_TRIS = INPUT_PIN; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001dca 8292 BSF 0x92,0x1,0x0 Enable2AltIO_TRIS = INPUT_PIN; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // Set for Servo2 method C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001dce d057 BRA 0x1e7e else if (Para1 == 4u) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001dd0 0e04 MOVLW 0x4 -001dd2 5cdf SUBWF 0xdf,0x0,0x0 -001dd4 e107 BNZ 0x1de4 +001dcc d057 BRA 0x1e7c else if (Para1 == 4u) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001dce 0e04 MOVLW 0x4 +001dd0 5cdf SUBWF 0xdf,0x0,0x0 +001dd2 e107 BNZ 0x1de2 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001dd6 0e01 MOVLW 0x1 g_servo2_min = Para2; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001dd8 cfdb MOVFF 0xfdb,0x84 -001dda f084 -001ddc 0e02 MOVLW 0x2 -001dde cfdb MOVFF 0xfdb,0x85 -001de0 f085 +001dd4 0e01 MOVLW 0x1 g_servo2_min = Para2; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001dd6 cfdb MOVFF 0xfdb,0x84 +001dd8 f084 +001dda 0e02 MOVLW 0x2 +001ddc cfdb MOVFF 0xfdb,0x85 +001dde f085 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // Set for Servo2 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001de2 d04d BRA 0x1e7e else if (Para1 == 5u) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001de4 0e05 MOVLW 0x5 -001de6 5cdf SUBWF 0xdf,0x0,0x0 -001de8 e107 BNZ 0x1df8 +001de0 d04d BRA 0x1e7c else if (Para1 == 5u) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001de2 0e05 MOVLW 0x5 +001de4 5cdf SUBWF 0xdf,0x0,0x0 +001de6 e107 BNZ 0x1df6 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001dea 0e01 MOVLW 0x1 g_servo2_max = Para2; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001dec cfdb MOVFF 0xfdb,0x82 -001dee f082 -001df0 0e02 MOVLW 0x2 -001df2 cfdb MOVFF 0xfdb,0x83 -001df4 f083 +001de8 0e01 MOVLW 0x1 g_servo2_max = Para2; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001dea cfdb MOVFF 0xfdb,0x82 +001dec f082 +001dee 0e02 MOVLW 0x2 +001df0 cfdb MOVFF 0xfdb,0x83 +001df2 f083 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // Set C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001df6 d043 BRA 0x1e7e else if (Para1 == 8u) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001df8 0e08 MOVLW 0x8 -001dfa 5cdf SUBWF 0xdf,0x0,0x0 -001dfc e10f BNZ 0x1e1c +001df4 d043 BRA 0x1e7c else if (Para1 == 8u) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001df6 0e08 MOVLW 0x8 +001df8 5cdf SUBWF 0xdf,0x0,0x0 +001dfa e10f BNZ 0x1e1a { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001dfe ec10 CALL 0x3820,0x0 if (Para2 > MAX_RC2_SERVOS) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001e00 f01c -001e02 0e04 MOVLW 0x4 -001e04 80d8 BSF 0xd8,0x0,0x0 -001e06 54ee SUBFWB 0xee,0x0,0x0 -001e08 0e00 MOVLW 0x0 -001e0a 54ed SUBFWB 0xed,0x0,0x0 -001e0c e203 BC 0x1e14 +001dfc ec23 CALL 0x3846,0x0 if (Para2 > MAX_RC2_SERVOS) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001dfe f01c +001e00 0e04 MOVLW 0x4 +001e02 80d8 BSF 0xd8,0x0,0x0 +001e04 54ee SUBFWB 0xee,0x0,0x0 +001e06 0e00 MOVLW 0x0 +001e08 54ed SUBFWB 0xed,0x0,0x0 +001e0a e203 BC 0x1e12 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001e0e 0e04 MOVLW 0x4 Para2 = MAX_RC2_SERVOS; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001e10 ecb0 CALL 0x3d60,0x0 -001e12 f01e -003d60 6ef3 MOVWF 0xf3,0x0 -003d62 0e01 MOVLW 0x1 -003d64 cff3 MOVFF 0xff3,0xfdb -003d66 ffdb -003d68 0e02 MOVLW 0x2 -003d6a 6adb CLRF 0xdb,0x0 -003d6c 0012 RETURN 0x0 +001e0c 0e04 MOVLW 0x4 Para2 = MAX_RC2_SERVOS; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001e0e ecc0 CALL 0x3d80,0x0 +001e10 f01e +003d80 6ef3 MOVWF 0xf3,0x0 +003d82 0e01 MOVLW 0x1 +003d84 cff3 MOVFF 0xff3,0xfdb +003d86 ffdb +003d88 0e02 MOVLW 0x2 +003d8a 6adb CLRF 0xdb,0x0 +003d8c 0012 RETURN 0x0 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001e14 0e01 MOVLW 0x1 gRC2Slots = Para2; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001e16 cfdb MOVFF 0xfdb,0x7e -001e18 f07e +001e12 0e01 MOVLW 0x1 gRC2Slots = Para2; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001e14 cfdb MOVFF 0xfdb,0x7e +001e16 f07e } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001e1a d031 BRA 0x1e7e else if (Para1 == 9u) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001e1c 0e09 MOVLW 0x9 -001e1e 5cdf SUBWF 0xdf,0x0,0x0 -001e20 e10f BNZ 0x1e40 +001e18 d031 BRA 0x1e7c else if (Para1 == 9u) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001e1a 0e09 MOVLW 0x9 +001e1c 5cdf SUBWF 0xdf,0x0,0x0 +001e1e e10f BNZ 0x1e3e { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001e22 ec10 CALL 0x3820,0x0 if (Para2 > 6u) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001e24 f01c -001e26 0e06 MOVLW 0x6 -001e28 80d8 BSF 0xd8,0x0,0x0 -001e2a 54ee SUBFWB 0xee,0x0,0x0 -001e2c 0e00 MOVLW 0x0 -001e2e 54ed SUBFWB 0xed,0x0,0x0 -001e30 e203 BC 0x1e38 +001e20 ec23 CALL 0x3846,0x0 if (Para2 > 6u) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001e22 f01c +001e24 0e06 MOVLW 0x6 +001e26 80d8 BSF 0xd8,0x0,0x0 +001e28 54ee SUBFWB 0xee,0x0,0x0 +001e2a 0e00 MOVLW 0x0 +001e2c 54ed SUBFWB 0xed,0x0,0x0 +001e2e e203 BC 0x1e36 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001e32 0e06 MOVLW 0x6 Para2 = 6; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001e34 ecb0 CALL 0x3d60,0x0 -001e36 f01e +001e30 0e06 MOVLW 0x6 Para2 = 6; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001e32 ecc0 CALL 0x3d80,0x0 +001e34 f01e } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001e38 0e01 MOVLW 0x1 gRC2SlotMS = Para2; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001e3a cfdb MOVFF 0xfdb,0x7f -001e3c f07f +001e36 0e01 MOVLW 0x1 gRC2SlotMS = Para2; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001e38 cfdb MOVFF 0xfdb,0x7f +001e3a f07f } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001e3e d01f BRA 0x1e7e else if (Para1 == 10u) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001e40 0e0a MOVLW 0xa -001e42 5cdf SUBWF 0xdf,0x0,0x0 -001e44 e103 BNZ 0x1e4c +001e3c d01f BRA 0x1e7c else if (Para1 == 10u) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001e3e 0e0a MOVLW 0xa +001e40 5cdf SUBWF 0xdf,0x0,0x0 +001e42 e103 BNZ 0x1e4a { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001e46 ecb7 CALL 0x3d6e,0x0 g_servo2_rate_up = Para2; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001e48 f01e -003d6e 0e01 MOVLW 0x1 -003d70 cfdb MOVFF 0xfdb,0x86 -003d72 f086 -003d74 0e02 MOVLW 0x2 -003d76 cfdb MOVFF 0xfdb,0x87 -003d78 f087 -003d7a 0012 RETURN 0x0 +001e44 ecc7 CALL 0x3d8e,0x0 g_servo2_rate_up = Para2; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001e46 f01e +003d8e 0e01 MOVLW 0x1 +003d90 cfdb MOVFF 0xfdb,0x86 +003d92 f086 +003d94 0e02 MOVLW 0x2 +003d96 cfdb MOVFF 0xfdb,0x87 +003d98 f087 +003d9a 0012 RETURN 0x0 g_servo2_rate_down = Para2; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001e4a d009 BRA 0x1e5e else if (Para1 == 11u) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001e4c 0e0b MOVLW 0xb -001e4e 5cdf SUBWF 0xdf,0x0,0x0 -001e50 e103 BNZ 0x1e58 +001e48 d009 BRA 0x1e5c else if (Para1 == 11u) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001e4a 0e0b MOVLW 0xb +001e4c 5cdf SUBWF 0xdf,0x0,0x0 +001e4e e103 BNZ 0x1e56 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001e52 ecb7 CALL 0x3d6e,0x0 g_servo2_rate_up = Para2; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001e54 f01e +001e50 ecc7 CALL 0x3d8e,0x0 g_servo2_rate_up = Para2; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001e52 f01e } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001e56 d013 BRA 0x1e7e else if (Para1 == 12u) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001e58 0e0c MOVLW 0xc -001e5a 5cdf SUBWF 0xdf,0x0,0x0 -001e5c e107 BNZ 0x1e6c +001e54 d013 BRA 0x1e7c else if (Para1 == 12u) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001e56 0e0c MOVLW 0xc +001e58 5cdf SUBWF 0xdf,0x0,0x0 +001e5a e107 BNZ 0x1e6a { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001e5e 0e01 MOVLW 0x1 g_servo2_rate_down = Para2; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001e60 cfdb MOVFF 0xfdb,0x88 -001e62 f088 -001e64 0e02 MOVLW 0x2 -001e66 cfdb MOVFF 0xfdb,0x89 -001e68 f089 +001e5c 0e01 MOVLW 0x1 g_servo2_rate_down = Para2; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001e5e cfdb MOVFF 0xfdb,0x88 +001e60 f088 +001e62 0e02 MOVLW 0x2 +001e64 cfdb MOVFF 0xfdb,0x89 +001e66 f089 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001e6a d009 BRA 0x1e7e else if (Para1 == 13u) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001e6c 0e0d MOVLW 0xd -001e6e 5cdf SUBWF 0xdf,0x0,0x0 -001e70 e106 BNZ 0x1e7e +001e68 d009 BRA 0x1e7c else if (Para1 == 13u) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001e6a 0e0d MOVLW 0xd +001e6c 5cdf SUBWF 0xdf,0x0,0x0 +001e6e e106 BNZ 0x1e7c { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001e72 ecce CALL 0x419c,0x0 if (Para2) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001e74 f020 -001e76 e002 BZ 0x1e7c -00419c ec10 CALL 0x3820,0x0 -00419e f01c -0041a0 50ee MOVF 0xee,0x0,0x0 -0041a2 10ed IORWF 0xed,0x0,0x0 -0041a4 0012 RETURN 0x0 +001e70 ecdf CALL 0x41be,0x0 if (Para2) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001e72 f020 +001e74 e002 BZ 0x1e7a +0041be ec23 CALL 0x3846,0x0 +0041c0 f01c +0041c2 50ee MOVF 0xee,0x0,0x0 +0041c4 10ed IORWF 0xed,0x0,0x0 +0041c6 0012 RETURN 0x0 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001e78 8008 BSF 0x8,0x0,0x0 bitsetzero(UseAltPause); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001e76 8008 BSF 0x8,0x0,0x0 bitsetzero(UseAltPause); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001e7a d001 BRA 0x1e7e else C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001e78 d001 BRA 0x1e7c else C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001e7c 9008 BCF 0x8,0x0,0x0 bitclrzero(UseAltPause); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001e7a 9008 BCF 0x8,0x0,0x0 bitclrzero(UseAltPause); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001e7e eccc CALL 0x3798,0x0 print_line_ending(kLE_OK_NORM); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001e80 f01b -001e82 0e03 MOVLW 0x3 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001e84 5ce1 SUBWF 0xe1,0x0,0x0 -001e86 e202 BC 0x1e8c -001e88 6ae1 CLRF 0xe1,0x0 -001e8a 52e5 MOVF 0xe5,0x1,0x0 -001e8c ef9c GOTO 0x3738 -001e8e f01b +001e7c ecdf CALL 0x37be,0x0 print_line_ending(kLE_OK_NORM); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001e7e f01b +001e80 0e03 MOVLW 0x3 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001e82 5ce1 SUBWF 0xe1,0x0,0x0 +001e84 e202 BC 0x1e8a +001e86 6ae1 CLRF 0xe1,0x0 +001e88 52e5 MOVF 0xe5,0x1,0x0 +001e8a efaf GOTO 0x375e +001e8c f01b C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // Low Level Move command C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // Usage: LM,,,,,,, C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c @@ -9394,120 +9404,120 @@ Address Value Disassembly Source // is optional. A value of 0 will do nothing. A value of 1 will C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // clear Motor 1's accumulator before starting the move. A value of 2 will C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // clear Motor 2's accumulator. And a value of 3 will clear both. C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001e90 ecff CALL 0x41fe,0x0 void parse_LM_packet(void) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001e92 f020 -0041fe dfe9 RCALL 0x41d2 +001e8e ec10 CALL 0x4220,0x0 void parse_LM_packet(void) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001e90 f021 +004220 dfe9 RCALL 0x41f4 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c ExtractReturnType ClearRet; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -004200 d883 RCALL 0x4308 print_command(FALSE, FALSE); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -004308 6ae6 CLRF 0xe6,0x0 -00430a ef72 GOTO 0x36e4 -00430c f01b +004222 d880 RCALL 0x4324 print_command(FALSE, FALSE); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +004324 6ae6 CLRF 0xe6,0x0 +004326 ef85 GOTO 0x370a +004328 f01b C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // Extract each of the values. C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -004202 6ae6 CLRF 0xe6,0x0 extract_number(kLONG, &gTmpRate1, kREQUIRED); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -004204 0e8d MOVLW 0x8d -004206 6ee6 MOVWF 0xe6,0x0 -004208 0e0b MOVLW 0xb -00420a de25 RCALL 0x3e56 -00420c 0e95 MOVLW 0x95 extract_number(kLONG, &gTmpSteps1, kREQUIRED); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -00420e 6ee6 MOVWF 0xe6,0x0 -004210 0e0b MOVLW 0xb -004212 d085 BRA 0x431e -00431e dd9b RCALL 0x3e56 -004320 0e9d MOVLW 0x9d extract_number(kLONG, &gTmpAccel1, kREQUIRED); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -004322 6ee6 MOVWF 0xe6,0x0 -004324 0e0b MOVLW 0xb -004326 ef2b GOTO 0x3e56 -004328 f01f -001e94 ec87 CALL 0x430e,0x0 extract_number(kLONG, &gTmpRate2, kREQUIRED); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001e96 f021 -00430e 0e91 MOVLW 0x91 -004310 6ee6 MOVWF 0xe6,0x0 -004312 0e0b MOVLW 0xb -004314 dda0 RCALL 0x3e56 -001e98 ec2a CALL 0x4254,0x0 extract_number(kLONG, &gTmpSteps2, kREQUIRED); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001e9a f021 -004316 0e99 MOVLW 0x99 -004318 6ee6 MOVWF 0xe6,0x0 -00431a 0e0b MOVLW 0xb -00431c 0012 RETURN 0x0 +004224 6ae6 CLRF 0xe6,0x0 extract_number(kLONG, &gTmpRate1, kREQUIRED); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +004226 0ec7 MOVLW 0xc7 +004228 6ee6 MOVWF 0xe6,0x0 +00422a 0e01 MOVLW 0x1 +00422c de24 RCALL 0x3e76 +00422e 0ecf MOVLW 0xcf extract_number(kLONG, &gTmpSteps1, kREQUIRED); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +004230 6ee6 MOVWF 0xe6,0x0 +004232 0e01 MOVLW 0x1 +004234 d082 BRA 0x433a +00433a dd9d RCALL 0x3e76 +00433c 0ed7 MOVLW 0xd7 extract_number(kLONG, &gTmpAccel1, kREQUIRED); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +00433e 6ee6 MOVWF 0xe6,0x0 +004340 0e01 MOVLW 0x1 +004342 ef3b GOTO 0x3e76 +004344 f01f +001e92 ec95 CALL 0x432a,0x0 extract_number(kLONG, &gTmpRate2, kREQUIRED); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001e94 f021 +00432a 0ecb MOVLW 0xcb +00432c 6ee6 MOVWF 0xe6,0x0 +00432e 0e01 MOVLW 0x1 +004330 dda2 RCALL 0x3e76 +001e96 ec3b CALL 0x4276,0x0 extract_number(kLONG, &gTmpSteps2, kREQUIRED); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001e98 f021 +004332 0ed3 MOVLW 0xd3 +004334 6ee6 MOVWF 0xe6,0x0 +004336 0e01 MOVLW 0x1 +004338 0012 RETURN 0x0 extract_number(kLONG, &gTmpAccel2, kREQUIRED); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001e9c 6edf MOVWF 0xdf,0x0 ClearRet = extract_number(kULONG, &gTmpClearAccs, kOPTIONAL); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001e9a 6edf MOVWF 0xdf,0x0 ClearRet = extract_number(kULONG, &gTmpClearAccs, kOPTIONAL); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // Bail if we got a conversion error C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001e9e 0100 MOVLB 0x0 if (error_byte) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001ea0 5197 MOVF 0x97,0x0,0x1 -001ea2 e123 BNZ 0x1eea +001e9c 0100 MOVLB 0x0 if (error_byte) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001e9e 5197 MOVF 0x97,0x0,0x1 +001ea0 e123 BNZ 0x1ee8 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c return; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001ea4 010b MOVLB 0xb if (gLimitChecks) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001ea6 5183 MOVF 0x83,0x0,0x1 -001ea8 e019 BZ 0x1edc +001ea2 0101 MOVLB 0x1 if (gLimitChecks) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001ea4 51bd MOVF 0xbd,0x0,0x1 +001ea6 e019 BZ 0x1eda { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // Quickly eliminate obvious invalid parameter combinations, C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // like LM,1,0,2,0,0,0. Or LM,0,1,0,0,0,0,0 GH issue #78 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c if ( C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c ( C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001eaa 518d MOVF 0x8d,0x0,0x1 ((gTmpRate1 == 0) && (gTmpAccel1 == 0)) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001eac 118e IORWF 0x8e,0x0,0x1 -001eae 118f IORWF 0x8f,0x0,0x1 -001eb0 1190 IORWF 0x90,0x0,0x1 -001eb2 e103 BNZ 0x1eba -001eb4 ecd8 CALL 0x3db0,0x0 -001eb6 f01e -001eb8 e003 BZ 0x1ec0 +001ea8 51c7 MOVF 0xc7,0x0,0x1 ((gTmpRate1 == 0) && (gTmpAccel1 == 0)) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001eaa 11c8 IORWF 0xc8,0x0,0x1 +001eac 11c9 IORWF 0xc9,0x0,0x1 +001eae 11ca IORWF 0xca,0x0,0x1 +001eb0 e103 BNZ 0x1eb8 +001eb2 ece8 CALL 0x3dd0,0x0 +001eb4 f01e +001eb6 e003 BZ 0x1ebe || C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001eba ec96 CALL 0x3b2c,0x0 (gTmpSteps1 == 0) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001ebc f01d -001ebe e10e BNZ 0x1edc ) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001eb8 ecba CALL 0x3b74,0x0 (gTmpSteps1 == 0) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001eba f01d +001ebc e10e BNZ 0x1eda ) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c && C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c ( C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001ec0 5191 MOVF 0x91,0x0,0x1 ((gTmpRate2 == 0) && (gTmpAccel2 == 0)) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001ec2 1192 IORWF 0x92,0x0,0x1 -001ec4 1193 IORWF 0x93,0x0,0x1 -001ec6 1194 IORWF 0x94,0x0,0x1 -001ec8 e103 BNZ 0x1ed0 -001eca ecdd CALL 0x3dba,0x0 -001ecc f01e -001ece e003 BZ 0x1ed6 +001ebe 51cb MOVF 0xcb,0x0,0x1 ((gTmpRate2 == 0) && (gTmpAccel2 == 0)) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001ec0 11cc IORWF 0xcc,0x0,0x1 +001ec2 11cd IORWF 0xcd,0x0,0x1 +001ec4 11ce IORWF 0xce,0x0,0x1 +001ec6 e103 BNZ 0x1ece +001ec8 eced CALL 0x3dda,0x0 +001eca f01e +001ecc e003 BZ 0x1ed4 || C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001ed0 ec9b CALL 0x3b36,0x0 (gTmpSteps2 == 0) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001ed2 f01d -001ed4 e103 BNZ 0x1edc ) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001ece ecbf CALL 0x3b7e,0x0 (gTmpSteps2 == 0) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001ed0 f01d +001ed2 e103 BNZ 0x1eda ) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c ) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001ed6 0100 MOVLB 0x0 bitset(error_byte, kERROR_BYTE_PARAMETER_OUTSIDE_LIMIT); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001ed8 8d97 BSF 0x97,0x6,0x1 -001eda d007 BRA 0x1eea return; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001ed4 0100 MOVLB 0x0 bitset(error_byte, kERROR_BYTE_PARAMETER_OUTSIDE_LIMIT); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001ed6 8d97 BSF 0x97,0x6,0x1 +001ed8 d007 BRA 0x1ee8 return; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // We don't need Intervals or Jerks, so set them to zero before calling low_level C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001edc ec67 CALL 0x3cce,0x0 gTmpIntervals = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001ede f01e -001ee0 ec53 CALL 0x3aa6,0x0 gTmpJerk1 = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001ee2 f01d -003aa6 6ba5 CLRF 0xa5,0x1 -003aa8 6ba6 CLRF 0xa6,0x1 -003aaa 6ba7 CLRF 0xa7,0x1 -003aac 6ba8 CLRF 0xa8,0x1 -003aae 6ba9 CLRF 0xa9,0x1 gTmpJerk2 = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -003ab0 6baa CLRF 0xaa,0x1 -003ab2 6bab CLRF 0xab,0x1 -003ab4 6bac CLRF 0xac,0x1 +001eda ec67 CALL 0x3cce,0x0 gTmpIntervals = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001edc f01e +001ede ec77 CALL 0x3aee,0x0 gTmpJerk1 = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001ee0 f01d +003aee 6bdf CLRF 0xdf,0x1 +003af0 6be0 CLRF 0xe0,0x1 +003af2 6be1 CLRF 0xe1,0x1 +003af4 6be2 CLRF 0xe2,0x1 +003af6 6be3 CLRF 0xe3,0x1 gTmpJerk2 = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +003af8 6be4 CLRF 0xe4,0x1 +003afa 6be5 CLRF 0xe5,0x1 +003afc 6be6 CLRF 0xe6,0x1 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001ee4 6ae6 CLRF 0xe6,0x0 process_low_level_move(FALSE, ClearRet); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001ee6 ec6c CALL 0x3cd8,0x0 -001ee8 f01e -003ab6 cfdf MOVFF 0xfdf,0xfe6 -003ab8 ffe6 -003aba 0012 RETURN 0x0 -001eea ef30 GOTO 0x3a60 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001eec f01d +001ee2 6ae6 CLRF 0xe6,0x0 process_low_level_move(FALSE, ClearRet); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001ee4 ec6c CALL 0x3cd8,0x0 +001ee6 f01e +003afe cfdf MOVFF 0xfdf,0xfe6 +003b00 ffe6 +003b02 0012 RETURN 0x0 +001ee8 ef54 GOTO 0x3aa8 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001eea f01d C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // Low Level third derivative Move command C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // Usage: L3,,,,,,,,, C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c @@ -9531,8 +9541,8 @@ Address Value Disassembly Source // is optional. A value of 0 will do nothing. A value of 1 will C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // clear Motor 1's accumulator before starting the move. A value of 2 will C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // clear Motor 2's accumulator. And a value of 3 will clear both. C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001eee ecff CALL 0x41fe,0x0 void parse_L3_packet(void) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001ef0 f020 +001eec ec10 CALL 0x4220,0x0 void parse_L3_packet(void) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001eee f021 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c ExtractReturnType ClearRet; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c @@ -9542,98 +9552,98 @@ Address Value Disassembly Source extract_number(kLONG, &gTmpRate1, kREQUIRED); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c extract_number(kLONG, &gTmpSteps1, kREQUIRED); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c extract_number(kLONG, &gTmpAccel1, kREQUIRED); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001ef2 0ea5 MOVLW 0xa5 extract_number(kLONG, &gTmpJerk1, kREQUIRED); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001ef4 6ee6 MOVWF 0xe6,0x0 -001ef6 0e0b MOVLW 0xb -001ef8 ec2b CALL 0x3e56,0x0 -001efa f01f -001efc ec87 CALL 0x430e,0x0 extract_number(kLONG, &gTmpRate2, kREQUIRED); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001efe f021 -001f00 ec0a CALL 0x4214,0x0 extract_number(kLONG, &gTmpSteps2, kREQUIRED); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001f02 f021 -004214 de20 RCALL 0x3e56 -004216 0ea1 MOVLW 0xa1 extract_number(kLONG, &gTmpAccel2, kREQUIRED); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -004218 6ee6 MOVWF 0xe6,0x0 -00421a 0e0b MOVLW 0xb -00421c de1c RCALL 0x3e56 -00421e 0ea9 MOVLW 0xa9 extract_number(kLONG, &gTmpJerk2, kREQUIRED); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -004220 6ee6 MOVWF 0xe6,0x0 -004222 0e0b MOVLW 0xb -004224 de1b RCALL 0x3e5c -004226 6edf MOVWF 0xdf,0x0 ClearRet = extract_number(kULONG, &gTmpClearAccs, kOPTIONAL); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001ef0 0edf MOVLW 0xdf extract_number(kLONG, &gTmpJerk1, kREQUIRED); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001ef2 6ee6 MOVWF 0xe6,0x0 +001ef4 0e01 MOVLW 0x1 +001ef6 ec3b CALL 0x3e76,0x0 +001ef8 f01f +001efa ec95 CALL 0x432a,0x0 extract_number(kLONG, &gTmpRate2, kREQUIRED); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001efc f021 +001efe ec1b CALL 0x4236,0x0 extract_number(kLONG, &gTmpSteps2, kREQUIRED); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001f00 f021 +004236 de1f RCALL 0x3e76 +004238 0edb MOVLW 0xdb extract_number(kLONG, &gTmpAccel2, kREQUIRED); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +00423a 6ee6 MOVWF 0xe6,0x0 +00423c 0e01 MOVLW 0x1 +00423e de1b RCALL 0x3e76 +004240 0ee3 MOVLW 0xe3 extract_number(kLONG, &gTmpJerk2, kREQUIRED); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +004242 6ee6 MOVWF 0xe6,0x0 +004244 0e01 MOVLW 0x1 +004246 de1a RCALL 0x3e7c +004248 6edf MOVWF 0xdf,0x0 ClearRet = extract_number(kULONG, &gTmpClearAccs, kOPTIONAL); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // Bail if we got a conversion error C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001f04 e12d BNZ 0x1f60 if (error_byte) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -004228 0100 MOVLB 0x0 -00422a 5197 MOVF 0x97,0x0,0x1 -00422c 0012 RETURN 0x0 +001f02 e12d BNZ 0x1f5e if (error_byte) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +00424a 0100 MOVLB 0x0 +00424c 5197 MOVF 0x97,0x0,0x1 +00424e 0012 RETURN 0x0 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c return; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001f06 010b MOVLB 0xb if (gLimitChecks) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001f08 5183 MOVF 0x83,0x0,0x1 -001f0a e023 BZ 0x1f52 +001f04 0101 MOVLB 0x1 if (gLimitChecks) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001f06 51bd MOVF 0xbd,0x0,0x1 +001f08 e023 BZ 0x1f50 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // Quickly eliminate obvious invalid parameter combinations, C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // like L3,1,0,2,3,0,0,0,0. Or L3,0,1,0,0,0,0,0,0,0 GH issue #78 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c if ( C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c ( C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001f0c 518d MOVF 0x8d,0x0,0x1 ((gTmpRate1 == 0) && (gTmpAccel1 == 0) && (gTmpJerk1 == 0)) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001f0e 118e IORWF 0x8e,0x0,0x1 -001f10 118f IORWF 0x8f,0x0,0x1 -001f12 1190 IORWF 0x90,0x0,0x1 -001f14 e108 BNZ 0x1f26 -001f16 ecd8 CALL 0x3db0,0x0 -001f18 f01e -001f1a e105 BNZ 0x1f26 -001f1c 51a5 MOVF 0xa5,0x0,0x1 -001f1e 11a6 IORWF 0xa6,0x0,0x1 -001f20 11a7 IORWF 0xa7,0x0,0x1 -001f22 11a8 IORWF 0xa8,0x0,0x1 -001f24 e003 BZ 0x1f2c +001f0a 51c7 MOVF 0xc7,0x0,0x1 ((gTmpRate1 == 0) && (gTmpAccel1 == 0) && (gTmpJerk1 == 0)) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001f0c 11c8 IORWF 0xc8,0x0,0x1 +001f0e 11c9 IORWF 0xc9,0x0,0x1 +001f10 11ca IORWF 0xca,0x0,0x1 +001f12 e108 BNZ 0x1f24 +001f14 ece8 CALL 0x3dd0,0x0 +001f16 f01e +001f18 e105 BNZ 0x1f24 +001f1a 51df MOVF 0xdf,0x0,0x1 +001f1c 11e0 IORWF 0xe0,0x0,0x1 +001f1e 11e1 IORWF 0xe1,0x0,0x1 +001f20 11e2 IORWF 0xe2,0x0,0x1 +001f22 e003 BZ 0x1f2a || C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001f26 ec96 CALL 0x3b2c,0x0 (gTmpSteps1 == 0) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001f28 f01d -001f2a e113 BNZ 0x1f52 ) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001f24 ecba CALL 0x3b74,0x0 (gTmpSteps1 == 0) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001f26 f01d +001f28 e113 BNZ 0x1f50 ) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c && C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c ( C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001f2c 5191 MOVF 0x91,0x0,0x1 ((gTmpRate2 == 0) && (gTmpAccel2 == 0) && (gTmpJerk1 == 0)) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001f2e 1192 IORWF 0x92,0x0,0x1 -001f30 1193 IORWF 0x93,0x0,0x1 -001f32 1194 IORWF 0x94,0x0,0x1 -001f34 e108 BNZ 0x1f46 -001f36 ecdd CALL 0x3dba,0x0 -001f38 f01e -001f3a e105 BNZ 0x1f46 -001f3c 51a5 MOVF 0xa5,0x0,0x1 -001f3e 11a6 IORWF 0xa6,0x0,0x1 -001f40 11a7 IORWF 0xa7,0x0,0x1 -001f42 11a8 IORWF 0xa8,0x0,0x1 -001f44 e003 BZ 0x1f4c +001f2a 51cb MOVF 0xcb,0x0,0x1 ((gTmpRate2 == 0) && (gTmpAccel2 == 0) && (gTmpJerk1 == 0)) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001f2c 11cc IORWF 0xcc,0x0,0x1 +001f2e 11cd IORWF 0xcd,0x0,0x1 +001f30 11ce IORWF 0xce,0x0,0x1 +001f32 e108 BNZ 0x1f44 +001f34 eced CALL 0x3dda,0x0 +001f36 f01e +001f38 e105 BNZ 0x1f44 +001f3a 51df MOVF 0xdf,0x0,0x1 +001f3c 11e0 IORWF 0xe0,0x0,0x1 +001f3e 11e1 IORWF 0xe1,0x0,0x1 +001f40 11e2 IORWF 0xe2,0x0,0x1 +001f42 e003 BZ 0x1f4a || C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001f46 ec9b CALL 0x3b36,0x0 (gTmpSteps2 == 0) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001f48 f01d -001f4a e103 BNZ 0x1f52 ) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001f44 ecbf CALL 0x3b7e,0x0 (gTmpSteps2 == 0) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001f46 f01d +001f48 e103 BNZ 0x1f50 ) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c ) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001f4c 0100 MOVLB 0x0 bitset(error_byte, kERROR_BYTE_PARAMETER_OUTSIDE_LIMIT); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001f4e 8d97 BSF 0x97,0x6,0x1 -001f50 d007 BRA 0x1f60 return; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001f4a 0100 MOVLB 0x0 bitset(error_byte, kERROR_BYTE_PARAMETER_OUTSIDE_LIMIT); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001f4c 8d97 BSF 0x97,0x6,0x1 +001f4e d007 BRA 0x1f5e return; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // We don't use Intervals, so set it to zero here C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001f52 ec67 CALL 0x3cce,0x0 gTmpIntervals = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001f54 f01e +001f50 ec67 CALL 0x3cce,0x0 gTmpIntervals = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001f52 f01e C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001f56 cfdf MOVFF 0xfdf,0xfe6 process_low_level_move(FALSE, ClearRet); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001f58 ffe6 -001f5a 6ae6 CLRF 0xe6,0x0 -001f5c ec6c CALL 0x3cd8,0x0 -001f5e f01e -001f60 ef30 GOTO 0x3a60 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001f62 f01d +001f54 cfdf MOVFF 0xfdf,0xfe6 process_low_level_move(FALSE, ClearRet); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001f56 ffe6 +001f58 6ae6 CLRF 0xe6,0x0 +001f5a ec6c CALL 0x3cd8,0x0 +001f5c f01e +001f5e ef54 GOTO 0x3aa8 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001f60 f01d C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // Low Level Timed third derivative Move command C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // Usage: L3,,,,,,,, C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c @@ -9653,81 +9663,81 @@ Address Value Disassembly Source // C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // is optional. A value of 0 will do nothing. A value of 1 will clear Motor 1's accumulator before C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // starting the move. A value of 2 will clear Motor 2's accumulator. And a value of 3 will clear both. C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001f64 ec17 CALL 0x422e,0x0 void parse_T3_packet(void) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001f66 f021 -00422e dfd1 RCALL 0x41d2 +001f62 ec28 CALL 0x4250,0x0 void parse_T3_packet(void) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001f64 f021 +004250 dfd1 RCALL 0x41f4 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c ExtractReturnType ClearRet; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -004230 de49 RCALL 0x3ec4 print_command(FALSE, FALSE); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +004252 de48 RCALL 0x3ee4 print_command(FALSE, FALSE); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // Extract each of the values. C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c extract_number(kULONG, &gTmpIntervals, kREQUIRED); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -004232 6ae6 CLRF 0xe6,0x0 extract_number(kLONG, &gTmpRate1, kREQUIRED); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -004234 0e8d MOVLW 0x8d -004236 6ee6 MOVWF 0xe6,0x0 -004238 0e0b MOVLW 0xb -00423a d071 BRA 0x431e +004254 6ae6 CLRF 0xe6,0x0 extract_number(kLONG, &gTmpRate1, kREQUIRED); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +004256 0ec7 MOVLW 0xc7 +004258 6ee6 MOVWF 0xe6,0x0 +00425a 0e01 MOVLW 0x1 +00425c d06e BRA 0x433a extract_number(kLONG, &gTmpAccel1, kREQUIRED); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001f68 0ea5 MOVLW 0xa5 extract_number(kLONG, &gTmpJerk1, kREQUIRED); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001f6a 6ee6 MOVWF 0xe6,0x0 -001f6c 0e0b MOVLW 0xb -001f6e ec2b CALL 0x3e56,0x0 -001f70 f01f -001f72 0e91 MOVLW 0x91 extract_number(kLONG, &gTmpRate2, kREQUIRED); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001f74 6ee6 MOVWF 0xe6,0x0 -001f76 0e0b MOVLW 0xb -001f78 ec0a CALL 0x4214,0x0 -001f7a f021 +001f66 0edf MOVLW 0xdf extract_number(kLONG, &gTmpJerk1, kREQUIRED); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001f68 6ee6 MOVWF 0xe6,0x0 +001f6a 0e01 MOVLW 0x1 +001f6c ec3b CALL 0x3e76,0x0 +001f6e f01f +001f70 0ecb MOVLW 0xcb extract_number(kLONG, &gTmpRate2, kREQUIRED); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001f72 6ee6 MOVWF 0xe6,0x0 +001f74 0e01 MOVLW 0x1 +001f76 ec1b CALL 0x4236,0x0 +001f78 f021 extract_number(kLONG, &gTmpAccel2, kREQUIRED); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c extract_number(kLONG, &gTmpJerk2, kREQUIRED); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c ClearRet = extract_number(kULONG, &gTmpClearAccs, kOPTIONAL); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // Bail if we got a conversion error C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001f7c e111 BNZ 0x1fa0 if (error_byte) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001f7a e111 BNZ 0x1f9e if (error_byte) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c return; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001f7e 010b MOVLB 0xb if (gLimitChecks) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001f80 5183 MOVF 0x83,0x0,0x1 -001f82 e006 BZ 0x1f90 +001f7c 0101 MOVLB 0x1 if (gLimitChecks) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001f7e 51bd MOVF 0xbd,0x0,0x1 +001f80 e006 BZ 0x1f8e { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // Eliminate obvious invalid parameter combinations, C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // like LT,0,X,X,X,X,X C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001f84 eca0 CALL 0x3b40,0x0 if (gTmpIntervals == 0u) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001f86 f01d -001f88 e103 BNZ 0x1f90 +001f82 ecc4 CALL 0x3b88,0x0 if (gTmpIntervals == 0u) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001f84 f01d +001f86 e103 BNZ 0x1f8e { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001f8a 0100 MOVLB 0x0 bitset(error_byte, kERROR_BYTE_PARAMETER_OUTSIDE_LIMIT); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001f8c 8d97 BSF 0x97,0x6,0x1 -001f8e d008 BRA 0x1fa0 return; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001f88 0100 MOVLB 0x0 bitset(error_byte, kERROR_BYTE_PARAMETER_OUTSIDE_LIMIT); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001f8a 8d97 BSF 0x97,0x6,0x1 +001f8c d008 BRA 0x1f9e return; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // We don't use Steps so clear them here before calling low_level C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001f90 ecd6 CALL 0x3bac,0x0 gTmpSteps1 = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001f92 f01d -003bac db01 RCALL 0x41b0 -0041b0 6b95 CLRF 0x95,0x1 -0041b2 6b96 CLRF 0x96,0x1 -0041b4 6b97 CLRF 0x97,0x1 -0041b6 6b98 CLRF 0x98,0x1 -0041b8 0012 RETURN 0x0 -003bae 6b99 CLRF 0x99,0x1 gTmpSteps2 = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -003bb0 6b9a CLRF 0x9a,0x1 -003bb2 6b9b CLRF 0x9b,0x1 -003bb4 6b9c CLRF 0x9c,0x1 -003bb6 0012 RETURN 0x0 +001f8e ece8 CALL 0x3bd0,0x0 gTmpSteps1 = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001f90 f01d +003bd0 db00 RCALL 0x41d2 +0041d2 6bcf CLRF 0xcf,0x1 +0041d4 6bd0 CLRF 0xd0,0x1 +0041d6 6bd1 CLRF 0xd1,0x1 +0041d8 6bd2 CLRF 0xd2,0x1 +0041da 0012 RETURN 0x0 +003bd2 6bd3 CLRF 0xd3,0x1 gTmpSteps2 = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +003bd4 6bd4 CLRF 0xd4,0x1 +003bd6 6bd5 CLRF 0xd5,0x1 +003bd8 6bd6 CLRF 0xd6,0x1 +003bda 0012 RETURN 0x0 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001f94 cfdf MOVFF 0xfdf,0xfe6 process_low_level_move(TRUE, ClearRet); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001f96 ffe6 -001f98 0e01 MOVLW 0x1 -001f9a 6ee6 MOVWF 0xe6,0x0 -001f9c ec6c CALL 0x3cd8,0x0 -001f9e f01e -001fa0 ef30 GOTO 0x3a60 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001fa2 f01d +001f92 cfdf MOVFF 0xfdf,0xfe6 process_low_level_move(TRUE, ClearRet); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001f94 ffe6 +001f96 0e01 MOVLW 0x1 +001f98 6ee6 MOVWF 0xe6,0x0 +001f9a ec6c CALL 0x3cd8,0x0 +001f9c f01e +001f9e ef54 GOTO 0x3aa8 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001fa0 f01d C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // Low Level Timed Move command C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // Usage: LT,,,,,, C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c @@ -9745,100 +9755,100 @@ Address Value Disassembly Source // C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // is optional. A value of 0 will do nothing. A value of 1 will clear Motor 1's accumulator before C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // starting the move. A value of 2 will clear Motor 2's accumulator. And a value of 3 will clear both. C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001fa4 ec17 CALL 0x422e,0x0 void parse_LT_packet(void) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001fa6 f021 -0041d2 ec9f CALL 0x373e,0x0 -0041d4 f01b -0041d6 52e6 MOVF 0xe6,0x1,0x0 -0041d8 0012 RETURN 0x0 +001fa2 ec28 CALL 0x4250,0x0 void parse_LT_packet(void) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001fa4 f021 +0041f4 ecb2 CALL 0x3764,0x0 +0041f6 f01b +0041f8 52e6 MOVF 0xe6,0x1,0x0 +0041fa 0012 RETURN 0x0 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c ExtractReturnType ClearRet; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -003ec4 da21 RCALL 0x4308 print_command(FALSE, FALSE); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +003ee4 da1f RCALL 0x4324 print_command(FALSE, FALSE); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // Extract each of the values. C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -003ec6 6ae6 CLRF 0xe6,0x0 extract_number(kULONG, &gTmpIntervals, kREQUIRED); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -003ec8 0e89 MOVLW 0x89 -003eca 6ee6 MOVWF 0xe6,0x0 -003ecc 0e0b MOVLW 0xb -003ece ef79 GOTO 0x42f2 -003ed0 f021 -0042f2 6ee6 MOVWF 0xe6,0x0 -0042f4 0e07 MOVLW 0x7 -0042f6 ef91 GOTO 0x3522 -0042f8 f01a +003ee6 6ae6 CLRF 0xe6,0x0 extract_number(kULONG, &gTmpIntervals, kREQUIRED); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +003ee8 0ec3 MOVLW 0xc3 +003eea 6ee6 MOVWF 0xe6,0x0 +003eec 0e01 MOVLW 0x1 +003eee ef8a GOTO 0x4314 +003ef0 f021 +004314 6ee6 MOVWF 0xe6,0x0 +004316 0e07 MOVLW 0x7 +004318 efa4 GOTO 0x3548 +00431a f01a extract_number(kLONG, &gTmpRate1, kREQUIRED); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c extract_number(kLONG, &gTmpAccel1, kREQUIRED); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001fa8 0e91 MOVLW 0x91 extract_number(kLONG, &gTmpRate2, kREQUIRED); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001faa 6ee6 MOVWF 0xe6,0x0 -001fac 0e0b MOVLW 0xb -001fae ec2a CALL 0x4254,0x0 -001fb0 f021 -004254 de00 RCALL 0x3e56 -003e5c da01 RCALL 0x4260 extract_number(kLONG, &gTmpAccel2, kREQUIRED); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -004256 0ea1 MOVLW 0xa1 -004258 6ee6 MOVWF 0xe6,0x0 -00425a 0e0b MOVLW 0xb -00425c ef2e GOTO 0x3e5c -00425e f01f -004260 d86f RCALL 0x4340 -004340 6ee6 MOVWF 0xe6,0x0 -004342 0e06 MOVLW 0x6 -004344 ef91 GOTO 0x3522 -004346 f01a -001fb2 6edf MOVWF 0xdf,0x0 ClearRet = extract_number(kULONG, &gTmpClearAccs, kOPTIONAL); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -003e5e 0ead MOVLW 0xad -003e60 6ee6 MOVWF 0xe6,0x0 -003e62 0e0b MOVLW 0xb -003e64 ef79 GOTO 0x42f2 -003e66 f021 -004262 0e01 MOVLW 0x1 -004264 6ee6 MOVWF 0xe6,0x0 -004266 0012 RETURN 0x0 +001fa6 0ecb MOVLW 0xcb extract_number(kLONG, &gTmpRate2, kREQUIRED); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001fa8 6ee6 MOVWF 0xe6,0x0 +001faa 0e01 MOVLW 0x1 +001fac ec3b CALL 0x4276,0x0 +001fae f021 +004276 ddff RCALL 0x3e76 +003e7c da02 RCALL 0x4282 extract_number(kLONG, &gTmpAccel2, kREQUIRED); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +004278 0edb MOVLW 0xdb +00427a 6ee6 MOVWF 0xe6,0x0 +00427c 0e01 MOVLW 0x1 +00427e ef3e GOTO 0x3e7c +004280 f01f +004282 d86c RCALL 0x435c +00435c 6ee6 MOVWF 0xe6,0x0 +00435e 0e06 MOVLW 0x6 +004360 efa4 GOTO 0x3548 +004362 f01a +001fb0 6edf MOVWF 0xdf,0x0 ClearRet = extract_number(kULONG, &gTmpClearAccs, kOPTIONAL); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +003e7e 0ee7 MOVLW 0xe7 +003e80 6ee6 MOVWF 0xe6,0x0 +003e82 0e01 MOVLW 0x1 +003e84 ef8a GOTO 0x4314 +003e86 f021 +004284 0e01 MOVLW 0x1 +004286 6ee6 MOVWF 0xe6,0x0 +004288 0012 RETURN 0x0 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // Bail if we got a conversion error C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001fb4 0100 MOVLB 0x0 if (error_byte) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001fb6 5197 MOVF 0x97,0x0,0x1 -001fb8 e111 BNZ 0x1fdc +001fb2 0100 MOVLB 0x0 if (error_byte) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001fb4 5197 MOVF 0x97,0x0,0x1 +001fb6 e111 BNZ 0x1fda { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c return; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001fba 010b MOVLB 0xb if (gLimitChecks) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001fbc 5183 MOVF 0x83,0x0,0x1 -001fbe e006 BZ 0x1fcc +001fb8 0101 MOVLB 0x1 if (gLimitChecks) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001fba 51bd MOVF 0xbd,0x0,0x1 +001fbc e006 BZ 0x1fca { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // Eliminate obvious invalid parameter combinations, C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // like LT,0,X,X,X,X,X C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001fc0 eca0 CALL 0x3b40,0x0 if (gTmpIntervals == 0u) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001fc2 f01d -001fc4 e103 BNZ 0x1fcc +001fbe ecc4 CALL 0x3b88,0x0 if (gTmpIntervals == 0u) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001fc0 f01d +001fc2 e103 BNZ 0x1fca { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001fc6 0100 MOVLB 0x0 bitset(error_byte, kERROR_BYTE_PARAMETER_OUTSIDE_LIMIT); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001fc8 8d97 BSF 0x97,0x6,0x1 -001fca d008 BRA 0x1fdc return; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001fc4 0100 MOVLB 0x0 bitset(error_byte, kERROR_BYTE_PARAMETER_OUTSIDE_LIMIT); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001fc6 8d97 BSF 0x97,0x6,0x1 +001fc8 d008 BRA 0x1fda return; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // We don't use Steps or Jerk, so set them to zero here C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001fcc ecd6 CALL 0x3bac,0x0 gTmpSteps1 = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001fce f01d +001fca ece8 CALL 0x3bd0,0x0 gTmpSteps1 = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001fcc f01d gTmpSteps2 = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001fd0 ec53 CALL 0x3aa6,0x0 gTmpJerk1 = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001fd2 f01d +001fce ec77 CALL 0x3aee,0x0 gTmpJerk1 = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001fd0 f01d gTmpJerk2 = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001fd4 0e01 MOVLW 0x1 process_low_level_move(TRUE, ClearRet); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001fd6 6ee6 MOVWF 0xe6,0x0 -001fd8 ec6c CALL 0x3cd8,0x0 -001fda f01e -003cd8 ecf0 CALL 0x1fe0,0x0 +001fd2 0e01 MOVLW 0x1 process_low_level_move(TRUE, ClearRet); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001fd4 6ee6 MOVWF 0xe6,0x0 +001fd6 ec6c CALL 0x3cd8,0x0 +001fd8 f01e +003cd8 ecef CALL 0x1fde,0x0 003cda f00f 003cdc 52e5 MOVF 0xe5,0x1,0x0 003cde 52e5 MOVF 0xe5,0x1,0x0 003ce0 0012 RETURN 0x0 -001fdc ef30 GOTO 0x3a60 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001fde f01d +001fda ef54 GOTO 0x3aa8 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001fdc f01d C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // Because the code for LM, L3, LT and T3 is really the same we call a common C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // processing function from all of them once their parameters are parsed into C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c @@ -9859,37 +9869,37 @@ Address Value Disassembly Source // gTmpJerk2 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // gTmpClearAccs C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001fe0 ec9f CALL 0x373e,0x0 void process_low_level_move(BOOL TimedMove, ExtractReturnType ClearRet) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001fe2 f01b -001fe4 0e05 MOVLW 0x5 -001fe6 ecd0 CALL 0x39a0,0x0 +001fde ecb2 CALL 0x3764,0x0 void process_low_level_move(BOOL TimedMove, ExtractReturnType ClearRet) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001fe0 f01b +001fe2 0e05 MOVLW 0x5 +001fe4 ece3 CALL 0x39c6,0x0 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001fe8 f01c INT32 RateTemp = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001fe6 f01c INT32 RateTemp = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c BOOL NeedNegativeAccumulator; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // If we have a triggered limit switch, then ignore this move command C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001fea b00e BTFSC 0xe,0x0,0x0 if (bittstzero(gLimitSwitchTriggered)) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001fec d1e7 BRA 0x23bc +001fe8 b00e BTFSC 0xe,0x0,0x0 if (bittstzero(gLimitSwitchTriggered)) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001fea d1f2 BRA 0x23d0 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c return; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001fee b409 BTFSC 0x9,0x2,0x0 if (!bittst(TestMode, TEST_MODE_USART_ISR_BIT_NUM)) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001ff0 d005 BRA 0x1ffc +001fec b409 BTFSC 0x9,0x2,0x0 if (!bittst(TestMode, TEST_MODE_USART_ISR_BIT_NUM)) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001fee d005 BRA 0x1ffa { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001ff2 ec1d CALL 0x383a,0x0 if (gTmpClearAccs > 3u) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001ff4 f01c -001ff6 e202 BC 0x1ffc +001ff0 ec30 CALL 0x3860,0x0 if (gTmpClearAccs > 3u) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001ff2 f01c +001ff4 e202 BC 0x1ffa { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001ff8 ecde CALL 0x39bc,0x0 gTmpClearAccs = 3; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001ffa f01c +001ff6 ecf1 CALL 0x39e2,0x0 gTmpClearAccs = 3; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001ff8 f01c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // If not a timed move, check for legacy opposite direction support C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001ffc 0efe MOVLW 0xfe if (!TimedMove) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -001ffe 50db MOVF 0xdb,0x0,0x0 -002000 e126 BNZ 0x204e +001ffa 0efe MOVLW 0xfe if (!TimedMove) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +001ffc 50db MOVF 0xdb,0x0,0x0 +001ffe e128 BNZ 0x2050 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // Since we will only use the sign of Rate as the signal for initial C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // stepper direction, if the user has sent us negative step counts, we C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c @@ -9898,192 +9908,192 @@ Address Value Disassembly Source // acceleration too to compensate. After this step, the sign of rate completely C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // controls the direction. C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002002 010b MOVLB 0xb if (gTmpSteps1 < 0) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002004 0e80 MOVLW 0x80 -002006 1598 ANDWF 0x98,0x0,0x1 -002008 e00e BZ 0x2026 +002000 0101 MOVLB 0x1 if (gTmpSteps1 < 0) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002002 0e80 MOVLW 0x80 +002004 15d2 ANDWF 0xd2,0x0,0x1 +002006 e00f BZ 0x2026 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -00200a 0e80 MOVLW 0x80 if (gTmpRate1 < 0) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -00200c 1590 ANDWF 0x90,0x0,0x1 -00200e e111 BNZ 0x2032 +002008 0e80 MOVLW 0x80 if (gTmpRate1 < 0) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +00200a 15ca ANDWF 0xca,0x0,0x1 +00200c e112 BNZ 0x2032 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c bitset(error_byte, kERROR_BYTE_PARAMETER_OUTSIDE_LIMIT); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c return; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c else C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002010 ecdc CALL 0x3bb8,0x0 gTmpSteps1 = -gTmpSteps1; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002012 f01d -003bb8 0e00 MOVLW 0x0 -003bba 6d95 NEGF 0x95,0x1 -003bbc 1f96 COMF 0x96,0x1,0x1 -003bbe 2396 ADDWFC 0x96,0x1,0x1 -003bc0 1f97 COMF 0x97,0x1,0x1 -003bc2 2397 ADDWFC 0x97,0x1,0x1 -003bc4 1f98 COMF 0x98,0x1,0x1 -003bc6 2398 ADDWFC 0x98,0x1,0x1 -003bc8 0012 RETURN 0x0 -002014 6d8d NEGF 0x8d,0x1 gTmpRate1 = -gTmpRate1; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002016 1f8e COMF 0x8e,0x1,0x1 -002018 238e ADDWFC 0x8e,0x1,0x1 -00201a 1f8f COMF 0x8f,0x1,0x1 -00201c 238f ADDWFC 0x8f,0x1,0x1 -00201e 1f90 COMF 0x90,0x1,0x1 -002020 2390 ADDWFC 0x90,0x1,0x1 +00200e 0e00 MOVLW 0x0 gTmpSteps1 = -gTmpSteps1; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002010 ec86 CALL 0x3d0c,0x0 +002012 f01e +003d0c 6dcf NEGF 0xcf,0x1 +003d0e 1fd0 COMF 0xd0,0x1,0x1 +003d10 23d0 ADDWFC 0xd0,0x1,0x1 +003d12 1fd1 COMF 0xd1,0x1,0x1 +003d14 23d1 ADDWFC 0xd1,0x1,0x1 +003d16 1fd2 COMF 0xd2,0x1,0x1 +003d18 23d2 ADDWFC 0xd2,0x1,0x1 +003d1a 0012 RETURN 0x0 +002014 6dc7 NEGF 0xc7,0x1 gTmpRate1 = -gTmpRate1; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002016 1fc8 COMF 0xc8,0x1,0x1 +002018 23c8 ADDWFC 0xc8,0x1,0x1 +00201a 1fc9 COMF 0xc9,0x1,0x1 +00201c 23c9 ADDWFC 0xc9,0x1,0x1 +00201e 1fca COMF 0xca,0x1,0x1 +002020 23ca ADDWFC 0xca,0x1,0x1 002022 ec7e CALL 0x3cfc,0x0 gTmpAccel1 = -gTmpAccel1; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c 002024 f01e -003cfc 6d9d NEGF 0x9d,0x1 -003cfe 1f9e COMF 0x9e,0x1,0x1 -003d00 239e ADDWFC 0x9e,0x1,0x1 -003d02 1f9f COMF 0x9f,0x1,0x1 -003d04 239f ADDWFC 0x9f,0x1,0x1 -003d06 1fa0 COMF 0xa0,0x1,0x1 -003d08 23a0 ADDWFC 0xa0,0x1,0x1 +003cfc 6dd7 NEGF 0xd7,0x1 +003cfe 1fd8 COMF 0xd8,0x1,0x1 +003d00 23d8 ADDWFC 0xd8,0x1,0x1 +003d02 1fd9 COMF 0xd9,0x1,0x1 +003d04 23d9 ADDWFC 0xd9,0x1,0x1 +003d06 1fda COMF 0xda,0x1,0x1 +003d08 23da ADDWFC 0xda,0x1,0x1 003d0a 0012 RETURN 0x0 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c 002026 0e80 MOVLW 0x80 if (gTmpSteps2 < 0) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002028 159c ANDWF 0x9c,0x0,0x1 -00202a e011 BZ 0x204e +002028 15d6 ANDWF 0xd6,0x0,0x1 +00202a e012 BZ 0x2050 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c 00202c 0e80 MOVLW 0x80 if (gTmpRate2 < 0) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -00202e 1594 ANDWF 0x94,0x0,0x1 +00202e 15ce ANDWF 0xce,0x0,0x1 002030 e003 BZ 0x2038 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c 002032 0100 MOVLB 0x0 bitset(error_byte, kERROR_BYTE_PARAMETER_OUTSIDE_LIMIT); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c 002034 8d97 BSF 0x97,0x6,0x1 -002036 d1c2 BRA 0x23bc return; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002036 d1cc BRA 0x23d0 return; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c else C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002038 ece5 CALL 0x3bca,0x0 gTmpSteps2 = -gTmpSteps2; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -00203a f01d -003bca 0e00 MOVLW 0x0 -003bcc 6d99 NEGF 0x99,0x1 -003bce 1f9a COMF 0x9a,0x1,0x1 -003bd0 239a ADDWFC 0x9a,0x1,0x1 -003bd2 1f9b COMF 0x9b,0x1,0x1 -003bd4 239b ADDWFC 0x9b,0x1,0x1 -003bd6 1f9c COMF 0x9c,0x1,0x1 -003bd8 239c ADDWFC 0x9c,0x1,0x1 -003bda 0012 RETURN 0x0 -00203c 6d91 NEGF 0x91,0x1 gTmpRate2 = -gTmpRate2; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -00203e 1f92 COMF 0x92,0x1,0x1 -002040 2392 ADDWFC 0x92,0x1,0x1 -002042 1f93 COMF 0x93,0x1,0x1 -002044 2393 ADDWFC 0x93,0x1,0x1 -002046 1f94 COMF 0x94,0x1,0x1 -002048 2394 ADDWFC 0x94,0x1,0x1 -00204a ec86 CALL 0x3d0c,0x0 gTmpAccel2 = -gTmpAccel2; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -00204c f01e -003d0c 6da1 NEGF 0xa1,0x1 -003d0e 1fa2 COMF 0xa2,0x1,0x1 -003d10 23a2 ADDWFC 0xa2,0x1,0x1 -003d12 1fa3 COMF 0xa3,0x1,0x1 -003d14 23a3 ADDWFC 0xa3,0x1,0x1 -003d16 1fa4 COMF 0xa4,0x1,0x1 -003d18 23a4 ADDWFC 0xa4,0x1,0x1 -003d1a 0012 RETURN 0x0 +002038 0e00 MOVLW 0x0 gTmpSteps2 = -gTmpSteps2; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +00203a ec96 CALL 0x3d2c,0x0 +00203c f01e +003d2c 6dd3 NEGF 0xd3,0x1 +003d2e 1fd4 COMF 0xd4,0x1,0x1 +003d30 23d4 ADDWFC 0xd4,0x1,0x1 +003d32 1fd5 COMF 0xd5,0x1,0x1 +003d34 23d5 ADDWFC 0xd5,0x1,0x1 +003d36 1fd6 COMF 0xd6,0x1,0x1 +003d38 23d6 ADDWFC 0xd6,0x1,0x1 +003d3a 0012 RETURN 0x0 +00203e 6dcb NEGF 0xcb,0x1 gTmpRate2 = -gTmpRate2; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002040 1fcc COMF 0xcc,0x1,0x1 +002042 23cc ADDWFC 0xcc,0x1,0x1 +002044 1fcd COMF 0xcd,0x1,0x1 +002046 23cd ADDWFC 0xcd,0x1,0x1 +002048 1fce COMF 0xce,0x1,0x1 +00204a 23ce ADDWFC 0xce,0x1,0x1 +00204c ec8e CALL 0x3d1c,0x0 gTmpAccel2 = -gTmpAccel2; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +00204e f01e +003d1c 6ddb NEGF 0xdb,0x1 +003d1e 1fdc COMF 0xdc,0x1,0x1 +003d20 23dc ADDWFC 0xdc,0x1,0x1 +003d22 1fdd COMF 0xdd,0x1,0x1 +003d24 23dd ADDWFC 0xdd,0x1,0x1 +003d26 1fde COMF 0xde,0x1,0x1 +003d28 23de ADDWFC 0xde,0x1,0x1 +003d2a 0012 RETURN 0x0 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -00204e 010b MOVLB 0xb gMoveTemp.DirBits = 0; // Start by assuming motors start CW C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002050 6b25 CLRF 0x25,0x1 -002052 ece2 CALL 0x3dc4,0x0 gMoveTemp.DelayCounter = 0; // No delay for motor moves C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002054 f01e +002050 0101 MOVLB 0x1 gMoveTemp.DirBits = 0; // Start by assuming motors start CW C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002052 6b2a CLRF 0x2a,0x1 +002054 ecf2 CALL 0x3de4,0x0 gMoveTemp.DelayCounter = 0; // No delay for motor moves C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002056 f01e C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // Subtract off half of the Accel term and add 1/6th of the Jerk before we add the C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // move to the queue. Why? Because it makes the math cleaner (see LM command C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // documentation) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002056 ec01 CALL 0x3a02,0x0 gTmpRate1 = gTmpRate1 - (gTmpAccel1/2) + (gTmpJerk1/6); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002058 f01d -00205a 0e02 MOVLW 0x2 -00205c ec25 CALL 0x3a4a,0x0 -00205e f01d -002060 5029 MOVF 0x29,0x0,0x0 -002062 010b MOVLB 0xb -002064 5d8d SUBWF 0x8d,0x0,0x1 -002066 6e33 MOVWF 0x33,0x0 -002068 502a MOVF 0x2a,0x0,0x0 -00206a 598e SUBWFB 0x8e,0x0,0x1 -00206c 6e34 MOVWF 0x34,0x0 -00206e 502b MOVF 0x2b,0x0,0x0 -002070 598f SUBWFB 0x8f,0x0,0x1 -002072 6e35 MOVWF 0x35,0x0 -002074 502c MOVF 0x2c,0x0,0x0 -002076 5990 SUBWFB 0x90,0x0,0x1 -002078 6e36 MOVWF 0x36,0x0 -00207a cba5 MOVFF 0xba5,0x29 -00207c f029 -00207e cba6 MOVFF 0xba6,0x2a -002080 f02a -002082 cba7 MOVFF 0xba7,0x2b -002084 f02b -002086 cba8 MOVFF 0xba8,0x2c -002088 f02c -00208a 0e06 MOVLW 0x6 -00208c ec25 CALL 0x3a4a,0x0 -00208e f01d -002090 5033 MOVF 0x33,0x0,0x0 -002092 2429 ADDWF 0x29,0x0,0x0 -002094 010b MOVLB 0xb -002096 6f8d MOVWF 0x8d,0x1 -002098 5034 MOVF 0x34,0x0,0x0 -00209a 202a ADDWFC 0x2a,0x0,0x0 -00209c 6f8e MOVWF 0x8e,0x1 -00209e 5035 MOVF 0x35,0x0,0x0 -0020a0 202b ADDWFC 0x2b,0x0,0x0 -0020a2 6f8f MOVWF 0x8f,0x1 -0020a4 5036 MOVF 0x36,0x0,0x0 -0020a6 202c ADDWFC 0x2c,0x0,0x0 -0020a8 6f90 MOVWF 0x90,0x1 -0020aa ec0a CALL 0x3a14,0x0 gTmpRate2 = gTmpRate2 - (gTmpAccel2/2) + (gTmpJerk2/6); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0020ac f01d -0020ae 0e02 MOVLW 0x2 -0020b0 ec25 CALL 0x3a4a,0x0 -0020b2 f01d -0020b4 5029 MOVF 0x29,0x0,0x0 -0020b6 010b MOVLB 0xb -0020b8 5d91 SUBWF 0x91,0x0,0x1 -0020ba 6e33 MOVWF 0x33,0x0 -0020bc 502a MOVF 0x2a,0x0,0x0 -0020be 5992 SUBWFB 0x92,0x0,0x1 -0020c0 6e34 MOVWF 0x34,0x0 -0020c2 502b MOVF 0x2b,0x0,0x0 -0020c4 5993 SUBWFB 0x93,0x0,0x1 -0020c6 6e35 MOVWF 0x35,0x0 -0020c8 502c MOVF 0x2c,0x0,0x0 -0020ca 5994 SUBWFB 0x94,0x0,0x1 -0020cc 6e36 MOVWF 0x36,0x0 -0020ce cba9 MOVFF 0xba9,0x29 -0020d0 f029 -0020d2 cbaa MOVFF 0xbaa,0x2a -0020d4 f02a -0020d6 cbab MOVFF 0xbab,0x2b -0020d8 f02b -0020da cbac MOVFF 0xbac,0x2c -0020dc f02c -0020de 0e06 MOVLW 0x6 -0020e0 ec25 CALL 0x3a4a,0x0 -0020e2 f01d -0020e4 5033 MOVF 0x33,0x0,0x0 -0020e6 2429 ADDWF 0x29,0x0,0x0 -0020e8 010b MOVLB 0xb -0020ea 6f91 MOVWF 0x91,0x1 -0020ec 5034 MOVF 0x34,0x0,0x0 -0020ee 202a ADDWFC 0x2a,0x0,0x0 -0020f0 6f92 MOVWF 0x92,0x1 -0020f2 5035 MOVF 0x35,0x0,0x0 -0020f4 202b ADDWFC 0x2b,0x0,0x0 -0020f6 6f93 MOVWF 0x93,0x1 -0020f8 5036 MOVF 0x36,0x0,0x0 -0020fa 202c ADDWFC 0x2c,0x0,0x0 -0020fc 6f94 MOVWF 0x94,0x1 -003a4a eca4 CALL 0x4348,0x0 -003a4c f021 -003a4e ef9e GOTO 0x8f3c -003a50 f047 +002058 ec25 CALL 0x3a4a,0x0 gTmpRate1 = gTmpRate1 - (gTmpAccel1/2) + (gTmpJerk1/6); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +00205a f01d +00205c 0e02 MOVLW 0x2 +00205e ec49 CALL 0x3a92,0x0 +002060 f01d +002062 503d MOVF 0x3d,0x0,0x0 +002064 0101 MOVLB 0x1 +002066 5dc7 SUBWF 0xc7,0x0,0x1 +002068 6e47 MOVWF 0x47,0x0 +00206a 503e MOVF 0x3e,0x0,0x0 +00206c 59c8 SUBWFB 0xc8,0x0,0x1 +00206e 6e48 MOVWF 0x48,0x0 +002070 503f MOVF 0x3f,0x0,0x0 +002072 59c9 SUBWFB 0xc9,0x0,0x1 +002074 6e49 MOVWF 0x49,0x0 +002076 5040 MOVF 0x40,0x0,0x0 +002078 59ca SUBWFB 0xca,0x0,0x1 +00207a 6e4a MOVWF 0x4a,0x0 +00207c c1df MOVFF 0x1df,0x3d +00207e f03d +002080 c1e0 MOVFF 0x1e0,0x3e +002082 f03e +002084 c1e1 MOVFF 0x1e1,0x3f +002086 f03f +002088 c1e2 MOVFF 0x1e2,0x40 +00208a f040 +00208c 0e06 MOVLW 0x6 +00208e ec49 CALL 0x3a92,0x0 +002090 f01d +002092 5047 MOVF 0x47,0x0,0x0 +002094 243d ADDWF 0x3d,0x0,0x0 +002096 0101 MOVLB 0x1 +002098 6fc7 MOVWF 0xc7,0x1 +00209a 5048 MOVF 0x48,0x0,0x0 +00209c 203e ADDWFC 0x3e,0x0,0x0 +00209e 6fc8 MOVWF 0xc8,0x1 +0020a0 5049 MOVF 0x49,0x0,0x0 +0020a2 203f ADDWFC 0x3f,0x0,0x0 +0020a4 6fc9 MOVWF 0xc9,0x1 +0020a6 504a MOVF 0x4a,0x0,0x0 +0020a8 2040 ADDWFC 0x40,0x0,0x0 +0020aa 6fca MOVWF 0xca,0x1 +0020ac ec2e CALL 0x3a5c,0x0 gTmpRate2 = gTmpRate2 - (gTmpAccel2/2) + (gTmpJerk2/6); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +0020ae f01d +0020b0 0e02 MOVLW 0x2 +0020b2 ec49 CALL 0x3a92,0x0 +0020b4 f01d +0020b6 503d MOVF 0x3d,0x0,0x0 +0020b8 0101 MOVLB 0x1 +0020ba 5dcb SUBWF 0xcb,0x0,0x1 +0020bc 6e47 MOVWF 0x47,0x0 +0020be 503e MOVF 0x3e,0x0,0x0 +0020c0 59cc SUBWFB 0xcc,0x0,0x1 +0020c2 6e48 MOVWF 0x48,0x0 +0020c4 503f MOVF 0x3f,0x0,0x0 +0020c6 59cd SUBWFB 0xcd,0x0,0x1 +0020c8 6e49 MOVWF 0x49,0x0 +0020ca 5040 MOVF 0x40,0x0,0x0 +0020cc 59ce SUBWFB 0xce,0x0,0x1 +0020ce 6e4a MOVWF 0x4a,0x0 +0020d0 c1e3 MOVFF 0x1e3,0x3d +0020d2 f03d +0020d4 c1e4 MOVFF 0x1e4,0x3e +0020d6 f03e +0020d8 c1e5 MOVFF 0x1e5,0x3f +0020da f03f +0020dc c1e6 MOVFF 0x1e6,0x40 +0020de f040 +0020e0 0e06 MOVLW 0x6 +0020e2 ec49 CALL 0x3a92,0x0 +0020e4 f01d +0020e6 5047 MOVF 0x47,0x0,0x0 +0020e8 243d ADDWF 0x3d,0x0,0x0 +0020ea 0101 MOVLB 0x1 +0020ec 6fcb MOVWF 0xcb,0x1 +0020ee 5048 MOVF 0x48,0x0,0x0 +0020f0 203e ADDWFC 0x3e,0x0,0x0 +0020f2 6fcc MOVWF 0xcc,0x1 +0020f4 5049 MOVF 0x49,0x0,0x0 +0020f6 203f ADDWFC 0x3f,0x0,0x0 +0020f8 6fcd MOVWF 0xcd,0x1 +0020fa 504a MOVF 0x4a,0x0,0x0 +0020fc 2040 ADDWFC 0x40,0x0,0x0 +0020fe 6fce MOVWF 0xce,0x1 +003a92 ecb2 CALL 0x4364,0x0 +003a94 f021 +003a96 efac GOTO 0x8f58 +003a98 f047 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // We will use the SEState move parameter to hold a bitfield. This bitfield C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // will tell the ISR if the accumulators need any special treatment when C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c @@ -10093,29 +10103,30 @@ Address Value Disassembly Source // if so, we need the FIFO to set the accumulator to 2^31-1 before C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // as the command is loaded. So we use two bits in SEState to indicate C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // this. C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0020fe 6b2a CLRF 0x2a,0x1 gMoveTemp.SEState = 0; // Start with all bits clear C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002100 0101 MOVLB 0x1 gMoveTemp.SEState = 0; // Start with all bits clear C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002102 6b2f CLRF 0x2f,0x1 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002100 a409 BTFSS 0x9,0x2,0x0 if (bittst(TestMode, TEST_MODE_USART_ISR_BIT_NUM)) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002102 d02c BRA 0x215c +002104 a409 BTFSS 0x9,0x2,0x0 if (bittst(TestMode, TEST_MODE_USART_ISR_BIT_NUM)) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002106 d02e BRA 0x2164 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // If the ISR_BIT_NUM test mode is on, then interpret the Clear parameter C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // as the initial value for the accumulator. C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002104 0efd MOVLW 0xfd if (ClearRet == kEXTRACT_OK) // We got a Clear parameter C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002106 50db MOVF 0xdb,0x0,0x0 -002108 e10b BNZ 0x2120 +002108 0efd MOVLW 0xfd if (ClearRet == kEXTRACT_OK) // We got a Clear parameter C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +00210a 50db MOVF 0xdb,0x0,0x0 +00210c e10b BNZ 0x2124 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -00210a 0e10 MOVLW 0x10 gMoveTemp.SEState = SESTATE_ARBITRARY_ACC_BIT; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -00210c 6f2a MOVWF 0x2a,0x1 -00210e cbad MOVFF 0xbad,0xb26 gMoveTemp.DelayCounter = gTmpClearAccs; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002110 fb26 -002112 cbae MOVFF 0xbae,0xb27 -002114 fb27 -002116 cbaf MOVFF 0xbaf,0xb28 -002118 fb28 -00211a cbb0 MOVFF 0xbb0,0xb29 -00211c fb29 +00210e 0e10 MOVLW 0x10 gMoveTemp.SEState = SESTATE_ARBITRARY_ACC_BIT; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002110 6f2f MOVWF 0x2f,0x1 +002112 c1e7 MOVFF 0x1e7,0x12b gMoveTemp.DelayCounter = gTmpClearAccs; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002114 f12b +002116 c1e8 MOVFF 0x1e8,0x12c +002118 f12c +00211a c1e9 MOVFF 0x1e9,0x12d +00211c f12d +00211e c1ea MOVFF 0x1ea,0x12e +002120 f12e } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -00211e d080 BRA 0x2220 else C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002122 d087 BRA 0x2232 else C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // But if we didn't get a Clear parameter, then treat it as if the user C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // wants the accumulator cleared C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c @@ -10125,290 +10136,296 @@ Address Value Disassembly Source // parsed) to figure out if we need to negate the accumulator (i.e. start from C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // 0x7FFFFFFFUL). Since this is common to LM/LT/L3/T3, and once for each axis, C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // it gets its own function. C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002120 ec88 CALL 0x3f10,0x0 NeedNegativeAccumulator = FALSE; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002122 f01f -003f10 0e04 MOVLW 0x4 -003f12 6adb CLRF 0xdb,0x0 +002124 ec8e CALL 0x3f1c,0x0 NeedNegativeAccumulator = FALSE; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002126 f01f +003f1c 0e04 MOVLW 0x4 +003f1e 6adb CLRF 0xdb,0x0 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -003f14 df5c RCALL 0x3dce RateTemp = gTmpRate1 + gTmpAccel1; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -003f16 518d MOVF 0x8d,0x0,0x1 -003f18 24ee ADDWF 0xee,0x0,0x0 -003f1a 6e33 MOVWF 0x33,0x0 -003f1c 518e MOVF 0x8e,0x0,0x1 -003f1e 20ee ADDWFC 0xee,0x0,0x0 -003f20 6e34 MOVWF 0x34,0x0 -003f22 518f MOVF 0x8f,0x0,0x1 -003f24 20ee ADDWFC 0xee,0x0,0x0 -003f26 6e35 MOVWF 0x35,0x0 -003f28 5190 MOVF 0x90,0x0,0x1 -003f2a ef4a GOTO 0x3694 -003f2c f01b -002124 e602 BN 0x212a if (RateTemp < 0) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002126 ecfe CALL 0x37fc,0x0 -002128 f01b -00212a e30f BNC 0x214a +003f20 df66 RCALL 0x3dee RateTemp = gTmpRate1 + gTmpAccel1; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +003f22 0101 MOVLB 0x1 +003f24 51c7 MOVF 0xc7,0x0,0x1 +003f26 24ee ADDWF 0xee,0x0,0x0 +003f28 6e47 MOVWF 0x47,0x0 +003f2a 51c8 MOVF 0xc8,0x0,0x1 +003f2c 20ee ADDWFC 0xee,0x0,0x0 +003f2e 6e48 MOVWF 0x48,0x0 +003f30 51c9 MOVF 0xc9,0x0,0x1 +003f32 20ee ADDWFC 0xee,0x0,0x0 +003f34 6e49 MOVWF 0x49,0x0 +003f36 51ca MOVF 0xca,0x0,0x1 +003f38 ef5d GOTO 0x36ba +003f3a f01b +002128 e602 BN 0x212e if (RateTemp < 0) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +00212a ec11 CALL 0x3822,0x0 +00212c f01c +00212e e30f BNC 0x214e { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c NeedNegativeAccumulator = TRUE; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c else C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -00212c ec78 CALL 0x36f0,0x0 if (RateTemp == 0) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -00212e f01b -002130 e10e BNZ 0x214e +002130 ec8b CALL 0x3716,0x0 if (RateTemp == 0) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002132 f01b +002134 e10e BNZ 0x2152 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002132 ecc0 CALL 0x3f80,0x0 RateTemp = gTmpAccel1 + gTmpJerk1; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002134 f01f -003f80 df2b RCALL 0x3dd8 -003f82 519d MOVF 0x9d,0x0,0x1 -003f84 24ee ADDWF 0xee,0x0,0x0 -003f86 6e33 MOVWF 0x33,0x0 -003f88 519e MOVF 0x9e,0x0,0x1 -003f8a 20ee ADDWFC 0xee,0x0,0x0 -003f8c 6e34 MOVWF 0x34,0x0 -003f8e 519f MOVF 0x9f,0x0,0x1 -003f90 20ee ADDWFC 0xee,0x0,0x0 -003f92 6e35 MOVWF 0x35,0x0 -003f94 51a0 MOVF 0xa0,0x0,0x1 -003f96 ef4a GOTO 0x3694 -003f98 f01b -002136 e602 BN 0x213c if (RateTemp < 0) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002138 ecfe CALL 0x37fc,0x0 -00213a f01b -00213c e306 BNC 0x214a +002136 ecd1 CALL 0x3fa2,0x0 RateTemp = gTmpAccel1 + gTmpJerk1; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002138 f01f +003fa2 df2a RCALL 0x3df8 +003fa4 51d7 MOVF 0xd7,0x0,0x1 +003fa6 24ee ADDWF 0xee,0x0,0x0 +003fa8 6e47 MOVWF 0x47,0x0 +003faa 51d8 MOVF 0xd8,0x0,0x1 +003fac 20ee ADDWFC 0xee,0x0,0x0 +003fae 6e48 MOVWF 0x48,0x0 +003fb0 51d9 MOVF 0xd9,0x0,0x1 +003fb2 20ee ADDWFC 0xee,0x0,0x0 +003fb4 6e49 MOVWF 0x49,0x0 +003fb6 51da MOVF 0xda,0x0,0x1 +003fb8 ef5d GOTO 0x36ba +003fba f01b +00213a e602 BN 0x2140 if (RateTemp < 0) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +00213c ec11 CALL 0x3822,0x0 +00213e f01c +002140 e306 BNC 0x214e { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c NeedNegativeAccumulator = TRUE; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c else C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -00213e ec78 CALL 0x36f0,0x0 if (RateTemp == 0) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002140 f01b -002142 e105 BNZ 0x214e +002142 ec8b CALL 0x3716,0x0 if (RateTemp == 0) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002144 f01b +002146 e105 BNZ 0x2152 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002144 0e80 MOVLW 0x80 if (gTmpJerk1 < 0) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002146 15a8 ANDWF 0xa8,0x0,0x1 -002148 e002 BZ 0x214e +002148 0e80 MOVLW 0x80 if (gTmpJerk1 < 0) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +00214a 15e2 ANDWF 0xe2,0x0,0x1 +00214c e002 BZ 0x2152 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -00214a ec57 CALL 0x3cae,0x0 NeedNegativeAccumulator = TRUE; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -00214c f01e +00214e ec57 CALL 0x3cae,0x0 NeedNegativeAccumulator = TRUE; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002150 f01e } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -00214e 0e04 MOVLW 0x4 if (NeedNegativeAccumulator) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002150 50db MOVF 0xdb,0x0,0x0 -002152 e002 BZ 0x2158 +002152 0e04 MOVLW 0x4 if (NeedNegativeAccumulator) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002154 50db MOVF 0xdb,0x0,0x0 +002156 e003 BZ 0x215e { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002154 852a BSF 0x2a,0x2,0x1 gMoveTemp.SEState |= SESTATE_NEGATE_ACC1_BIT; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002158 0101 MOVLB 0x1 gMoveTemp.SEState |= SESTATE_NEGATE_ACC1_BIT; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +00215a 852f BSF 0x2f,0x2,0x1 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002156 d064 BRA 0x2220 else C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +00215c d06a BRA 0x2232 else C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002158 812a BSF 0x2a,0x0,0x1 gMoveTemp.SEState |= SESTATE_CLEAR_ACC1_BIT; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +00215e 0101 MOVLB 0x1 gMoveTemp.SEState |= SESTATE_CLEAR_ACC1_BIT; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002160 812f BSF 0x2f,0x0,0x1 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -00215a d062 BRA 0x2220 else C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002162 d067 BRA 0x2232 else C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // Test mode not active, so just check Clear parameter bits 0 and 1 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // to see if user wants to start move with cleared accumulator. If so, C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // check for need to invert accumulator when move loaded into FIFO. C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -00215c cbad MOVFF 0xbad,0x33 if (gTmpClearAccs & 0x01) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -00215e f033 -002160 0e01 MOVLW 0x1 -002162 ecee CALL 0x3bdc,0x0 -002164 f01d -002166 e01d BZ 0x21a2 -003bdc 1633 ANDWF 0x33,0x1,0x0 -003bde 6a34 CLRF 0x34,0x0 -003be0 6a35 CLRF 0x35,0x0 -003be2 6a36 CLRF 0x36,0x0 -003be4 5033 MOVF 0x33,0x0,0x0 -003be6 1034 IORWF 0x34,0x0,0x0 -003be8 1035 IORWF 0x35,0x0,0x0 -003bea 1036 IORWF 0x36,0x0,0x0 +002164 c1e7 MOVFF 0x1e7,0x47 if (gTmpClearAccs & 0x01) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002166 f047 +002168 0e01 MOVLW 0x1 +00216a ecee CALL 0x3bdc,0x0 +00216c f01d +00216e e01f BZ 0x21ae +003bdc 1647 ANDWF 0x47,0x1,0x0 +003bde 6a48 CLRF 0x48,0x0 +003be0 6a49 CLRF 0x49,0x0 +003be2 6a4a CLRF 0x4a,0x0 +003be4 5047 MOVF 0x47,0x0,0x0 +003be6 1048 IORWF 0x48,0x0,0x0 +003be8 1049 IORWF 0x49,0x0,0x0 +003bea 104a IORWF 0x4a,0x0,0x0 003bec 0012 RETURN 0x0 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002168 ec88 CALL 0x3f10,0x0 NeedNegativeAccumulator = FALSE; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -00216a f01f +002170 ec8e CALL 0x3f1c,0x0 NeedNegativeAccumulator = FALSE; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002172 f01f C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -003dce 0e9d MOVLW 0x9d RateTemp = gTmpRate1 + gTmpAccel1; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -003dd0 6ee9 MOVWF 0xe9,0x0 -003dd2 0e0b MOVLW 0xb -003dd4 6eea MOVWF 0xea,0x0 -003dd6 0012 RETURN 0x0 -00216c e602 BN 0x2172 if (RateTemp < 0) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -00216e ecfe CALL 0x37fc,0x0 -002170 f01b -002172 e30f BNC 0x2192 +003dee 0ed7 MOVLW 0xd7 RateTemp = gTmpRate1 + gTmpAccel1; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +003df0 6ee9 MOVWF 0xe9,0x0 +003df2 0e01 MOVLW 0x1 +003df4 6eea MOVWF 0xea,0x0 +003df6 0012 RETURN 0x0 +002174 e602 BN 0x217a if (RateTemp < 0) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002176 ec11 CALL 0x3822,0x0 +002178 f01c +00217a e30f BNC 0x219a { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c NeedNegativeAccumulator = TRUE; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c else C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002174 ec78 CALL 0x36f0,0x0 if (RateTemp == 0) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002176 f01b -002178 e10e BNZ 0x2196 +00217c ec8b CALL 0x3716,0x0 if (RateTemp == 0) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +00217e f01b +002180 e10e BNZ 0x219e { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -00217a ecc0 CALL 0x3f80,0x0 RateTemp = gTmpAccel1 + gTmpJerk1; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -00217c f01f -003dd8 0ea5 MOVLW 0xa5 -003dda 6ee9 MOVWF 0xe9,0x0 -003ddc 0e0b MOVLW 0xb -003dde 6eea MOVWF 0xea,0x0 -003de0 0012 RETURN 0x0 -00217e e602 BN 0x2184 if (RateTemp < 0) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002180 ecfe CALL 0x37fc,0x0 -002182 f01b -002184 e306 BNC 0x2192 +002182 ecd1 CALL 0x3fa2,0x0 RateTemp = gTmpAccel1 + gTmpJerk1; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002184 f01f +003df8 0edf MOVLW 0xdf +003dfa 6ee9 MOVWF 0xe9,0x0 +003dfc 0e01 MOVLW 0x1 +003dfe 6eea MOVWF 0xea,0x0 +003e00 0012 RETURN 0x0 +002186 e602 BN 0x218c if (RateTemp < 0) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002188 ec11 CALL 0x3822,0x0 +00218a f01c +00218c e306 BNC 0x219a { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c NeedNegativeAccumulator = TRUE; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c else C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002186 ec78 CALL 0x36f0,0x0 if (RateTemp == 0) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002188 f01b -00218a e105 BNZ 0x2196 +00218e ec8b CALL 0x3716,0x0 if (RateTemp == 0) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002190 f01b +002192 e105 BNZ 0x219e { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -00218c 0e80 MOVLW 0x80 if (gTmpJerk1 < 0) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -00218e 15a8 ANDWF 0xa8,0x0,0x1 -002190 e002 BZ 0x2196 +002194 0e80 MOVLW 0x80 if (gTmpJerk1 < 0) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002196 15e2 ANDWF 0xe2,0x0,0x1 +002198 e002 BZ 0x219e { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002192 ec57 CALL 0x3cae,0x0 NeedNegativeAccumulator = TRUE; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002194 f01e +00219a ec57 CALL 0x3cae,0x0 NeedNegativeAccumulator = TRUE; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +00219c f01e } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002196 0e04 MOVLW 0x4 if (NeedNegativeAccumulator) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002198 50db MOVF 0xdb,0x0,0x0 -00219a e002 BZ 0x21a0 +00219e 0e04 MOVLW 0x4 if (NeedNegativeAccumulator) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +0021a0 50db MOVF 0xdb,0x0,0x0 +0021a2 e003 BZ 0x21aa { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -00219c 852a BSF 0x2a,0x2,0x1 gMoveTemp.SEState |= SESTATE_NEGATE_ACC1_BIT; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +0021a4 0101 MOVLB 0x1 gMoveTemp.SEState |= SESTATE_NEGATE_ACC1_BIT; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +0021a6 852f BSF 0x2f,0x2,0x1 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -00219e d001 BRA 0x21a2 else C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +0021a8 d002 BRA 0x21ae else C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0021a0 812a BSF 0x2a,0x0,0x1 gMoveTemp.SEState |= SESTATE_CLEAR_ACC1_BIT; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +0021aa 0101 MOVLB 0x1 gMoveTemp.SEState |= SESTATE_CLEAR_ACC1_BIT; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +0021ac 812f BSF 0x2f,0x0,0x1 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0021a2 cbad MOVFF 0xbad,0x33 if (gTmpClearAccs & 0x02) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0021a4 f033 -0021a6 0e02 MOVLW 0x2 -0021a8 ecee CALL 0x3bdc,0x0 -0021aa f01d -0021ac e039 BZ 0x2220 +0021ae c1e7 MOVFF 0x1e7,0x47 if (gTmpClearAccs & 0x02) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +0021b0 f047 +0021b2 0e02 MOVLW 0x2 +0021b4 ecee CALL 0x3bdc,0x0 +0021b6 f01d +0021b8 e03c BZ 0x2232 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0021ae 0e04 MOVLW 0x4 NeedNegativeAccumulator = FALSE; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0021b0 6adb CLRF 0xdb,0x0 +0021ba 0e04 MOVLW 0x4 NeedNegativeAccumulator = FALSE; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +0021bc 6adb CLRF 0xdb,0x0 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0021b2 ecf1 CALL 0x3de2,0x0 RateTemp = gTmpRate2 + gTmpAccel2; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0021b4 f01e -0021b6 5191 MOVF 0x91,0x0,0x1 -0021b8 24ee ADDWF 0xee,0x0,0x0 -0021ba 6e33 MOVWF 0x33,0x0 -0021bc 5192 MOVF 0x92,0x0,0x1 -0021be 20ee ADDWFC 0xee,0x0,0x0 -0021c0 6e34 MOVWF 0x34,0x0 -0021c2 5193 MOVF 0x93,0x0,0x1 -0021c4 20ee ADDWFC 0xee,0x0,0x0 -0021c6 6e35 MOVWF 0x35,0x0 -0021c8 5194 MOVF 0x94,0x0,0x1 -0021ca ec4a CALL 0x3694,0x0 -0021cc f01b -0021ce e602 BN 0x21d4 if (RateTemp < 0) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0021d0 ecfe CALL 0x37fc,0x0 -0021d2 f01b -0021d4 e31d BNC 0x2210 +0021be ec01 CALL 0x3e02,0x0 RateTemp = gTmpRate2 + gTmpAccel2; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +0021c0 f01f +0021c2 0101 MOVLB 0x1 +0021c4 51cb MOVF 0xcb,0x0,0x1 +0021c6 24ee ADDWF 0xee,0x0,0x0 +0021c8 6e47 MOVWF 0x47,0x0 +0021ca 51cc MOVF 0xcc,0x0,0x1 +0021cc 20ee ADDWFC 0xee,0x0,0x0 +0021ce 6e48 MOVWF 0x48,0x0 +0021d0 51cd MOVF 0xcd,0x0,0x1 +0021d2 20ee ADDWFC 0xee,0x0,0x0 +0021d4 6e49 MOVWF 0x49,0x0 +0021d6 51ce MOVF 0xce,0x0,0x1 +0021d8 ec5d CALL 0x36ba,0x0 +0021da f01b +0021dc e602 BN 0x21e2 if (RateTemp < 0) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +0021de ec11 CALL 0x3822,0x0 +0021e0 f01c +0021e2 e31d BNC 0x221e { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c NeedNegativeAccumulator = TRUE; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c else C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0021d6 ec78 CALL 0x36f0,0x0 if (RateTemp == 0) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0021d8 f01b -0021da e11c BNZ 0x2214 +0021e4 ec8b CALL 0x3716,0x0 if (RateTemp == 0) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +0021e6 f01b +0021e8 e11c BNZ 0x2222 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0021dc 0ea9 MOVLW 0xa9 RateTemp = gTmpAccel2 + gTmpJerk2; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0021de 6ee9 MOVWF 0xe9,0x0 -0021e0 0e0b MOVLW 0xb -0021e2 6eea MOVWF 0xea,0x0 -0021e4 51a1 MOVF 0xa1,0x0,0x1 -0021e6 24ee ADDWF 0xee,0x0,0x0 -0021e8 6e33 MOVWF 0x33,0x0 -0021ea 51a2 MOVF 0xa2,0x0,0x1 -0021ec 20ee ADDWFC 0xee,0x0,0x0 -0021ee 6e34 MOVWF 0x34,0x0 -0021f0 51a3 MOVF 0xa3,0x0,0x1 -0021f2 20ee ADDWFC 0xee,0x0,0x0 -0021f4 6e35 MOVWF 0x35,0x0 -0021f6 51a4 MOVF 0xa4,0x0,0x1 -0021f8 ec4a CALL 0x3694,0x0 -0021fa f01b -003694 20ee ADDWFC 0xee,0x0,0x0 -003696 6e36 MOVWF 0x36,0x0 -003698 c033 MOVFF 0x33,0xfdf -00369a ffdf -00369c 0e01 MOVLW 0x1 -00369e c034 MOVFF 0x34,0xfdb -0036a0 ffdb -0036a2 0e02 MOVLW 0x2 -0036a4 c035 MOVFF 0x35,0xfdb -0036a6 ffdb -0036a8 0e03 MOVLW 0x3 -0036aa c036 MOVFF 0x36,0xfdb -0036ac ffdb -0021fc e602 BN 0x2202 if (RateTemp < 0) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0021fe ecfe CALL 0x37fc,0x0 -002200 f01b -002202 e306 BNC 0x2210 -0036ae ec4e CALL 0x429c,0x0 -0036b0 f021 -0036b2 90d8 BCF 0xd8,0x0,0x0 -0036b4 50eb MOVF 0xeb,0x0,0x0 -0036b6 0a00 XORLW 0x0 -0036b8 0012 RETURN 0x0 -0037fc 0e00 MOVLW 0x0 -0037fe 5cee SUBWF 0xee,0x0,0x0 -003800 0e00 MOVLW 0x0 -003802 58ee SUBWFB 0xee,0x0,0x0 -003804 0e00 MOVLW 0x0 -003806 58ee SUBWFB 0xee,0x0,0x0 -003808 0e00 MOVLW 0x0 -00380a 58ee SUBWFB 0xee,0x0,0x0 -00380c 0012 RETURN 0x0 +0021ea 0ee3 MOVLW 0xe3 RateTemp = gTmpAccel2 + gTmpJerk2; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +0021ec 6ee9 MOVWF 0xe9,0x0 +0021ee 0e01 MOVLW 0x1 +0021f0 6eea MOVWF 0xea,0x0 +0021f2 51db MOVF 0xdb,0x0,0x1 +0021f4 24ee ADDWF 0xee,0x0,0x0 +0021f6 6e47 MOVWF 0x47,0x0 +0021f8 51dc MOVF 0xdc,0x0,0x1 +0021fa 20ee ADDWFC 0xee,0x0,0x0 +0021fc 6e48 MOVWF 0x48,0x0 +0021fe 51dd MOVF 0xdd,0x0,0x1 +002200 20ee ADDWFC 0xee,0x0,0x0 +002202 6e49 MOVWF 0x49,0x0 +002204 51de MOVF 0xde,0x0,0x1 +002206 ec5d CALL 0x36ba,0x0 +002208 f01b +0036ba 20ee ADDWFC 0xee,0x0,0x0 +0036bc 6e4a MOVWF 0x4a,0x0 +0036be c047 MOVFF 0x47,0xfdf +0036c0 ffdf +0036c2 0e01 MOVLW 0x1 +0036c4 c048 MOVFF 0x48,0xfdb +0036c6 ffdb +0036c8 0e02 MOVLW 0x2 +0036ca c049 MOVFF 0x49,0xfdb +0036cc ffdb +0036ce 0e03 MOVLW 0x3 +0036d0 c04a MOVFF 0x4a,0xfdb +0036d2 ffdb +00220a e602 BN 0x2210 if (RateTemp < 0) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +00220c ec11 CALL 0x3822,0x0 +00220e f01c +002210 e306 BNC 0x221e +0036d4 ec5f CALL 0x42be,0x0 +0036d6 f021 +0036d8 90d8 BCF 0xd8,0x0,0x0 +0036da 50eb MOVF 0xeb,0x0,0x0 +0036dc 0a00 XORLW 0x0 +0036de 0012 RETURN 0x0 +003822 0e00 MOVLW 0x0 +003824 5cee SUBWF 0xee,0x0,0x0 +003826 0e00 MOVLW 0x0 +003828 58ee SUBWFB 0xee,0x0,0x0 +00382a 0e00 MOVLW 0x0 +00382c 58ee SUBWFB 0xee,0x0,0x0 +00382e 0e00 MOVLW 0x0 +003830 58ee SUBWFB 0xee,0x0,0x0 +003832 0012 RETURN 0x0 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c NeedNegativeAccumulator = TRUE; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c else C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002204 ec78 CALL 0x36f0,0x0 if (RateTemp == 0) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002206 f01b -002208 e105 BNZ 0x2214 -0036f0 ec4e CALL 0x429c,0x0 -0036f2 f021 -0036f4 cfee MOVFF 0xfee,0x33 -0036f6 f033 -0036f8 cfee MOVFF 0xfee,0x34 -0036fa f034 -0036fc cfee MOVFF 0xfee,0x35 -0036fe f035 -003700 cfef MOVFF 0xfef,0x36 -003702 f036 -003704 5033 MOVF 0x33,0x0,0x0 -003706 1034 IORWF 0x34,0x0,0x0 -003708 1035 IORWF 0x35,0x0,0x0 -00370a 1036 IORWF 0x36,0x0,0x0 -00370c 0012 RETURN 0x0 +002212 ec8b CALL 0x3716,0x0 if (RateTemp == 0) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002214 f01b +002216 e105 BNZ 0x2222 +003716 ec5f CALL 0x42be,0x0 +003718 f021 +00371a cfee MOVFF 0xfee,0x47 +00371c f047 +00371e cfee MOVFF 0xfee,0x48 +003720 f048 +003722 cfee MOVFF 0xfee,0x49 +003724 f049 +003726 cfef MOVFF 0xfef,0x4a +003728 f04a +00372a 5047 MOVF 0x47,0x0,0x0 +00372c 1048 IORWF 0x48,0x0,0x0 +00372e 1049 IORWF 0x49,0x0,0x0 +003730 104a IORWF 0x4a,0x0,0x0 +003732 0012 RETURN 0x0 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -00220a 0e80 MOVLW 0x80 if (gTmpJerk2 < 0) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -00220c 15ac ANDWF 0xac,0x0,0x1 -00220e e002 BZ 0x2214 +002218 0e80 MOVLW 0x80 if (gTmpJerk2 < 0) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +00221a 15e6 ANDWF 0xe6,0x0,0x1 +00221c e002 BZ 0x2222 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002210 ec57 CALL 0x3cae,0x0 NeedNegativeAccumulator = TRUE; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002212 f01e +00221e ec57 CALL 0x3cae,0x0 NeedNegativeAccumulator = TRUE; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002220 f01e 003cae 0e01 MOVLW 0x1 003cb0 6ef3 MOVWF 0xf3,0x0 003cb2 0e04 MOVLW 0x4 @@ -10421,448 +10438,451 @@ Address Value Disassembly Source } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002214 0e04 MOVLW 0x4 if (NeedNegativeAccumulator) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002216 50db MOVF 0xdb,0x0,0x0 -002218 e002 BZ 0x221e +002222 0e04 MOVLW 0x4 if (NeedNegativeAccumulator) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002224 50db MOVF 0xdb,0x0,0x0 +002226 e003 BZ 0x222e { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -00221a 872a BSF 0x2a,0x3,0x1 gMoveTemp.SEState |= SESTATE_NEGATE_ACC2_BIT; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002228 0101 MOVLB 0x1 gMoveTemp.SEState |= SESTATE_NEGATE_ACC2_BIT; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +00222a 872f BSF 0x2f,0x3,0x1 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -00221c d001 BRA 0x2220 else C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +00222c d002 BRA 0x2232 else C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -00221e 832a BSF 0x2a,0x1,0x1 gMoveTemp.SEState |= SESTATE_CLEAR_ACC2_BIT; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +00222e 0101 MOVLB 0x1 gMoveTemp.SEState |= SESTATE_CLEAR_ACC2_BIT; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002230 832f BSF 0x2f,0x1,0x1 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002220 ecec CALL 0x3dd8,0x0 gTmpAccel1 = gTmpAccel1 - gTmpJerk1; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002222 f01e -002224 50ee MOVF 0xee,0x0,0x0 -002226 5d9d SUBWF 0x9d,0x0,0x1 -002228 6f9d MOVWF 0x9d,0x1 -00222a 50ee MOVF 0xee,0x0,0x0 -00222c 599e SUBWFB 0x9e,0x0,0x1 -00222e 6f9e MOVWF 0x9e,0x1 -002230 50ee MOVF 0xee,0x0,0x0 -002232 599f SUBWFB 0x9f,0x0,0x1 -002234 6f9f MOVWF 0x9f,0x1 +002232 ecfc CALL 0x3df8,0x0 gTmpAccel1 = gTmpAccel1 - gTmpJerk1; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002234 f01e 002236 50ee MOVF 0xee,0x0,0x0 -002238 59a0 SUBWFB 0xa0,0x0,0x1 -00223a 6fa0 MOVWF 0xa0,0x1 -00223c 0ea9 MOVLW 0xa9 gTmpAccel2 = gTmpAccel2 - gTmpJerk2; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -00223e 6ee9 MOVWF 0xe9,0x0 -002240 0e0b MOVLW 0xb -002242 6eea MOVWF 0xea,0x0 +002238 0101 MOVLB 0x1 +00223a 5dd7 SUBWF 0xd7,0x0,0x1 +00223c 6fd7 MOVWF 0xd7,0x1 +00223e 50ee MOVF 0xee,0x0,0x0 +002240 59d8 SUBWFB 0xd8,0x0,0x1 +002242 6fd8 MOVWF 0xd8,0x1 002244 50ee MOVF 0xee,0x0,0x0 -002246 5da1 SUBWF 0xa1,0x0,0x1 -002248 6fa1 MOVWF 0xa1,0x1 +002246 59d9 SUBWFB 0xd9,0x0,0x1 +002248 6fd9 MOVWF 0xd9,0x1 00224a 50ee MOVF 0xee,0x0,0x0 -00224c 59a2 SUBWFB 0xa2,0x0,0x1 -00224e 6fa2 MOVWF 0xa2,0x1 -002250 50ee MOVF 0xee,0x0,0x0 -002252 59a3 SUBWFB 0xa3,0x0,0x1 -002254 6fa3 MOVWF 0xa3,0x1 -002256 50ee MOVF 0xee,0x0,0x0 -002258 59a4 SUBWFB 0xa4,0x0,0x1 -00225a 6fa4 MOVWF 0xa4,0x1 +00224c 59da SUBWFB 0xda,0x0,0x1 +00224e 6fda MOVWF 0xda,0x1 +002250 0ee3 MOVLW 0xe3 gTmpAccel2 = gTmpAccel2 - gTmpJerk2; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002252 6ee9 MOVWF 0xe9,0x0 +002254 0e01 MOVLW 0x1 +002256 6eea MOVWF 0xea,0x0 +002258 50ee MOVF 0xee,0x0,0x0 +00225a 5ddb SUBWF 0xdb,0x0,0x1 +00225c 6fdb MOVWF 0xdb,0x1 +00225e 50ee MOVF 0xee,0x0,0x0 +002260 59dc SUBWFB 0xdc,0x0,0x1 +002262 6fdc MOVWF 0xdc,0x1 +002264 50ee MOVF 0xee,0x0,0x0 +002266 59dd SUBWFB 0xdd,0x0,0x1 +002268 6fdd MOVWF 0xdd,0x1 +00226a 50ee MOVF 0xee,0x0,0x0 +00226c 59de SUBWFB 0xde,0x0,0x1 +00226e 6fde MOVWF 0xde,0x1 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -00225c 0100 MOVLB 0x0 if (gAutomaticMotorEnable == TRUE) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -00225e 05d9 DECF 0xd9,0x0,0x1 -002260 e102 BNZ 0x2266 +002270 0100 MOVLB 0x0 if (gAutomaticMotorEnable == TRUE) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002272 05d9 DECF 0xd9,0x0,0x1 +002274 e102 BNZ 0x227a { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // Enable both motors when we want to move them C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // (To be more logical this should happen in the ISR when this move C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // is loaded rather than here.) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002262 908d BCF 0x8d,0x0,0x0 Enable1IO = ENABLE_MOTOR; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002264 928b BCF 0x8b,0x1,0x0 Enable2IO = ENABLE_MOTOR; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002276 908d BCF 0x8d,0x0,0x0 Enable1IO = ENABLE_MOTOR; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002278 928b BCF 0x8b,0x1,0x0 Enable2IO = ENABLE_MOTOR; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // Load up the move structure with all needed values C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002266 cb8d MOVFF 0xb8d,0xb2b gMoveTemp.Rate[0].value = gTmpRate1; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002268 fb2b -00226a cb8e MOVFF 0xb8e,0xb2c -00226c fb2c -00226e cb8f MOVFF 0xb8f,0xb2d -002270 fb2d -002272 cb90 MOVFF 0xb90,0xb2e -002274 fb2e -002276 0efe MOVLW 0xfe if (TimedMove) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002278 50db MOVF 0xdb,0x0,0x0 -00227a e009 BZ 0x228e +00227a c1c7 MOVFF 0x1c7,0x130 gMoveTemp.Rate[0].value = gTmpRate1; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +00227c f130 +00227e c1c8 MOVFF 0x1c8,0x131 +002280 f131 +002282 c1c9 MOVFF 0x1c9,0x132 +002284 f132 +002286 c1ca MOVFF 0x1ca,0x133 +002288 f133 +00228a 0efe MOVLW 0xfe if (TimedMove) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +00228c 50db MOVF 0xdb,0x0,0x0 +00228e e009 BZ 0x22a2 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -00227c cb89 MOVFF 0xb89,0xb33 gMoveTemp.Steps[0] = gTmpIntervals; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -00227e fb33 -002280 cb8a MOVFF 0xb8a,0xb34 -002282 fb34 -002284 cb8b MOVFF 0xb8b,0xb35 -002286 fb35 -002288 cb8c MOVFF 0xb8c,0xb36 -00228a fb36 +002290 c1c3 MOVFF 0x1c3,0x138 gMoveTemp.Steps[0] = gTmpIntervals; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002292 f138 +002294 c1c4 MOVFF 0x1c4,0x139 +002296 f139 +002298 c1c5 MOVFF 0x1c5,0x13a +00229a f13a +00229c c1c6 MOVFF 0x1c6,0x13b +00229e f13b } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -00228c d002 BRA 0x2292 else C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +0022a0 d002 BRA 0x22a6 else C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -00228e ecf7 CALL 0x3bee,0x0 gMoveTemp.Steps[0] = gTmpSteps1; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002290 f01d -003bee cb95 MOVFF 0xb95,0xb33 -003bf0 fb33 -003bf2 cb96 MOVFF 0xb96,0xb34 -003bf4 fb34 -003bf6 cb97 MOVFF 0xb97,0xb35 -003bf8 fb35 -003bfa cb98 MOVFF 0xb98,0xb36 -003bfc fb36 +0022a2 ecf7 CALL 0x3bee,0x0 gMoveTemp.Steps[0] = gTmpSteps1; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +0022a4 f01d +003bee c1cf MOVFF 0x1cf,0x138 +003bf0 f138 +003bf2 c1d0 MOVFF 0x1d0,0x139 +003bf4 f139 +003bf6 c1d1 MOVFF 0x1d1,0x13a +003bf8 f13a +003bfa c1d2 MOVFF 0x1d2,0x13b +003bfc f13b 003bfe 0012 RETURN 0x0 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002292 cb9d MOVFF 0xb9d,0xb43 gMoveTemp.Accel[0] = gTmpAccel1; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002294 fb43 -002296 cb9e MOVFF 0xb9e,0xb44 -002298 fb44 -00229a cb9f MOVFF 0xb9f,0xb45 -00229c fb45 -00229e cba0 MOVFF 0xba0,0xb46 -0022a0 fb46 -0022a2 cba5 MOVFF 0xba5,0xb3b gMoveTemp.Jerk[0] = gTmpJerk1; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0022a4 fb3b -0022a6 cba6 MOVFF 0xba6,0xb3c -0022a8 fb3c -0022aa cba7 MOVFF 0xba7,0xb3d -0022ac fb3d -0022ae cba8 MOVFF 0xba8,0xb3e -0022b0 fb3e -0022b2 cb91 MOVFF 0xb91,0xb2f gMoveTemp.Rate[1].value = gTmpRate2; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0022b4 fb2f -0022b6 cb92 MOVFF 0xb92,0xb30 -0022b8 fb30 -0022ba cb93 MOVFF 0xb93,0xb31 -0022bc fb31 -0022be cb94 MOVFF 0xb94,0xb32 -0022c0 fb32 -0022c2 0efe MOVLW 0xfe if (TimedMove) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0022c4 50db MOVF 0xdb,0x0,0x0 -0022c6 e006 BZ 0x22d4 +0022a6 c1d7 MOVFF 0x1d7,0x148 gMoveTemp.Accel[0] = gTmpAccel1; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +0022a8 f148 +0022aa c1d8 MOVFF 0x1d8,0x149 +0022ac f149 +0022ae c1d9 MOVFF 0x1d9,0x14a +0022b0 f14a +0022b2 c1da MOVFF 0x1da,0x14b +0022b4 f14b +0022b6 c1df MOVFF 0x1df,0x140 gMoveTemp.Jerk[0] = gTmpJerk1; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +0022b8 f140 +0022ba c1e0 MOVFF 0x1e0,0x141 +0022bc f141 +0022be c1e1 MOVFF 0x1e1,0x142 +0022c0 f142 +0022c2 c1e2 MOVFF 0x1e2,0x143 +0022c4 f143 +0022c6 c1cb MOVFF 0x1cb,0x134 gMoveTemp.Rate[1].value = gTmpRate2; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +0022c8 f134 +0022ca c1cc MOVFF 0x1cc,0x135 +0022cc f135 +0022ce c1cd MOVFF 0x1cd,0x136 +0022d0 f136 +0022d2 c1ce MOVFF 0x1ce,0x137 +0022d4 f137 +0022d6 0efe MOVLW 0xfe if (TimedMove) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +0022d8 50db MOVF 0xdb,0x0,0x0 +0022da e006 BZ 0x22e8 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0022c8 010b MOVLB 0xb gMoveTemp.Steps[1] = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0022ca 6b37 CLRF 0x37,0x1 -0022cc 6b38 CLRF 0x38,0x1 -0022ce 6b39 CLRF 0x39,0x1 -0022d0 6b3a CLRF 0x3a,0x1 +0022dc 0101 MOVLB 0x1 gMoveTemp.Steps[1] = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +0022de 6b3c CLRF 0x3c,0x1 +0022e0 6b3d CLRF 0x3d,0x1 +0022e2 6b3e CLRF 0x3e,0x1 +0022e4 6b3f CLRF 0x3f,0x1 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0022d2 d002 BRA 0x22d8 else C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +0022e6 d002 BRA 0x22ec else C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0022d4 ec00 CALL 0x3c00,0x0 gMoveTemp.Steps[1] = gTmpSteps2; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0022d6 f01e -003c00 cb99 MOVFF 0xb99,0xb37 -003c02 fb37 -003c04 cb9a MOVFF 0xb9a,0xb38 -003c06 fb38 -003c08 cb9b MOVFF 0xb9b,0xb39 -003c0a fb39 -003c0c cb9c MOVFF 0xb9c,0xb3a -003c0e fb3a +0022e8 ec00 CALL 0x3c00,0x0 gMoveTemp.Steps[1] = gTmpSteps2; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +0022ea f01e +003c00 c1d3 MOVFF 0x1d3,0x13c +003c02 f13c +003c04 c1d4 MOVFF 0x1d4,0x13d +003c06 f13d +003c08 c1d5 MOVFF 0x1d5,0x13e +003c0a f13e +003c0c c1d6 MOVFF 0x1d6,0x13f +003c0e f13f 003c10 0012 RETURN 0x0 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0022d8 cba1 MOVFF 0xba1,0xb47 gMoveTemp.Accel[1] = gTmpAccel2; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0022da fb47 -0022dc cba2 MOVFF 0xba2,0xb48 -0022de fb48 -0022e0 cba3 MOVFF 0xba3,0xb49 -0022e2 fb49 -0022e4 cba4 MOVFF 0xba4,0xb4a -0022e6 fb4a -0022e8 cba9 MOVFF 0xba9,0xb3f gMoveTemp.Jerk[1] = gTmpJerk2; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0022ea fb3f -0022ec cbaa MOVFF 0xbaa,0xb40 -0022ee fb40 -0022f0 cbab MOVFF 0xbab,0xb41 -0022f2 fb41 -0022f4 cbac MOVFF 0xbac,0xb42 -0022f6 fb42 -0022f8 0efe MOVLW 0xfe if (TimedMove) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0022fa 50db MOVF 0xdb,0x0,0x0 -0022fc e003 BZ 0x2304 +0022ec c1db MOVFF 0x1db,0x14c gMoveTemp.Accel[1] = gTmpAccel2; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +0022ee f14c +0022f0 c1dc MOVFF 0x1dc,0x14d +0022f2 f14d +0022f4 c1dd MOVFF 0x1dd,0x14e +0022f6 f14e +0022f8 c1de MOVFF 0x1de,0x14f +0022fa f14f +0022fc c1e3 MOVFF 0x1e3,0x144 gMoveTemp.Jerk[1] = gTmpJerk2; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +0022fe f144 +002300 c1e4 MOVFF 0x1e4,0x145 +002302 f145 +002304 c1e5 MOVFF 0x1e5,0x146 +002306 f146 +002308 c1e6 MOVFF 0x1e6,0x147 +00230a f147 +00230c 0efe MOVLW 0xfe if (TimedMove) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +00230e 50db MOVF 0xdb,0x0,0x0 +002310 e003 BZ 0x2318 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0022fe 010b MOVLB 0xb gMoveTemp.Command = COMMAND_LT_MOVE_BIT; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002300 0e40 MOVLW 0x40 +002312 0101 MOVLB 0x1 gMoveTemp.Command = COMMAND_LT_MOVE_BIT; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002314 0e40 MOVLW 0x40 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002302 d002 BRA 0x2308 else C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002316 d002 BRA 0x231c else C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002304 010b MOVLB 0xb gMoveTemp.Command = COMMAND_LM_MOVE_BIT; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002306 0e20 MOVLW 0x20 -002308 6f24 MOVWF 0x24,0x1 +002318 0101 MOVLB 0x1 gMoveTemp.Command = COMMAND_LM_MOVE_BIT; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +00231a 0e20 MOVLW 0x20 +00231c 6f29 MOVWF 0x29,0x1 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // Spin here until there's space in the FIFO C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -00230a 5018 MOVF 0x18,0x0,0x0 while(gFIFOLength >= gCurrentFIFOLength) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -00230c 5c14 SUBWF 0x14,0x0,0x0 -00230e e2fd BC 0x230a +00231e 5018 MOVF 0x18,0x0,0x0 while(gFIFOLength >= gCurrentFIFOLength) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002320 5c14 SUBWF 0x14,0x0,0x0 +002322 e2fd BC 0x231e ; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // If the limit switch feature has triggered, then ignore this move command C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // Maybe the limit switch has become true between the top of this function C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // and here? Better check for it. C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002310 b00e BTFSC 0xe,0x0,0x0 if (!bittstzero(gLimitSwitchTriggered)) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002312 d005 BRA 0x231e +002324 b00e BTFSC 0xe,0x0,0x0 if (!bittstzero(gLimitSwitchTriggered)) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002326 d005 BRA 0x2332 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // Now, quick copy over the computed command data to the command FIFO C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002314 ece5 CALL 0x35ca,0x0 FIFOPtr[gFIFOIn] = gMoveTemp; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002316 f01a -0035ca 5015 MOVF 0x15,0x0,0x0 -0035cc ec52 CALL 0x3ea4,0x0 -0035ce f01f -0035d0 cb24 MOVFF 0xb24,0xfee -0035d2 ffee -0035d4 cb25 MOVFF 0xb25,0xfee -0035d6 ffee -0035d8 cb26 MOVFF 0xb26,0xfee -0035da ffee -0035dc cb27 MOVFF 0xb27,0xfee -0035de ffee -0035e0 cb28 MOVFF 0xb28,0xfee -0035e2 ffee -0035e4 cb29 MOVFF 0xb29,0xfee -0035e6 ffee -0035e8 cb2a MOVFF 0xb2a,0xfee -0035ea ffee -0035ec cb2b MOVFF 0xb2b,0xfee -0035ee ffee -0035f0 cb2c MOVFF 0xb2c,0xfee -0035f2 ffee -0035f4 cb2d MOVFF 0xb2d,0xfee -0035f6 ffee -0035f8 cb2e MOVFF 0xb2e,0xfee -0035fa ffee -0035fc cb2f MOVFF 0xb2f,0xfee -0035fe ffee -003600 cb30 MOVFF 0xb30,0xfee -003602 ffee -003604 cb31 MOVFF 0xb31,0xfee -003606 ffee -003608 cb32 MOVFF 0xb32,0xfee -00360a ffee -00360c cb33 MOVFF 0xb33,0xfee -00360e ffee -003610 cb34 MOVFF 0xb34,0xfee -003612 ffee -003614 cb35 MOVFF 0xb35,0xfee -003616 ffee -003618 cb36 MOVFF 0xb36,0xfee -00361a ffee -00361c cb37 MOVFF 0xb37,0xfee -00361e ffee -003620 cb38 MOVFF 0xb38,0xfee -003622 ffee -003624 cb39 MOVFF 0xb39,0xfee -003626 ffee -003628 cb3a MOVFF 0xb3a,0xfee -00362a ffee -00362c cb3b MOVFF 0xb3b,0xfee -00362e ffee -003630 cb3c MOVFF 0xb3c,0xfee -003632 ffee -003634 cb3d MOVFF 0xb3d,0xfee -003636 ffee -003638 cb3e MOVFF 0xb3e,0xfee -00363a ffee -00363c cb3f MOVFF 0xb3f,0xfee -00363e ffee -003640 cb40 MOVFF 0xb40,0xfee -003642 ffee -003644 cb41 MOVFF 0xb41,0xfee -003646 ffee -003648 cb42 MOVFF 0xb42,0xfee -00364a ffee -00364c cb43 MOVFF 0xb43,0xfee -00364e ffee -003650 cb44 MOVFF 0xb44,0xfee -003652 ffee -003654 cb45 MOVFF 0xb45,0xfee -003656 ffee -003658 cb46 MOVFF 0xb46,0xfee -00365a ffee -00365c cb47 MOVFF 0xb47,0xfee -00365e ffee -003660 cb48 MOVFF 0xb48,0xfee -003662 ffee -003664 cb49 MOVFF 0xb49,0xfee -003666 ffee -003668 cb4a MOVFF 0xb4a,0xfee -00366a ffee -00366c cb4b MOVFF 0xb4b,0xfee -00366e ffee -003670 cb4c MOVFF 0xb4c,0xfee -003672 ffee -003674 cb4d MOVFF 0xb4d,0xfee -003676 ffee -003678 cb4e MOVFF 0xb4e,0xfee -00367a ffee -00367c cb4f MOVFF 0xb4f,0xfee -00367e ffee -003680 cb50 MOVFF 0xb50,0xfee -003682 ffee -003684 cb51 MOVFF 0xb51,0xfee -003686 ffee -003688 cb52 MOVFF 0xb52,0xfee -00368a ffee -00368c 2a15 INCF 0x15,0x1,0x0 gFIFOIn++; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002318 e301 BNC 0x231c if (gFIFOIn >= gCurrentFIFOLength) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -00368e 5018 MOVF 0x18,0x0,0x0 -003690 5c15 SUBWF 0x15,0x0,0x0 -003692 0012 RETURN 0x0 +002328 ecf8 CALL 0x35f0,0x0 FIFOPtr[gFIFOIn] = gMoveTemp; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +00232a f01a +0035f0 5015 MOVF 0x15,0x0,0x0 +0035f2 ec62 CALL 0x3ec4,0x0 +0035f4 f01f +0035f6 c129 MOVFF 0x129,0xfee +0035f8 ffee +0035fa c12a MOVFF 0x12a,0xfee +0035fc ffee +0035fe c12b MOVFF 0x12b,0xfee +003600 ffee +003602 c12c MOVFF 0x12c,0xfee +003604 ffee +003606 c12d MOVFF 0x12d,0xfee +003608 ffee +00360a c12e MOVFF 0x12e,0xfee +00360c ffee +00360e c12f MOVFF 0x12f,0xfee +003610 ffee +003612 c130 MOVFF 0x130,0xfee +003614 ffee +003616 c131 MOVFF 0x131,0xfee +003618 ffee +00361a c132 MOVFF 0x132,0xfee +00361c ffee +00361e c133 MOVFF 0x133,0xfee +003620 ffee +003622 c134 MOVFF 0x134,0xfee +003624 ffee +003626 c135 MOVFF 0x135,0xfee +003628 ffee +00362a c136 MOVFF 0x136,0xfee +00362c ffee +00362e c137 MOVFF 0x137,0xfee +003630 ffee +003632 c138 MOVFF 0x138,0xfee +003634 ffee +003636 c139 MOVFF 0x139,0xfee +003638 ffee +00363a c13a MOVFF 0x13a,0xfee +00363c ffee +00363e c13b MOVFF 0x13b,0xfee +003640 ffee +003642 c13c MOVFF 0x13c,0xfee +003644 ffee +003646 c13d MOVFF 0x13d,0xfee +003648 ffee +00364a c13e MOVFF 0x13e,0xfee +00364c ffee +00364e c13f MOVFF 0x13f,0xfee +003650 ffee +003652 c140 MOVFF 0x140,0xfee +003654 ffee +003656 c141 MOVFF 0x141,0xfee +003658 ffee +00365a c142 MOVFF 0x142,0xfee +00365c ffee +00365e c143 MOVFF 0x143,0xfee +003660 ffee +003662 c144 MOVFF 0x144,0xfee +003664 ffee +003666 c145 MOVFF 0x145,0xfee +003668 ffee +00366a c146 MOVFF 0x146,0xfee +00366c ffee +00366e c147 MOVFF 0x147,0xfee +003670 ffee +003672 c148 MOVFF 0x148,0xfee +003674 ffee +003676 c149 MOVFF 0x149,0xfee +003678 ffee +00367a c14a MOVFF 0x14a,0xfee +00367c ffee +00367e c14b MOVFF 0x14b,0xfee +003680 ffee +003682 c14c MOVFF 0x14c,0xfee +003684 ffee +003686 c14d MOVFF 0x14d,0xfee +003688 ffee +00368a c14e MOVFF 0x14e,0xfee +00368c ffee +00368e c14f MOVFF 0x14f,0xfee +003690 ffee +003692 c150 MOVFF 0x150,0xfee +003694 ffee +003696 c151 MOVFF 0x151,0xfee +003698 ffee +00369a c152 MOVFF 0x152,0xfee +00369c ffee +00369e c153 MOVFF 0x153,0xfee +0036a0 ffee +0036a2 c154 MOVFF 0x154,0xfee +0036a4 ffee +0036a6 c155 MOVFF 0x155,0xfee +0036a8 ffee +0036aa c156 MOVFF 0x156,0xfee +0036ac ffee +0036ae c157 MOVFF 0x157,0xfee +0036b0 ffee +0036b2 2a15 INCF 0x15,0x1,0x0 gFIFOIn++; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +00232c e301 BNC 0x2330 if (gFIFOIn >= gCurrentFIFOLength) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +0036b4 5018 MOVF 0x18,0x0,0x0 +0036b6 5c15 SUBWF 0x15,0x0,0x0 +0036b8 0012 RETURN 0x0 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -00231a 6a15 CLRF 0x15,0x0 gFIFOIn = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +00232e 6a15 CLRF 0x15,0x0 gFIFOIn = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -00231c 2a14 INCF 0x14,0x1,0x0 gFIFOLength++; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002330 2a14 INCF 0x14,0x1,0x0 gFIFOLength++; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -00231e aa09 BTFSS 0x9,0x5,0x0 if(bittst(TestMode, TEST_MODE_DEBUG_COMMAND_BIT_NUM)) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002320 d04b BRA 0x23b8 +002332 aa09 BTFSS 0x9,0x5,0x0 if(bittst(TestMode, TEST_MODE_DEBUG_COMMAND_BIT_NUM)) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002334 d04b BRA 0x23cc { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // Print the final values used by the ISR for this move C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002322 ec94 CALL 0x4128,0x0 ebb_print((far rom char *)"R1="); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002324 f020 -004128 0ecc MOVLW 0xcc -00412a 6e33 MOVWF 0x33,0x0 -00412c 0e7c MOVLW 0x7c -00412e ec97 CALL 0x352e,0x0 -004130 f01a -002326 ec92 CALL 0x3724,0x0 ebb_print_int(gMoveTemp.Rate[0].value); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002328 f01b -003c12 cb2b MOVFF 0xb2b,0xfe6 +002336 eca5 CALL 0x414a,0x0 ebb_print((far rom char *)"R1="); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002338 f020 +00414a 0ee8 MOVLW 0xe8 +00414c 6e47 MOVWF 0x47,0x0 +00414e 0e7c MOVLW 0x7c +004150 ecaa CALL 0x3554,0x0 +004152 f01a +00233a eca5 CALL 0x374a,0x0 ebb_print_int(gMoveTemp.Rate[0].value); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +00233c f01b +003c12 c130 MOVFF 0x130,0xfe6 003c14 ffe6 -003c16 cb2c MOVFF 0xb2c,0xfe6 +003c16 c131 MOVFF 0x131,0xfe6 003c18 ffe6 -003c1a cb2d MOVFF 0xb2d,0xfe6 +003c1a c132 MOVFF 0x132,0xfe6 003c1c ffe6 -003c1e cb2e MOVFF 0xb2e,0xfe6 +003c1e c133 MOVFF 0x133,0xfe6 003c20 ffe6 003c22 0012 RETURN 0x0 -004132 ef09 GOTO 0x3c12 -004134 f01e -00232a eca6 CALL 0x3f4c,0x0 ebb_print((far rom char *)" S1="); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -00232c f01f -003f4c 0ec7 MOVLW 0xc7 -003f4e 6e33 MOVWF 0x33,0x0 -003f50 0e7c MOVLW 0x7c -003f52 ec97 CALL 0x352e,0x0 -003f54 f01a -003f56 cb33 MOVFF 0xb33,0xfe6 ebb_print_uint(gMoveTemp.Steps[0]); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -003f58 ffe6 -003f5a cb34 MOVFF 0xb34,0xfe6 -003f5c ffe6 -003f5e cb35 MOVFF 0xb35,0xfe6 -003f60 ffe6 -003f62 cb36 MOVFF 0xb36,0xfe6 -003f64 ffe6 -003f66 ef97 GOTO 0x372e -003f68 f01b -00232e 0ec2 MOVLW 0xc2 ebb_print((far rom char *)" A1="); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002330 6e33 MOVWF 0x33,0x0 -002332 0e7c MOVLW 0x7c -002334 ec97 CALL 0x352e,0x0 -002336 f01a -002338 cb43 MOVFF 0xb43,0xfe6 ebb_print_int(gMoveTemp.Accel[0]); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -00233a ffe6 -00233c cb44 MOVFF 0xb44,0xfe6 -00233e ffe6 -002340 cb45 MOVFF 0xb45,0xfe6 -002342 ffe6 -002344 cb46 MOVFF 0xb46,0xfe6 -002346 ffe6 -002348 ec92 CALL 0x3724,0x0 -00234a f01b -00234c 0ebd MOVLW 0xbd ebb_print((far rom char *)" J1="); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -00234e 6e33 MOVWF 0x33,0x0 -002350 0e7c MOVLW 0x7c -002352 ec97 CALL 0x352e,0x0 -002354 f01a -002356 cb3b MOVFF 0xb3b,0xfe6 ebb_print_int(gMoveTemp.Jerk[0]); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002358 ffe6 -00235a cb3c MOVFF 0xb3c,0xfe6 -00235c ffe6 -00235e cb3d MOVFF 0xb3d,0xfe6 -002360 ffe6 -002362 cb3e MOVFF 0xb3e,0xfe6 -002364 ffe6 -002366 ec92 CALL 0x3724,0x0 -002368 f01b -00236a ec9b CALL 0x4136,0x0 ebb_print((far rom char *)" R2="); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -00236c f020 -004136 0eb8 MOVLW 0xb8 -004138 6e33 MOVWF 0x33,0x0 -00413a 0e7c MOVLW 0x7c -00413c ec97 CALL 0x352e,0x0 -00413e f01a -00236e ec92 CALL 0x3724,0x0 ebb_print_int(gMoveTemp.Rate[1].value); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002370 f01b -003c24 cb2f MOVFF 0xb2f,0xfe6 +004154 ef09 GOTO 0x3c12 +004156 f01e +00233e ecb7 CALL 0x3f6e,0x0 ebb_print((far rom char *)" S1="); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002340 f01f +003f6e 0ee3 MOVLW 0xe3 +003f70 6e47 MOVWF 0x47,0x0 +003f72 0e7c MOVLW 0x7c +003f74 ecaa CALL 0x3554,0x0 +003f76 f01a +003f78 c138 MOVFF 0x138,0xfe6 ebb_print_uint(gMoveTemp.Steps[0]); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +003f7a ffe6 +003f7c c139 MOVFF 0x139,0xfe6 +003f7e ffe6 +003f80 c13a MOVFF 0x13a,0xfe6 +003f82 ffe6 +003f84 c13b MOVFF 0x13b,0xfe6 +003f86 ffe6 +003f88 efaa GOTO 0x3754 +003f8a f01b +002342 0ede MOVLW 0xde ebb_print((far rom char *)" A1="); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002344 6e47 MOVWF 0x47,0x0 +002346 0e7c MOVLW 0x7c +002348 ecaa CALL 0x3554,0x0 +00234a f01a +00234c c148 MOVFF 0x148,0xfe6 ebb_print_int(gMoveTemp.Accel[0]); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +00234e ffe6 +002350 c149 MOVFF 0x149,0xfe6 +002352 ffe6 +002354 c14a MOVFF 0x14a,0xfe6 +002356 ffe6 +002358 c14b MOVFF 0x14b,0xfe6 +00235a ffe6 +00235c eca5 CALL 0x374a,0x0 +00235e f01b +002360 0ed9 MOVLW 0xd9 ebb_print((far rom char *)" J1="); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002362 6e47 MOVWF 0x47,0x0 +002364 0e7c MOVLW 0x7c +002366 ecaa CALL 0x3554,0x0 +002368 f01a +00236a c140 MOVFF 0x140,0xfe6 ebb_print_int(gMoveTemp.Jerk[0]); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +00236c ffe6 +00236e c141 MOVFF 0x141,0xfe6 +002370 ffe6 +002372 c142 MOVFF 0x142,0xfe6 +002374 ffe6 +002376 c143 MOVFF 0x143,0xfe6 +002378 ffe6 +00237a eca5 CALL 0x374a,0x0 +00237c f01b +00237e ecac CALL 0x4158,0x0 ebb_print((far rom char *)" R2="); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002380 f020 +004158 0ed4 MOVLW 0xd4 +00415a 6e47 MOVWF 0x47,0x0 +00415c 0e7c MOVLW 0x7c +00415e ecaa CALL 0x3554,0x0 +004160 f01a +002382 eca5 CALL 0x374a,0x0 ebb_print_int(gMoveTemp.Rate[1].value); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002384 f01b +003c24 c134 MOVFF 0x134,0xfe6 003c26 ffe6 -003c28 cb30 MOVFF 0xb30,0xfe6 +003c28 c135 MOVFF 0x135,0xfe6 003c2a ffe6 -003c2c cb31 MOVFF 0xb31,0xfe6 +003c2c c136 MOVFF 0x136,0xfe6 003c2e ffe6 -003c30 cb32 MOVFF 0xb32,0xfe6 +003c30 c137 MOVFF 0x137,0xfe6 003c32 ffe6 003c34 0012 RETURN 0x0 -004140 ef12 GOTO 0x3c24 -004142 f01e -002372 0eb3 MOVLW 0xb3 ebb_print((far rom char *)" A2="); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002374 6e33 MOVWF 0x33,0x0 -002376 0e7c MOVLW 0x7c -002378 ecee CALL 0x3fdc,0x0 -00237a f01f -003fdc ec97 CALL 0x352e,0x0 -003fde f01a -003fe0 cb37 MOVFF 0xb37,0xfe6 ebb_print_uint(gMoveTemp.Steps[1]); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -003fe2 ffe6 -003fe4 cb38 MOVFF 0xb38,0xfe6 -003fe6 ffe6 -003fe8 cb39 MOVFF 0xb39,0xfe6 -003fea ffe6 -003fec cb3a MOVFF 0xb3a,0xfe6 -003fee ffe6 -003ff0 ef97 GOTO 0x372e -003ff2 f01b -00237c 0eae MOVLW 0xae ebb_print((far rom char *)" S2="); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -00237e 6e33 MOVWF 0x33,0x0 -002380 0e7c MOVLW 0x7c -002382 ec97 CALL 0x352e,0x0 -002384 f01a -002386 cb47 MOVFF 0xb47,0xfe6 ebb_print_int(gMoveTemp.Accel[1]); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002388 ffe6 -00238a cb48 MOVFF 0xb48,0xfe6 -00238c ffe6 -00238e cb49 MOVFF 0xb49,0xfe6 -002390 ffe6 -002392 cb4a MOVFF 0xb4a,0xfe6 -002394 ffe6 -002396 ec92 CALL 0x3724,0x0 -002398 f01b -00239a 0ea9 MOVLW 0xa9 ebb_print((far rom char *)" J2="); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -00239c 6e33 MOVWF 0x33,0x0 -00239e 0e7c MOVLW 0x7c -0023a0 ec97 CALL 0x352e,0x0 -0023a2 f01a -0023a4 cb3f MOVFF 0xb3f,0xfe6 ebb_print_int(gMoveTemp.Jerk[1]); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0023a6 ffe6 -0023a8 cb40 MOVFF 0xb40,0xfe6 -0023aa ffe6 -0023ac cb41 MOVFF 0xb41,0xfe6 -0023ae ffe6 -0023b0 cb42 MOVFF 0xb42,0xfe6 -0023b2 ffe6 -0023b4 ec6d CALL 0x42da,0x0 -0023b6 f021 +004162 ef12 GOTO 0x3c24 +004164 f01e +002386 0ecf MOVLW 0xcf ebb_print((far rom char *)" A2="); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002388 6e47 MOVWF 0x47,0x0 +00238a 0e7c MOVLW 0x7c +00238c ecff CALL 0x3ffe,0x0 +00238e f01f +003ffe ecaa CALL 0x3554,0x0 +004000 f01a +004002 c13c MOVFF 0x13c,0xfe6 ebb_print_uint(gMoveTemp.Steps[1]); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +004004 ffe6 +004006 c13d MOVFF 0x13d,0xfe6 +004008 ffe6 +00400a c13e MOVFF 0x13e,0xfe6 +00400c ffe6 +00400e c13f MOVFF 0x13f,0xfe6 +004010 ffe6 +004012 efaa GOTO 0x3754 +004014 f01b +002390 0eca MOVLW 0xca ebb_print((far rom char *)" S2="); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002392 6e47 MOVWF 0x47,0x0 +002394 0e7c MOVLW 0x7c +002396 ecaa CALL 0x3554,0x0 +002398 f01a +00239a c14c MOVFF 0x14c,0xfe6 ebb_print_int(gMoveTemp.Accel[1]); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +00239c ffe6 +00239e c14d MOVFF 0x14d,0xfe6 +0023a0 ffe6 +0023a2 c14e MOVFF 0x14e,0xfe6 +0023a4 ffe6 +0023a6 c14f MOVFF 0x14f,0xfe6 +0023a8 ffe6 +0023aa eca5 CALL 0x374a,0x0 +0023ac f01b +0023ae 0ec5 MOVLW 0xc5 ebb_print((far rom char *)" J2="); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +0023b0 6e47 MOVWF 0x47,0x0 +0023b2 0e7c MOVLW 0x7c +0023b4 ecaa CALL 0x3554,0x0 +0023b6 f01a +0023b8 c144 MOVFF 0x144,0xfe6 ebb_print_int(gMoveTemp.Jerk[1]); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +0023ba ffe6 +0023bc c145 MOVFF 0x145,0xfe6 +0023be ffe6 +0023c0 c146 MOVFF 0x146,0xfe6 +0023c2 ffe6 +0023c4 c147 MOVFF 0x147,0xfe6 +0023c6 ffe6 +0023c8 ec7e CALL 0x42fc,0x0 +0023ca f021 print_line_ending(kLE_REV); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0023b8 eccc CALL 0x3798,0x0 print_line_ending(kLE_OK_NORM); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0023ba f01b -0023bc 0e05 MOVLW 0x5 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0023be 5ce1 SUBWF 0xe1,0x0,0x0 -0023c0 e202 BC 0x23c6 -0023c2 6ae1 CLRF 0xe1,0x0 -0023c4 52e5 MOVF 0xe5,0x1,0x0 -0023c6 ef9c GOTO 0x3738 -0023c8 f01b +0023cc ecdf CALL 0x37be,0x0 print_line_ending(kLE_OK_NORM); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +0023ce f01b +0023d0 0e05 MOVLW 0x5 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +0023d2 5ce1 SUBWF 0xe1,0x0,0x0 +0023d4 e202 BC 0x23da +0023d6 6ae1 CLRF 0xe1,0x0 +0023d8 52e5 MOVF 0xe5,0x1,0x0 +0023da efaf GOTO 0x375e +0023dc f01b C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // The Stepper Motor command C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // Usage: SM,,,, C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c @@ -10873,261 +10893,261 @@ Address Value Disassembly Source // i.e. SM,1,1000 will not produce 1000steps in 1ms. Instead, it will take 40ms (25KHz max step rate) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // NOTE2: If you specify zero steps for the axis, then you effectively create a delay. Use for small C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // pauses before raising or lowering the pen, for example. C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0023ca ec7e CALL 0x3efc,0x0 void parse_SM_packet(void) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0023cc f01f -003efc da01 RCALL 0x4300 -003efe dd50 RCALL 0x39a0 -004300 ec9f CALL 0x373e,0x0 -004302 f01b -004304 0e04 MOVLW 0x4 -004306 0012 RETURN 0x0 +0023de ec9e CALL 0x3f3c,0x0 void parse_SM_packet(void) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +0023e0 f01f +003f3c d9ef RCALL 0x431c +003f3e dd43 RCALL 0x39c6 +00431c ecb2 CALL 0x3764,0x0 +00431e f01b +004320 0e04 MOVLW 0x4 +004322 0012 RETURN 0x0 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c INT32 Steps = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -003f00 da03 RCALL 0x4308 print_command(FALSE, FALSE); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +003f40 d9f1 RCALL 0x4324 print_command(FALSE, FALSE); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // Extract each of the values. C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -003f02 6ae6 CLRF 0xe6,0x0 extract_number(kULONG, &gTmpDurationMS, kREQUIRED); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -003f04 0e85 MOVLW 0x85 -003f06 6ee6 MOVWF 0xe6,0x0 -003f08 0e0b MOVLW 0xb -003f0a d9f3 RCALL 0x42f2 -0023ce 0e95 MOVLW 0x95 extract_number(kLONG, &gTmpSteps1, kREQUIRED); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0023d0 6ee6 MOVWF 0xe6,0x0 -0023d2 0e0b MOVLW 0xb -0023d4 ec30 CALL 0x4260,0x0 -0023d6 f021 -003f0c 6ae6 CLRF 0xe6,0x0 -003f0e 0012 RETURN 0x0 -0023d8 0e99 MOVLW 0x99 extract_number(kLONG, &gTmpSteps2, kOPTIONAL); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0023da 6ee6 MOVWF 0xe6,0x0 -0023dc 0e0b MOVLW 0xb -0023de ec2e CALL 0x3e5c,0x0 -0023e0 f01f +003f42 6ae6 CLRF 0xe6,0x0 extract_number(kULONG, &gTmpDurationMS, kREQUIRED); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +003f44 0ebf MOVLW 0xbf +003f46 6ee6 MOVWF 0xe6,0x0 +003f48 0e01 MOVLW 0x1 +003f4a d9e4 RCALL 0x4314 +0023e2 0ecf MOVLW 0xcf extract_number(kLONG, &gTmpSteps1, kREQUIRED); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +0023e4 6ee6 MOVWF 0xe6,0x0 +0023e6 0e01 MOVLW 0x1 +0023e8 ec41 CALL 0x4282,0x0 +0023ea f021 +003f4c 6ae6 CLRF 0xe6,0x0 +003f4e 0012 RETURN 0x0 +0023ec 0ed3 MOVLW 0xd3 extract_number(kLONG, &gTmpSteps2, kOPTIONAL); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +0023ee 6ee6 MOVWF 0xe6,0x0 +0023f0 0e01 MOVLW 0x1 +0023f2 ec3e CALL 0x3e7c,0x0 +0023f4 f01f extract_number(kULONG, &gTmpClearAccs, kOPTIONAL); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0023e2 010b MOVLB 0xb if (gLimitChecks) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0023e4 5183 MOVF 0x83,0x0,0x1 -0023e6 e101 BNZ 0x23ea -0023e8 d07b BRA 0x24e0 +0023f6 0101 MOVLB 0x1 if (gLimitChecks) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +0023f8 51bd MOVF 0xbd,0x0,0x1 +0023fa e101 BNZ 0x23fe +0023fc d07b BRA 0x24f4 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // Check for invalid duration C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0023ea 5185 MOVF 0x85,0x0,0x1 if (gTmpDurationMS == 0u) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0023ec 1186 IORWF 0x86,0x0,0x1 -0023ee 1187 IORWF 0x87,0x0,0x1 -0023f0 1188 IORWF 0x88,0x0,0x1 -0023f2 e102 BNZ 0x23f8 +0023fe 51bf MOVF 0xbf,0x0,0x1 if (gTmpDurationMS == 0u) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002400 11c0 IORWF 0xc0,0x0,0x1 +002402 11c1 IORWF 0xc1,0x0,0x1 +002404 11c2 IORWF 0xc2,0x0,0x1 +002406 e102 BNZ 0x240c { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0023f4 0100 MOVLB 0x0 bitset(error_byte, kERROR_BYTE_PARAMETER_OUTSIDE_LIMIT); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0023f6 8d97 BSF 0x97,0x6,0x1 +002408 0100 MOVLB 0x0 bitset(error_byte, kERROR_BYTE_PARAMETER_OUTSIDE_LIMIT); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +00240a 8d97 BSF 0x97,0x6,0x1 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // Bail if we got a conversion error C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0023f8 0100 MOVLB 0x0 if (error_byte) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0023fa 5197 MOVF 0x97,0x0,0x1 -0023fc e001 BZ 0x2400 -0023fe d075 BRA 0x24ea +00240c 0100 MOVLB 0x0 if (error_byte) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +00240e 5197 MOVF 0x97,0x0,0x1 +002410 e001 BZ 0x2414 +002412 d075 BRA 0x24fe { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c return; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // Limit each parameter to just 3 bytes C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002400 80d8 BSF 0xd8,0x0,0x0 if (gTmpDurationMS > 0xFFFFFF) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002402 0eff MOVLW 0xff -002404 010b MOVLB 0xb -002406 ec8e CALL 0x3d1c,0x0 -002408 f01e -00240a e204 BC 0x2414 -003d1c 5585 SUBFWB 0x85,0x0,0x1 -003d1e 0eff MOVLW 0xff -003d20 5586 SUBFWB 0x86,0x0,0x1 -003d22 0eff MOVLW 0xff -003d24 5587 SUBFWB 0x87,0x0,0x1 -003d26 0e00 MOVLW 0x0 -003d28 5588 SUBFWB 0x88,0x0,0x1 -003d2a 0012 RETURN 0x0 +002414 80d8 BSF 0xd8,0x0,0x0 if (gTmpDurationMS > 0xFFFFFF) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002416 0eff MOVLW 0xff +002418 0101 MOVLB 0x1 +00241a ec9e CALL 0x3d3c,0x0 +00241c f01e +00241e e204 BC 0x2428 +003d3c 55bf SUBFWB 0xbf,0x0,0x1 +003d3e 0eff MOVLW 0xff +003d40 55c0 SUBFWB 0xc0,0x0,0x1 +003d42 0eff MOVLW 0xff +003d44 55c1 SUBFWB 0xc1,0x0,0x1 +003d46 0e00 MOVLW 0x0 +003d48 55c2 SUBFWB 0xc2,0x0,0x1 +003d4a 0012 RETURN 0x0 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -00240c 0e78 MOVLW 0x78 ebb_print((far rom char *)"!0 Err: larger than 16777215 ms."); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -00240e 6e33 MOVWF 0x33,0x0 -002410 0e7c MOVLW 0x7c +002420 0e94 MOVLW 0x94 ebb_print((far rom char *)"!0 Err: larger than 16777215 ms."); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002422 6e47 MOVWF 0x47,0x0 +002424 0e7c MOVLW 0x7c print_line_ending(kLE_REV); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002412 d05c BRA 0x24cc return; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002426 d05c BRA 0x24e0 return; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // Check for too-fast step request (>25KHz) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // First get absolute value of steps, then check if it's asking for >25KHz C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002414 eca1 CALL 0x3d42,0x0 if (gTmpSteps1 > 0) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002416 f01e -002418 e602 BN 0x241e -00241a eccf CALL 0x379e,0x0 -00241c f01b -00241e e203 BC 0x2426 - { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002420 ec35 CALL 0x3a6a,0x0 Steps = gTmpSteps1; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002422 f01d -003a6a cb95 MOVFF 0xb95,0xfdf -003a6c ffdf -003a6e 0e01 MOVLW 0x1 -003a70 cb96 MOVFF 0xb96,0xfdb -003a72 ffdb -003a74 0e02 MOVLW 0x2 -003a76 cb97 MOVFF 0xb97,0xfdb -003a78 ffdb -003a7a 0e03 MOVLW 0x3 -003a7c cb98 MOVFF 0xb98,0xfdb -003a7e ffdb -003a80 0012 RETURN 0x0 - } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002424 d004 BRA 0x242e else C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002426 ec28 CALL 0x3850,0x0 Steps = -gTmpSteps1; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002428 f01c -00242a eca4 CALL 0x3748,0x0 -00242c f01b - } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -00242e ece3 CALL 0x37c6,0x0 if (Steps > 0xFFFFFFl) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002428 ecb1 CALL 0x3d62,0x0 if (gTmpSteps1 > 0) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +00242a f01e +00242c e602 BN 0x2432 +00242e ece2 CALL 0x37c4,0x0 002430 f01b -002432 e602 BN 0x2438 -002434 ec6c CALL 0x38d8,0x0 -002436 f01c -002438 e204 BC 0x2442 +002432 e203 BC 0x243a { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -00243a 0e4c MOVLW 0x4c ebb_print((far rom char *)"!0 Err: larger than 16777215 steps."); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -00243c 6e33 MOVWF 0x33,0x0 -00243e 0e7c MOVLW 0x7c +002434 ec59 CALL 0x3ab2,0x0 Steps = gTmpSteps1; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002436 f01d +003ab2 c1cf MOVFF 0x1cf,0xfdf +003ab4 ffdf +003ab6 0e01 MOVLW 0x1 +003ab8 c1d0 MOVFF 0x1d0,0xfdb +003aba ffdb +003abc 0e02 MOVLW 0x2 +003abe c1d1 MOVFF 0x1d1,0xfdb +003ac0 ffdb +003ac2 0e03 MOVLW 0x3 +003ac4 c1d2 MOVFF 0x1d2,0xfdb +003ac6 ffdb +003ac8 0012 RETURN 0x0 + } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002438 d004 BRA 0x2442 else C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +00243a ec3b CALL 0x3876,0x0 Steps = -gTmpSteps1; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +00243c f01c +00243e ecb7 CALL 0x376e,0x0 +002440 f01b + } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002442 ecf6 CALL 0x37ec,0x0 if (Steps > 0xFFFFFFl) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002444 f01b +002446 e602 BN 0x244c +002448 ec7f CALL 0x38fe,0x0 +00244a f01c +00244c e204 BC 0x2456 + { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +00244e 0e68 MOVLW 0x68 ebb_print((far rom char *)"!0 Err: larger than 16777215 steps."); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002450 6e47 MOVWF 0x47,0x0 +002452 0e7c MOVLW 0x7c print_line_ending(kLE_REV); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002440 d045 BRA 0x24cc return; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002454 d045 BRA 0x24e0 return; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // Check for too fast C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002442 ec5d CALL 0x36ba,0x0 if ((Steps/gTmpDurationMS) > HIGH_ISR_TICKS_PER_MS) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002444 f01b -002446 e204 BC 0x2450 +002456 ec70 CALL 0x36e0,0x0 if ((Steps/gTmpDurationMS) > HIGH_ISR_TICKS_PER_MS) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002458 f01b +00245a e204 BC 0x2464 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002448 0e1e MOVLW 0x1e ebb_print((far rom char *)"!0 Err: step rate > 25K steps/second."); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -00244a 6e33 MOVWF 0x33,0x0 -00244c 0e7c MOVLW 0x7c +00245c 0e3a MOVLW 0x3a ebb_print((far rom char *)"!0 Err: step rate > 25K steps/second."); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +00245e 6e47 MOVWF 0x47,0x0 +002460 0e7c MOVLW 0x7c print_line_ending(kLE_REV); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -00244e d03e BRA 0x24cc return; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002462 d03e BRA 0x24e0 return; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // And check for too slow C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002450 ecca CALL 0x3594,0x0 if ((INT32)(gTmpDurationMS/1311) >= Steps && Steps != 0) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002452 f01a -002454 aee8 BTFSS 0xe8,0x7,0x0 -002456 d002 BRA 0x245c -002458 342d RLCF 0x2d,0x0,0x0 -00245a d002 BRA 0x2460 -00245c ec7f CALL 0x38fe,0x0 -00245e f01c -002460 e307 BNC 0x2470 -002462 ecb1 CALL 0x3762,0x0 -002464 f01b -002466 e004 BZ 0x2470 +002464 ecdd CALL 0x35ba,0x0 if ((INT32)(gTmpDurationMS/1311) >= Steps && Steps != 0) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002466 f01a +002468 aee8 BTFSS 0xe8,0x7,0x0 +00246a d002 BRA 0x2470 +00246c 3441 RLCF 0x41,0x0,0x0 +00246e d002 BRA 0x2474 +002470 ec92 CALL 0x3924,0x0 +002472 f01c +002474 e307 BNC 0x2484 +002476 ecc4 CALL 0x3788,0x0 +002478 f01b +00247a e004 BZ 0x2484 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002468 0efa MOVLW 0xfa ebb_print((far rom char *)"!0 Err: step rate < 1.31Hz."); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -00246a 6e33 MOVWF 0x33,0x0 -00246c 0e7b MOVLW 0x7b +00247c 0e16 MOVLW 0x16 ebb_print((far rom char *)"!0 Err: step rate < 1.31Hz."); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +00247e 6e47 MOVWF 0x47,0x0 +002480 0e7c MOVLW 0x7c print_line_ending(kLE_REV); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -00246e d02e BRA 0x24cc return; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002482 d02e BRA 0x24e0 return; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002470 010b MOVLB 0xb if (gTmpSteps2 > 0) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002472 eca5 CALL 0x3d4a,0x0 -002474 f01e -002476 e602 BN 0x247c -002478 ecd9 CALL 0x37b2,0x0 -00247a f01b -00247c e203 BC 0x2484 - { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -00247e ec41 CALL 0x3a82,0x0 Steps = gTmpSteps2; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002480 f01d -003a82 cb99 MOVFF 0xb99,0xfdf -003a84 ffdf -003a86 0e01 MOVLW 0x1 -003a88 cb9a MOVFF 0xb9a,0xfdb -003a8a ffdb -003a8c 0e02 MOVLW 0x2 -003a8e cb9b MOVFF 0xb9b,0xfdb -003a90 ffdb -003a92 0e03 MOVLW 0x3 -003a94 cb9c MOVFF 0xb9c,0xfdb -003a96 ffdb -003a98 0012 RETURN 0x0 - } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002482 d004 BRA 0x248c else C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002484 ec88 CALL 0x3910,0x0 Steps = -gTmpSteps2; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002486 f01c -002488 eca4 CALL 0x3748,0x0 -00248a f01b - } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -00248c ece3 CALL 0x37c6,0x0 if (Steps > 0xFFFFFFl) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002484 0101 MOVLB 0x1 if (gTmpSteps2 > 0) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002486 ecb5 CALL 0x3d6a,0x0 +002488 f01e +00248a e602 BN 0x2490 +00248c ecec CALL 0x37d8,0x0 00248e f01b -002490 e602 BN 0x2496 -002492 ec6c CALL 0x38d8,0x0 -002494 f01c -002496 e204 BC 0x24a0 +002490 e203 BC 0x2498 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002498 0ece MOVLW 0xce ebb_print((far rom char *)"!0 Err: larger than 16777215 steps."); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -00249a 6e33 MOVWF 0x33,0x0 -00249c 0e7b MOVLW 0x7b - print_line_ending(kLE_REV); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -00249e d016 BRA 0x24cc return; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002492 ec65 CALL 0x3aca,0x0 Steps = gTmpSteps2; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002494 f01d +003aca c1d3 MOVFF 0x1d3,0xfdf +003acc ffdf +003ace 0e01 MOVLW 0x1 +003ad0 c1d4 MOVFF 0x1d4,0xfdb +003ad2 ffdb +003ad4 0e02 MOVLW 0x2 +003ad6 c1d5 MOVFF 0x1d5,0xfdb +003ad8 ffdb +003ada 0e03 MOVLW 0x3 +003adc c1d6 MOVFF 0x1d6,0xfdb +003ade ffdb +003ae0 0012 RETURN 0x0 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0024a0 ec5d CALL 0x36ba,0x0 if ((Steps/gTmpDurationMS) > HIGH_ISR_TICKS_PER_MS) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002496 d004 BRA 0x24a0 else C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002498 ec9b CALL 0x3936,0x0 Steps = -gTmpSteps2; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +00249a f01c +00249c ecb7 CALL 0x376e,0x0 +00249e f01b + } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +0024a0 ecf6 CALL 0x37ec,0x0 if (Steps > 0xFFFFFFl) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c 0024a2 f01b -0024a4 e204 BC 0x24ae +0024a4 e602 BN 0x24aa +0024a6 ec7f CALL 0x38fe,0x0 +0024a8 f01c +0024aa e204 BC 0x24b4 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0024a6 0ea0 MOVLW 0xa0 ebb_print((far rom char *)"!0 Err: step rate > 25K steps/second."); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0024a8 6e33 MOVWF 0x33,0x0 -0024aa 0e7b MOVLW 0x7b +0024ac 0eea MOVLW 0xea ebb_print((far rom char *)"!0 Err: larger than 16777215 steps."); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +0024ae 6e47 MOVWF 0x47,0x0 +0024b0 0e7b MOVLW 0x7b print_line_ending(kLE_REV); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0024ac d00f BRA 0x24cc return; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +0024b2 d016 BRA 0x24e0 return; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0024ae ecca CALL 0x3594,0x0 if ((INT32)(gTmpDurationMS/1311) >= Steps && Steps != 0) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0024b0 f01a -0024b2 aee8 BTFSS 0xe8,0x7,0x0 -0024b4 d002 BRA 0x24ba -0024b6 342d RLCF 0x2d,0x0,0x0 -0024b8 d002 BRA 0x24be -0024ba ec7f CALL 0x38fe,0x0 -0024bc f01c -0024be e309 BNC 0x24d2 -0024c0 ecb1 CALL 0x3762,0x0 -0024c2 f01b -0024c4 e006 BZ 0x24d2 +0024b4 ec70 CALL 0x36e0,0x0 if ((Steps/gTmpDurationMS) > HIGH_ISR_TICKS_PER_MS) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +0024b6 f01b +0024b8 e204 BC 0x24c2 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0024c6 0e7c MOVLW 0x7c ebb_print((far rom char *)"!0 Err: step rate < 1.31Hz."); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0024c8 6e33 MOVWF 0x33,0x0 -0024ca 0e7b MOVLW 0x7b -0024cc ecd3 CALL 0x41a6,0x0 -0024ce f020 +0024ba 0ebc MOVLW 0xbc ebb_print((far rom char *)"!0 Err: step rate > 25K steps/second."); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +0024bc 6e47 MOVWF 0x47,0x0 +0024be 0e7b MOVLW 0x7b print_line_ending(kLE_REV); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0024d0 d009 BRA 0x24e4 return; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +0024c0 d00f BRA 0x24e0 return; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0024d2 ec1d CALL 0x383a,0x0 if (gTmpClearAccs > 3u) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0024d4 f01c -0024d6 e204 BC 0x24e0 +0024c2 ecdd CALL 0x35ba,0x0 if ((INT32)(gTmpDurationMS/1311) >= Steps && Steps != 0) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +0024c4 f01a +0024c6 aee8 BTFSS 0xe8,0x7,0x0 +0024c8 d002 BRA 0x24ce +0024ca 3441 RLCF 0x41,0x0,0x0 +0024cc d002 BRA 0x24d2 +0024ce ec92 CALL 0x3924,0x0 +0024d0 f01c +0024d2 e309 BNC 0x24e6 +0024d4 ecc4 CALL 0x3788,0x0 +0024d6 f01b +0024d8 e006 BZ 0x24e6 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0024d8 6bad CLRF 0xad,0x1 gTmpClearAccs = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0024da 6bae CLRF 0xae,0x1 -0024dc 6baf CLRF 0xaf,0x1 -0024de 6bb0 CLRF 0xb0,0x1 +0024da 0e98 MOVLW 0x98 ebb_print((far rom char *)"!0 Err: step rate < 1.31Hz."); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +0024dc 6e47 MOVWF 0x47,0x0 +0024de 0e7b MOVLW 0x7b +0024e0 ece4 CALL 0x41c8,0x0 +0024e2 f020 + print_line_ending(kLE_REV); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +0024e4 d009 BRA 0x24f8 return; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +0024e6 ec30 CALL 0x3860,0x0 if (gTmpClearAccs > 3u) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +0024e8 f01c +0024ea e204 BC 0x24f4 + { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +0024ec 6be7 CLRF 0xe7,0x1 gTmpClearAccs = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +0024ee 6be8 CLRF 0xe8,0x1 +0024f0 6be9 CLRF 0xe9,0x1 +0024f2 6bea CLRF 0xea,0x1 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // If we get here, we know that step rate for both A1 and A2 is C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // between 25KHz and 1.31Hz which are the limits of what EBB can do. C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0024e0 da8c RCALL 0x29fa process_simple_motor_move(); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +0024f4 da8c RCALL 0x2a0e process_simple_motor_move(); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0024e2 6ae6 CLRF 0xe6,0x0 print_line_ending(kLE_OK_NORM); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0024e4 ec22 CALL 0x5244,0x0 -0024e6 f029 -0024e8 52e5 MOVF 0xe5,0x1,0x0 -0024ea 0e04 MOVLW 0x4 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0024ec 5ce1 SUBWF 0xe1,0x0,0x0 -0024ee e202 BC 0x24f4 -0024f0 6ae1 CLRF 0xe1,0x0 -0024f2 52e5 MOVF 0xe5,0x1,0x0 -0024f4 ef9c GOTO 0x3738 -0024f6 f01b +0024f6 6ae6 CLRF 0xe6,0x0 print_line_ending(kLE_OK_NORM); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +0024f8 ec30 CALL 0x5260,0x0 +0024fa f029 +0024fc 52e5 MOVF 0xe5,0x1,0x0 +0024fe 0e04 MOVLW 0x4 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002500 5ce1 SUBWF 0xe1,0x0,0x0 +002502 e202 BC 0x2508 +002504 6ae1 CLRF 0xe1,0x0 +002506 52e5 MOVF 0xe5,0x1,0x0 +002508 efaf GOTO 0x375e +00250a f01b C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // Home the motors C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // "HM,,," C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c @@ -11170,804 +11190,804 @@ Address Value Disassembly Source // gTmpAccel2 is used for AbsSteps2 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // gTmpRate1 is used for saving off gTmpSteps1 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // gTmpRate2 is used for saving off gTmpSteps2 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0024f8 ec9f CALL 0x373e,0x0 void parse_HM_packet(void) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0024fa f01b -0024fc 0e05 MOVLW 0x5 -0024fe 26e1 ADDWF 0xe1,0x1,0x0 +00250c ecb2 CALL 0x3764,0x0 void parse_HM_packet(void) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +00250e f01b +002510 0e05 MOVLW 0x5 +002512 26e1 ADDWF 0xe1,0x1,0x0 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002500 0e01 MOVLW 0x1 BOOL CommandExecuting = TRUE; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002502 6edf MOVWF 0xdf,0x0 -002504 6adb CLRF 0xdb,0x0 INT32 XSteps = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002506 0e02 MOVLW 0x2 -002508 6adb CLRF 0xdb,0x0 -00250a 0e03 MOVLW 0x3 -00250c 6adb CLRF 0xdb,0x0 -00250e 0e04 MOVLW 0x4 -002510 6adb CLRF 0xdb,0x0 +002514 0e01 MOVLW 0x1 BOOL CommandExecuting = TRUE; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002516 6edf MOVWF 0xdf,0x0 +002518 6adb CLRF 0xdb,0x0 INT32 XSteps = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +00251a 0e02 MOVLW 0x2 +00251c 6adb CLRF 0xdb,0x0 +00251e 0e03 MOVLW 0x3 +002520 6adb CLRF 0xdb,0x0 +002522 0e04 MOVLW 0x4 +002524 6adb CLRF 0xdb,0x0 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002512 ec62 CALL 0x3ec4,0x0 print_command(FALSE, FALSE); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002514 f01f +002526 ec72 CALL 0x3ee4,0x0 print_command(FALSE, FALSE); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002528 f01f C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // Extract the step rate. C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c extract_number(kULONG, &gTmpIntervals, kREQUIRED); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002516 0e01 MOVLW 0x1 extract_number(kLONG, &gTmpJerk1, kOPTIONAL); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002518 6ee6 MOVWF 0xe6,0x0 -00251a 0ea5 MOVLW 0xa5 -00251c 6ee6 MOVWF 0xe6,0x0 -00251e 0e0b MOVLW 0xb -002520 ec30 CALL 0x4260,0x0 -002522 f021 -002524 0ea9 MOVLW 0xa9 extract_number(kLONG, &gTmpJerk2, kOPTIONAL); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002526 6ee6 MOVWF 0xe6,0x0 -002528 0e0b MOVLW 0xb -00252a eca0 CALL 0x4340,0x0 -00252c f021 +00252a 0e01 MOVLW 0x1 extract_number(kLONG, &gTmpJerk1, kOPTIONAL); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +00252c 6ee6 MOVWF 0xe6,0x0 +00252e 0edf MOVLW 0xdf +002530 6ee6 MOVWF 0xe6,0x0 +002532 0e01 MOVLW 0x1 +002534 ec41 CALL 0x4282,0x0 +002536 f021 +002538 0ee3 MOVLW 0xe3 extract_number(kLONG, &gTmpJerk2, kOPTIONAL); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +00253a 6ee6 MOVWF 0xe6,0x0 +00253c 0e01 MOVLW 0x1 +00253e ecae CALL 0x435c,0x0 +002540 f021 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -00252e 010b MOVLB 0xb if (gLimitChecks) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002530 5183 MOVF 0x83,0x0,0x1 -002532 e006 BZ 0x2540 +002542 0101 MOVLB 0x1 if (gLimitChecks) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002544 51bd MOVF 0xbd,0x0,0x1 +002546 e006 BZ 0x2554 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // StepRate can't be zero C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002534 eca0 CALL 0x3b40,0x0 if (gTmpIntervals == 0u) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002536 f01d -002538 e103 BNZ 0x2540 +002548 ecc4 CALL 0x3b88,0x0 if (gTmpIntervals == 0u) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +00254a f01d +00254c e103 BNZ 0x2554 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -00253a 0100 MOVLB 0x0 bitset(error_byte, kERROR_BYTE_PARAMETER_OUTSIDE_LIMIT); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -00253c 8d97 BSF 0x97,0x6,0x1 -00253e d1a7 BRA 0x288e return; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +00254e 0100 MOVLB 0x0 bitset(error_byte, kERROR_BYTE_PARAMETER_OUTSIDE_LIMIT); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002550 8d97 BSF 0x97,0x6,0x1 +002552 d1a7 BRA 0x28a2 return; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // Wait until FIFO is empty C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002540 5018 MOVF 0x18,0x0,0x0 while(gFIFOLength >= gCurrentFIFOLength) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002542 5c14 SUBWF 0x14,0x0,0x0 -002544 e2fd BC 0x2540 +002554 5018 MOVF 0x18,0x0,0x0 while(gFIFOLength >= gCurrentFIFOLength) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002556 5c14 SUBWF 0x14,0x0,0x0 +002558 e2fd BC 0x2554 ; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // Then wait for motion command to finish (if one's running) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002546 04df DECF 0xdf,0x0,0x0 while (CommandExecuting == TRUE) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002548 e10a BNZ 0x255e -00255c d7f4 BRA 0x2546 +00255a 04df DECF 0xdf,0x0,0x0 while (CommandExecuting == TRUE) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +00255c e10a BNZ 0x2572 +002570 d7f4 BRA 0x255a { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // Need to turn off high priority interrupts briefly here to read out value that ISR uses C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -00254a 9ef2 BCF 0xf2,0x7,0x0 INTCONbits.GIEH = 0; // Turn high priority interrupts off C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +00255e 9ef2 BCF 0xf2,0x7,0x0 INTCONbits.GIEH = 0; // Turn high priority interrupts off C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // Create our output values to print back to the PC C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -00254c 0101 MOVLB 0x1 if ((CurrentCommand.DelayCounter == 0u) && (CurrentCommand.Command == COMMAND_NONE_BIT)) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -00254e ec62 CALL 0x3cc4,0x0 -002550 f01e -002552 e103 BNZ 0x255a -002554 5180 MOVF 0x80,0x0,0x1 -002556 e101 BNZ 0x255a +002560 0101 MOVLB 0x1 if ((CurrentCommand.DelayCounter == 0u) && (CurrentCommand.Command == COMMAND_NONE_BIT)) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002562 ec62 CALL 0x3cc4,0x0 +002564 f01e +002566 e103 BNZ 0x256e +002568 5180 MOVF 0x80,0x0,0x1 +00256a e101 BNZ 0x256e { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002558 6adf CLRF 0xdf,0x0 CommandExecuting = FALSE; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +00256c 6adf CLRF 0xdf,0x0 CommandExecuting = FALSE; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // Re-enable interrupts C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -00255a 8ef2 BSF 0xf2,0x7,0x0 INTCONbits.GIEH = 1; // Turn high priority interrupts on C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +00256e 8ef2 BSF 0xf2,0x7,0x0 INTCONbits.GIEH = 1; // Turn high priority interrupts on C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // Make a local copy of the things we care about. This is how far we need to move. C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -00255e c01b MOVFF 0x1b,0x29 gTmpSteps1 = -globalStepCounter1 + gTmpJerk1; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002560 f029 -002562 c01c MOVFF 0x1c,0x2a -002564 f02a -002566 c01d MOVFF 0x1d,0x2b -002568 f02b -00256a c01e MOVFF 0x1e,0x2c -00256c f02c -00256e ec96 CALL 0x3d2c,0x0 -002570 f01e -002572 010b MOVLB 0xb -002574 25a5 ADDWF 0xa5,0x0,0x1 -002576 6f95 MOVWF 0x95,0x1 -002578 5026 MOVF 0x26,0x0,0x0 -00257a 21a6 ADDWFC 0xa6,0x0,0x1 -00257c 6f96 MOVWF 0x96,0x1 -00257e 5027 MOVF 0x27,0x0,0x0 -002580 21a7 ADDWFC 0xa7,0x0,0x1 -002582 6f97 MOVWF 0x97,0x1 -002584 5028 MOVF 0x28,0x0,0x0 -002586 21a8 ADDWFC 0xa8,0x0,0x1 -002588 6f98 MOVWF 0x98,0x1 -003d2c d993 RCALL 0x4054 -003d2e 5025 MOVF 0x25,0x0,0x0 -003d30 0012 RETURN 0x0 -004054 682e SETF 0x2e,0x0 -004056 682f SETF 0x2f,0x0 -004058 6830 SETF 0x30,0x0 -00405a 6831 SETF 0x31,0x0 -00405c ef66 GOTO 0x8ecc -00405e f047 -00258a c01f MOVFF 0x1f,0x29 gTmpSteps2 = -globalStepCounter2 + gTmpJerk2; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -00258c f029 -00258e c020 MOVFF 0x20,0x2a -002590 f02a -002592 c021 MOVFF 0x21,0x2b -002594 f02b -002596 c022 MOVFF 0x22,0x2c -002598 f02c -00259a ec96 CALL 0x3d2c,0x0 -00259c f01e -00259e 010b MOVLB 0xb -0025a0 25a9 ADDWF 0xa9,0x0,0x1 -0025a2 6f99 MOVWF 0x99,0x1 -0025a4 5026 MOVF 0x26,0x0,0x0 -0025a6 21aa ADDWFC 0xaa,0x0,0x1 -0025a8 6f9a MOVWF 0x9a,0x1 -0025aa 5027 MOVF 0x27,0x0,0x0 -0025ac 21ab ADDWFC 0xab,0x0,0x1 -0025ae 6f9b MOVWF 0x9b,0x1 -0025b0 5028 MOVF 0x28,0x0,0x0 -0025b2 21ac ADDWFC 0xac,0x0,0x1 -0025b4 6f9c MOVWF 0x9c,0x1 +002572 c01b MOVFF 0x1b,0x3d gTmpSteps1 = -globalStepCounter1 + gTmpJerk1; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002574 f03d +002576 c01c MOVFF 0x1c,0x3e +002578 f03e +00257a c01d MOVFF 0x1d,0x3f +00257c f03f +00257e c01e MOVFF 0x1e,0x40 +002580 f040 +002582 eca6 CALL 0x3d4c,0x0 +002584 f01e +002586 0101 MOVLB 0x1 +002588 25df ADDWF 0xdf,0x0,0x1 +00258a 6fcf MOVWF 0xcf,0x1 +00258c 503a MOVF 0x3a,0x0,0x0 +00258e 21e0 ADDWFC 0xe0,0x0,0x1 +002590 6fd0 MOVWF 0xd0,0x1 +002592 503b MOVF 0x3b,0x0,0x0 +002594 21e1 ADDWFC 0xe1,0x0,0x1 +002596 6fd1 MOVWF 0xd1,0x1 +002598 503c MOVF 0x3c,0x0,0x0 +00259a 21e2 ADDWFC 0xe2,0x0,0x1 +00259c 6fd2 MOVWF 0xd2,0x1 +003d4c d994 RCALL 0x4076 +003d4e 5039 MOVF 0x39,0x0,0x0 +003d50 0012 RETURN 0x0 +004076 6842 SETF 0x42,0x0 +004078 6843 SETF 0x43,0x0 +00407a 6844 SETF 0x44,0x0 +00407c 6845 SETF 0x45,0x0 +00407e ef74 GOTO 0x8ee8 +004080 f047 +00259e c01f MOVFF 0x1f,0x3d gTmpSteps2 = -globalStepCounter2 + gTmpJerk2; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +0025a0 f03d +0025a2 c020 MOVFF 0x20,0x3e +0025a4 f03e +0025a6 c021 MOVFF 0x21,0x3f +0025a8 f03f +0025aa c022 MOVFF 0x22,0x40 +0025ac f040 +0025ae eca6 CALL 0x3d4c,0x0 +0025b0 f01e +0025b2 0101 MOVLB 0x1 +0025b4 25e3 ADDWF 0xe3,0x0,0x1 +0025b6 6fd3 MOVWF 0xd3,0x1 +0025b8 503a MOVF 0x3a,0x0,0x0 +0025ba 21e4 ADDWFC 0xe4,0x0,0x1 +0025bc 6fd4 MOVWF 0xd4,0x1 +0025be 503b MOVF 0x3b,0x0,0x0 +0025c0 21e5 ADDWFC 0xe5,0x0,0x1 +0025c2 6fd5 MOVWF 0xd5,0x1 +0025c4 503c MOVF 0x3c,0x0,0x0 +0025c6 21e6 ADDWFC 0xe6,0x0,0x1 +0025c8 6fd6 MOVWF 0xd6,0x1 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // Compute absolute value versions of steps for computation C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0025b6 0e80 MOVLW 0x80 if (gTmpSteps1 < 0) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0025b8 1598 ANDWF 0x98,0x0,0x1 -0025ba e006 BZ 0x25c8 +0025ca 0e80 MOVLW 0x80 if (gTmpSteps1 < 0) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +0025cc 15d2 ANDWF 0xd2,0x0,0x1 +0025ce e006 BZ 0x25dc { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0025bc ec1b CALL 0x3c36,0x0 gTmpAccel1 = -gTmpSteps1; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0025be f01e -0025c0 0e00 MOVLW 0x0 -0025c2 ec7e CALL 0x3cfc,0x0 -0025c4 f01e -003c36 cb95 MOVFF 0xb95,0xb9d -003c38 fb9d -003c3a cb96 MOVFF 0xb96,0xb9e -003c3c fb9e -003c3e cb97 MOVFF 0xb97,0xb9f -003c40 fb9f -003c42 cb98 MOVFF 0xb98,0xba0 -003c44 fba0 +0025d0 ec1b CALL 0x3c36,0x0 gTmpAccel1 = -gTmpSteps1; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +0025d2 f01e +0025d4 0e00 MOVLW 0x0 +0025d6 ec7e CALL 0x3cfc,0x0 +0025d8 f01e +003c36 c1cf MOVFF 0x1cf,0x1d7 +003c38 f1d7 +003c3a c1d0 MOVFF 0x1d0,0x1d8 +003c3c f1d8 +003c3e c1d1 MOVFF 0x1d1,0x1d9 +003c40 f1d9 +003c42 c1d2 MOVFF 0x1d2,0x1da +003c44 f1da 003c46 0012 RETURN 0x0 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0025c6 d002 BRA 0x25cc else C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +0025da d002 BRA 0x25e0 else C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0025c8 ec1b CALL 0x3c36,0x0 gTmpAccel1 = gTmpSteps1; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0025ca f01e +0025dc ec1b CALL 0x3c36,0x0 gTmpAccel1 = gTmpSteps1; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +0025de f01e } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0025cc 0e80 MOVLW 0x80 if (gTmpSteps2 < 0) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0025ce 159c ANDWF 0x9c,0x0,0x1 -0025d0 e006 BZ 0x25de +0025e0 0e80 MOVLW 0x80 if (gTmpSteps2 < 0) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +0025e2 15d6 ANDWF 0xd6,0x0,0x1 +0025e4 e006 BZ 0x25f2 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0025d2 ec24 CALL 0x3c48,0x0 gTmpAccel2 = -gTmpSteps2; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0025d4 f01e -0025d6 0e00 MOVLW 0x0 -0025d8 ec86 CALL 0x3d0c,0x0 -0025da f01e -003c48 cb99 MOVFF 0xb99,0xba1 -003c4a fba1 -003c4c cb9a MOVFF 0xb9a,0xba2 -003c4e fba2 -003c50 cb9b MOVFF 0xb9b,0xba3 -003c52 fba3 -003c54 cb9c MOVFF 0xb9c,0xba4 -003c56 fba4 +0025e6 ec24 CALL 0x3c48,0x0 gTmpAccel2 = -gTmpSteps2; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +0025e8 f01e +0025ea 0e00 MOVLW 0x0 +0025ec ec8e CALL 0x3d1c,0x0 +0025ee f01e +003c48 c1d3 MOVFF 0x1d3,0x1db +003c4a f1db +003c4c c1d4 MOVFF 0x1d4,0x1dc +003c4e f1dc +003c50 c1d5 MOVFF 0x1d5,0x1dd +003c52 f1dd +003c54 c1d6 MOVFF 0x1d6,0x1de +003c56 f1de 003c58 0012 RETURN 0x0 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0025dc d002 BRA 0x25e2 else C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +0025f0 d002 BRA 0x25f6 else C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0025de ec24 CALL 0x3c48,0x0 gTmpAccel2 = gTmpSteps2; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0025e0 f01e +0025f2 ec24 CALL 0x3c48,0x0 gTmpAccel2 = gTmpSteps2; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +0025f4 f01e } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // Check for too many steps to step C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0025e2 35a0 RLCF 0xa0,0x0,0x1 if ((gTmpAccel1 > 0xFFFFFFl) || (gTmpAccel2 > 0xFFFFFFl)) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0025e4 0e00 MOVLW 0x0 -0025e6 19a0 XORWF 0xa0,0x0,0x1 -0025e8 e609 BN 0x25fc -0025ea 80d8 BSF 0xd8,0x0,0x0 -0025ec 0eff MOVLW 0xff -0025ee 559d SUBFWB 0x9d,0x0,0x1 -0025f0 0eff MOVLW 0xff -0025f2 559e SUBFWB 0x9e,0x0,0x1 -0025f4 0eff MOVLW 0xff -0025f6 559f SUBFWB 0x9f,0x0,0x1 +0025f6 35da RLCF 0xda,0x0,0x1 if ((gTmpAccel1 > 0xFFFFFFl) || (gTmpAccel2 > 0xFFFFFFl)) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c 0025f8 0e00 MOVLW 0x0 -0025fa 55a0 SUBFWB 0xa0,0x0,0x1 -0025fc e30e BNC 0x261a -0025fe 35a4 RLCF 0xa4,0x0,0x1 -002600 0e00 MOVLW 0x0 -002602 19a4 XORWF 0xa4,0x0,0x1 -002604 e609 BN 0x2618 -002606 80d8 BSF 0xd8,0x0,0x0 +0025fa 19da XORWF 0xda,0x0,0x1 +0025fc e609 BN 0x2610 +0025fe 80d8 BSF 0xd8,0x0,0x0 +002600 0eff MOVLW 0xff +002602 55d7 SUBFWB 0xd7,0x0,0x1 +002604 0eff MOVLW 0xff +002606 55d8 SUBFWB 0xd8,0x0,0x1 002608 0eff MOVLW 0xff -00260a 55a1 SUBFWB 0xa1,0x0,0x1 -00260c 0eff MOVLW 0xff -00260e 55a2 SUBFWB 0xa2,0x0,0x1 -002610 0eff MOVLW 0xff -002612 55a3 SUBFWB 0xa3,0x0,0x1 +00260a 55d9 SUBFWB 0xd9,0x0,0x1 +00260c 0e00 MOVLW 0x0 +00260e 55da SUBFWB 0xda,0x0,0x1 +002610 e30e BNC 0x262e +002612 35de RLCF 0xde,0x0,0x1 002614 0e00 MOVLW 0x0 -002616 55a4 SUBFWB 0xa4,0x0,0x1 -002618 e204 BC 0x2622 +002616 19de XORWF 0xde,0x0,0x1 +002618 e609 BN 0x262c +00261a 80d8 BSF 0xd8,0x0,0x0 +00261c 0eff MOVLW 0xff +00261e 55db SUBFWB 0xdb,0x0,0x1 +002620 0eff MOVLW 0xff +002622 55dc SUBFWB 0xdc,0x0,0x1 +002624 0eff MOVLW 0xff +002626 55dd SUBFWB 0xdd,0x0,0x1 +002628 0e00 MOVLW 0x0 +00262a 55de SUBFWB 0xde,0x0,0x1 +00262c e204 BC 0x2636 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -00261a 0e4e MOVLW 0x4e ebb_print((far rom char *)"!0 Err: steps to home larger than 16,777,215."); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -00261c 6e33 MOVWF 0x33,0x0 -00261e 0e7b MOVLW 0x7b +00262e 0e6a MOVLW 0x6a ebb_print((far rom char *)"!0 Err: steps to home larger than 16,777,215."); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002630 6e47 MOVWF 0x47,0x0 +002632 0e7b MOVLW 0x7b print_line_ending(kLE_REV); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002620 d09d BRA 0x275c return; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002634 d09d BRA 0x2770 return; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // Compute duration based on step rate user requested. Take bigger step count to use for calculation C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002622 ece7 CALL 0x3dce,0x0 if (gTmpAccel1 > gTmpAccel2) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002624 f01e -002626 0e03 MOVLW 0x3 -002628 cfeb MOVFF 0xfeb,0xff3 -00262a fff3 -00262c 51a4 MOVF 0xa4,0x0,0x1 -00262e 18f3 XORWF 0xf3,0x0,0x0 -002630 aee8 BTFSS 0xe8,0x7,0x0 -002632 d002 BRA 0x2638 -002634 34f3 RLCF 0xf3,0x0,0x0 -002636 d008 BRA 0x2648 -002638 50ee MOVF 0xee,0x0,0x0 -00263a 5da1 SUBWF 0xa1,0x0,0x1 -00263c 50ee MOVF 0xee,0x0,0x0 -00263e 59a2 SUBWFB 0xa2,0x0,0x1 -002640 50ee MOVF 0xee,0x0,0x0 -002642 59a3 SUBWFB 0xa3,0x0,0x1 -002644 50ee MOVF 0xee,0x0,0x0 -002646 59a4 SUBWFB 0xa4,0x0,0x1 -002648 e301 BNC 0x264c -00264a d080 BRA 0x274c +002636 ecf7 CALL 0x3dee,0x0 if (gTmpAccel1 > gTmpAccel2) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002638 f01e +00263a 0e03 MOVLW 0x3 +00263c cfeb MOVFF 0xfeb,0xff3 +00263e fff3 +002640 51de MOVF 0xde,0x0,0x1 +002642 18f3 XORWF 0xf3,0x0,0x0 +002644 aee8 BTFSS 0xe8,0x7,0x0 +002646 d002 BRA 0x264c +002648 34f3 RLCF 0xf3,0x0,0x0 +00264a d008 BRA 0x265c +00264c 50ee MOVF 0xee,0x0,0x0 +00264e 5ddb SUBWF 0xdb,0x0,0x1 +002650 50ee MOVF 0xee,0x0,0x0 +002652 59dc SUBWFB 0xdc,0x0,0x1 +002654 50ee MOVF 0xee,0x0,0x0 +002656 59dd SUBWFB 0xdd,0x0,0x1 +002658 50ee MOVF 0xee,0x0,0x0 +00265a 59de SUBWFB 0xde,0x0,0x1 +00265c e301 BNC 0x2660 +00265e d080 BRA 0x2760 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -00264c ec46 CALL 0x408c,0x0 gTmpDurationMS = (gTmpAccel1 * 1000) / gTmpIntervals; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -00264e f020 -00408c dccc RCALL 0x3a26 -00408e ec41 CALL 0x3882,0x0 -004090 f01c -004092 dcb7 RCALL 0x3a02 -004094 efa5 GOTO 0x354a -004096 f01a +002660 ec57 CALL 0x40ae,0x0 gTmpDurationMS = (gTmpAccel1 * 1000) / gTmpIntervals; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002662 f020 +0040ae dcdf RCALL 0x3a6e +0040b0 ec54 CALL 0x38a8,0x0 +0040b2 f01c +0040b4 dcca RCALL 0x3a4a +0040b6 efb8 GOTO 0x3570 +0040b8 f01a // Axis1 is primary C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // Check for too fast C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002650 ec61 CALL 0x42c2,0x0 if ((gTmpIntervals/1000) > HIGH_ISR_TICKS_PER_MS) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002652 f021 -002654 e204 BC 0x265e -0042c2 ec91 CALL 0x3922,0x0 -0042c4 f01c -0042c6 ec41 CALL 0x3882,0x0 -0042c8 f01c -0042ca ef69 GOTO 0x3ed2 -0042cc f01f +002664 ec72 CALL 0x42e4,0x0 if ((gTmpIntervals/1000) > HIGH_ISR_TICKS_PER_MS) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002666 f021 +002668 e204 BC 0x2672 +0042e4 eca4 CALL 0x3948,0x0 +0042e6 f01c +0042e8 ec54 CALL 0x38a8,0x0 +0042ea f01c +0042ec ef79 GOTO 0x3ef2 +0042ee f01f { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002656 0e1d MOVLW 0x1d ebb_print((far rom char *)"!0 Err: HM step rate > 25K steps/second."); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002658 6e33 MOVWF 0x33,0x0 -00265a 0e7b MOVLW 0x7b +00266a 0e39 MOVLW 0x39 ebb_print((far rom char *)"!0 Err: HM step rate > 25K steps/second."); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +00266c 6e47 MOVWF 0x47,0x0 +00266e 0e7b MOVLW 0x7b print_line_ending(kLE_REV); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -00265c d07f BRA 0x275c return; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002670 d07f BRA 0x2770 return; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // Check for too slow, on the non-primary axis C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -00265e ecb9 CALL 0x3972,0x0 if ((INT32)(gTmpDurationMS/1311) >= gTmpAccel2 && gTmpAccel2 != 0) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002660 f01c -002662 010b MOVLB 0xb -002664 19a4 XORWF 0xa4,0x0,0x1 -002666 aee8 BTFSS 0xe8,0x7,0x0 -002668 d002 BRA 0x266e -00266a 35a4 RLCF 0xa4,0x0,0x1 -00266c d008 BRA 0x267e -00266e 51a1 MOVF 0xa1,0x0,0x1 -002670 5c29 SUBWF 0x29,0x0,0x0 -002672 51a2 MOVF 0xa2,0x0,0x1 -002674 582a SUBWFB 0x2a,0x0,0x0 -002676 51a3 MOVF 0xa3,0x0,0x1 -002678 582b SUBWFB 0x2b,0x0,0x0 -00267a 51a4 MOVF 0xa4,0x0,0x1 -00267c 582c SUBWFB 0x2c,0x0,0x0 -00267e e201 BC 0x2682 -002680 d0e8 BRA 0x2852 -002682 ecdd CALL 0x3dba,0x0 -002684 f01e -002686 e101 BNZ 0x268a -002688 d0e4 BRA 0x2852 -003972 dabb RCALL 0x3eea -003974 ecc3 CALL 0x4186,0x0 -003976 f020 -003978 ecfe CALL 0x8ffc,0x0 -00397a f047 -00397c 502c MOVF 0x2c,0x0,0x0 -00397e 0012 RETURN 0x0 -003dba 51a1 MOVF 0xa1,0x0,0x1 -003dbc 11a2 IORWF 0xa2,0x0,0x1 -003dbe 11a3 IORWF 0xa3,0x0,0x1 -003dc0 11a4 IORWF 0xa4,0x0,0x1 -003dc2 0012 RETURN 0x0 +002672 eccc CALL 0x3998,0x0 if ((INT32)(gTmpDurationMS/1311) >= gTmpAccel2 && gTmpAccel2 != 0) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002674 f01c +002676 0101 MOVLB 0x1 +002678 19de XORWF 0xde,0x0,0x1 +00267a aee8 BTFSS 0xe8,0x7,0x0 +00267c d002 BRA 0x2682 +00267e 35de RLCF 0xde,0x0,0x1 +002680 d008 BRA 0x2692 +002682 51db MOVF 0xdb,0x0,0x1 +002684 5c3d SUBWF 0x3d,0x0,0x0 +002686 51dc MOVF 0xdc,0x0,0x1 +002688 583e SUBWFB 0x3e,0x0,0x0 +00268a 51dd MOVF 0xdd,0x0,0x1 +00268c 583f SUBWFB 0x3f,0x0,0x0 +00268e 51de MOVF 0xde,0x0,0x1 +002690 5840 SUBWFB 0x40,0x0,0x0 +002692 e201 BC 0x2696 +002694 d0e8 BRA 0x2866 +002696 eced CALL 0x3dda,0x0 +002698 f01e +00269a e101 BNZ 0x269e +00269c d0e4 BRA 0x2866 +003998 dab8 RCALL 0x3f0a +00399a ecd4 CALL 0x41a8,0x0 +00399c f020 +00399e ec0c CALL 0x9018,0x0 +0039a0 f048 +0039a2 5040 MOVF 0x40,0x0,0x0 +0039a4 0012 RETURN 0x0 +003dda 51db MOVF 0xdb,0x0,0x1 +003ddc 11dc IORWF 0xdc,0x0,0x1 +003dde 11dd IORWF 0xdd,0x0,0x1 +003de0 11de IORWF 0xde,0x0,0x1 +003de2 0012 RETURN 0x0 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // We need to break apart the home into two moves. C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // The first will be to get the non-primary axis down to zero. C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // Recompute duration for the first move C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -00268a ec4c CALL 0x4098,0x0 gTmpDurationMS = (gTmpAccel2 * 1000) / gTmpIntervals; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -00268c f020 -004098 dccf RCALL 0x3a38 -00409a ec41 CALL 0x3882,0x0 -00409c f01c -00409e dcba RCALL 0x3a14 -0040a0 efa5 GOTO 0x354a -0040a2 f01a -00268e 010b MOVLB 0xb if (gTmpSteps1 > 0 && gTmpSteps2 > 0) // C C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002690 eca1 CALL 0x3d42,0x0 -002692 f01e -002694 e602 BN 0x269a -002696 eccf CALL 0x379e,0x0 -002698 f01b -00269a e206 BC 0x26a8 -00269c eca5 CALL 0x3d4a,0x0 -00269e f01e -0026a0 e602 BN 0x26a6 -0026a2 ecd9 CALL 0x37b2,0x0 -0026a4 f01b -0026a6 e31d BNC 0x26e2 +00269e ec5d CALL 0x40ba,0x0 gTmpDurationMS = (gTmpAccel2 * 1000) / gTmpIntervals; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +0026a0 f020 +0040ba dce2 RCALL 0x3a80 +0040bc ec54 CALL 0x38a8,0x0 +0040be f01c +0040c0 dccd RCALL 0x3a5c +0040c2 efb8 GOTO 0x3570 +0040c4 f01a +0026a2 0101 MOVLB 0x1 if (gTmpSteps1 > 0 && gTmpSteps2 > 0) // C C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +0026a4 ecb1 CALL 0x3d62,0x0 +0026a6 f01e +0026a8 e602 BN 0x26ae +0026aa ece2 CALL 0x37c4,0x0 +0026ac f01b +0026ae e206 BC 0x26bc +0026b0 ecb5 CALL 0x3d6a,0x0 +0026b2 f01e +0026b4 e602 BN 0x26ba +0026b6 ecec CALL 0x37d8,0x0 +0026b8 f01b +0026ba e31d BNC 0x26f6 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c XSteps = gTmpSteps2; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0026a8 0e80 MOVLW 0x80 else if (gTmpSteps1 < 0 && gTmpSteps2 > 0) // B C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0026aa 1598 ANDWF 0x98,0x0,0x1 -0026ac e006 BZ 0x26ba -0026ae eca5 CALL 0x3d4a,0x0 -0026b0 f01e -0026b2 e602 BN 0x26b8 -0026b4 ecd9 CALL 0x37b2,0x0 -0026b6 f01b -0026b8 e309 BNC 0x26cc +0026bc 0e80 MOVLW 0x80 else if (gTmpSteps1 < 0 && gTmpSteps2 > 0) // B C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +0026be 15d2 ANDWF 0xd2,0x0,0x1 +0026c0 e006 BZ 0x26ce +0026c2 ecb5 CALL 0x3d6a,0x0 +0026c4 f01e +0026c6 e602 BN 0x26cc +0026c8 ecec CALL 0x37d8,0x0 +0026ca f01b +0026cc e309 BNC 0x26e0 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c XSteps = -gTmpSteps2; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0026ba eca1 CALL 0x3d42,0x0 else if (gTmpSteps1 > 0 && gTmpSteps2 < 0) // D C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0026bc f01e -0026be e602 BN 0x26c4 -0026c0 eccf CALL 0x379e,0x0 -0026c2 f01b -0026c4 e208 BC 0x26d6 -0026c6 0e80 MOVLW 0x80 -0026c8 159c ANDWF 0x9c,0x0,0x1 -0026ca e005 BZ 0x26d6 +0026ce ecb1 CALL 0x3d62,0x0 else if (gTmpSteps1 > 0 && gTmpSteps2 < 0) // D C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +0026d0 f01e +0026d2 e602 BN 0x26d8 +0026d4 ece2 CALL 0x37c4,0x0 +0026d6 f01b +0026d8 e208 BC 0x26ea +0026da 0e80 MOVLW 0x80 +0026dc 15d6 ANDWF 0xd6,0x0,0x1 +0026de e005 BZ 0x26ea { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0026cc ec88 CALL 0x3910,0x0 XSteps = -gTmpSteps2; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0026ce f01c -0026d0 ec9a CALL 0x3934,0x0 -0026d2 f01c -003934 db8f RCALL 0x4054 -003936 0e01 MOVLW 0x1 -003938 c025 MOVFF 0x25,0xfdb -00393a ffdb -00393c 0e02 MOVLW 0x2 -00393e c026 MOVFF 0x26,0xfdb -003940 ffdb -003942 0e03 MOVLW 0x3 -003944 c027 MOVFF 0x27,0xfdb -003946 ffdb -003948 0e04 MOVLW 0x4 -00394a c028 MOVFF 0x28,0xfdb -00394c ffdb -00394e 0012 RETURN 0x0 +0026e0 ec9b CALL 0x3936,0x0 XSteps = -gTmpSteps2; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +0026e2 f01c +0026e4 ecad CALL 0x395a,0x0 +0026e6 f01c +00395a db8d RCALL 0x4076 +00395c 0e01 MOVLW 0x1 +00395e c039 MOVFF 0x39,0xfdb +003960 ffdb +003962 0e02 MOVLW 0x2 +003964 c03a MOVFF 0x3a,0xfdb +003966 ffdb +003968 0e03 MOVLW 0x3 +00396a c03b MOVFF 0x3b,0xfdb +00396c ffdb +00396e 0e04 MOVLW 0x4 +003970 c03c MOVFF 0x3c,0xfdb +003972 ffdb +003974 0012 RETURN 0x0 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0026d4 d012 BRA 0x26fa else if (gTmpSteps1 < 0 && gTmpSteps2 < 0) // A C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0026d6 0e80 MOVLW 0x80 -0026d8 1598 ANDWF 0x98,0x0,0x1 -0026da e00f BZ 0x26fa -0026dc 0e80 MOVLW 0x80 -0026de 159c ANDWF 0x9c,0x0,0x1 -0026e0 e00c BZ 0x26fa +0026e8 d012 BRA 0x270e else if (gTmpSteps1 < 0 && gTmpSteps2 < 0) // A C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +0026ea 0e80 MOVLW 0x80 +0026ec 15d2 ANDWF 0xd2,0x0,0x1 +0026ee e00f BZ 0x270e +0026f0 0e80 MOVLW 0x80 +0026f2 15d6 ANDWF 0xd6,0x0,0x1 +0026f4 e00c BZ 0x270e { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0026e2 0e01 MOVLW 0x1 XSteps = gTmpSteps2; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0026e4 cb99 MOVFF 0xb99,0xfdb -0026e6 ffdb -0026e8 0e02 MOVLW 0x2 -0026ea cb9a MOVFF 0xb9a,0xfdb -0026ec ffdb -0026ee 0e03 MOVLW 0x3 -0026f0 cb9b MOVFF 0xb9b,0xfdb -0026f2 ffdb -0026f4 0e04 MOVLW 0x4 -0026f6 cb9c MOVFF 0xb9c,0xfdb -0026f8 ffdb +0026f6 0e01 MOVLW 0x1 XSteps = gTmpSteps2; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +0026f8 c1d3 MOVFF 0x1d3,0xfdb +0026fa ffdb +0026fc 0e02 MOVLW 0x2 +0026fe c1d4 MOVFF 0x1d4,0xfdb +002700 ffdb +002702 0e03 MOVLW 0x3 +002704 c1d5 MOVFF 0x1d5,0xfdb +002706 ffdb +002708 0e04 MOVLW 0x4 +00270a c1d6 MOVFF 0x1d6,0xfdb +00270c ffdb } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // Save off a copy of Steps1 to restore after motor_move() C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0026fa cb95 MOVFF 0xb95,0xb8d gTmpRate1 = gTmpSteps1; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0026fc fb8d -0026fe cb96 MOVFF 0xb96,0xb8e -002700 fb8e -002702 cb97 MOVFF 0xb97,0xb8f -002704 fb8f -002706 cb98 MOVFF 0xb98,0xb90 -002708 fb90 +00270e c1cf MOVFF 0x1cf,0x1c7 gTmpRate1 = gTmpSteps1; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002710 f1c7 +002712 c1d0 MOVFF 0x1d0,0x1c8 +002714 f1c8 +002716 c1d1 MOVFF 0x1d1,0x1c9 +002718 f1c9 +00271a c1d2 MOVFF 0x1d2,0x1ca +00271c f1ca // motor_move() needs steps for motor 1 in gTmpSteps1 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -00270a 0e01 MOVLW 0x1 gTmpSteps1 = XSteps; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -00270c cfdb MOVFF 0xfdb,0xb95 -00270e fb95 -002710 0e02 MOVLW 0x2 -002712 cfdb MOVFF 0xfdb,0xb96 -002714 fb96 -002716 0e03 MOVLW 0x3 -002718 cfdb MOVFF 0xfdb,0xb97 -00271a fb97 -00271c 0e04 MOVLW 0x4 -00271e cfdb MOVFF 0xfdb,0xb98 -002720 fb98 -002722 ec52 CALL 0x40a4,0x0 gTmpClearAccs = 3; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002724 f020 -0040a4 010b MOVLB 0xb -0040a6 dc8a RCALL 0x39bc -0040a8 ecfd CALL 0x29fa,0x0 process_simple_motor_move(); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0040aa f014 +00271e 0e01 MOVLW 0x1 gTmpSteps1 = XSteps; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002720 cfdb MOVFF 0xfdb,0x1cf +002722 f1cf +002724 0e02 MOVLW 0x2 +002726 cfdb MOVFF 0xfdb,0x1d0 +002728 f1d0 +00272a 0e03 MOVLW 0x3 +00272c cfdb MOVFF 0xfdb,0x1d1 +00272e f1d1 +002730 0e04 MOVLW 0x4 +002732 cfdb MOVFF 0xfdb,0x1d2 +002734 f1d2 +002736 ec63 CALL 0x40c6,0x0 gTmpClearAccs = 3; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002738 f020 +0040c6 0101 MOVLB 0x1 +0040c8 dc8c RCALL 0x39e2 +0040ca ec07 CALL 0x2a0e,0x0 process_simple_motor_move(); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +0040cc f015 // Update both steps count for final move (use saved Steps1) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002726 010b MOVLB 0xb gTmpSteps1 = gTmpRate1 - XSteps; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002728 5d8d SUBWF 0x8d,0x0,0x1 -00272a 6f95 MOVWF 0x95,0x1 -00272c 50ee MOVF 0xee,0x0,0x0 -00272e 598e SUBWFB 0x8e,0x0,0x1 -002730 6f96 MOVWF 0x96,0x1 -002732 50ee MOVF 0xee,0x0,0x0 -002734 598f SUBWFB 0x8f,0x0,0x1 -002736 6f97 MOVWF 0x97,0x1 -002738 50ee MOVF 0xee,0x0,0x0 -00273a 5990 SUBWFB 0x90,0x0,0x1 -00273c 6f98 MOVWF 0x98,0x1 -0040ac ec10 CALL 0x3820,0x0 -0040ae f01c -0040b0 50ee MOVF 0xee,0x0,0x0 -0040b2 0012 RETURN 0x0 -00273e 6b99 CLRF 0x99,0x1 gTmpSteps2 = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002740 6b9a CLRF 0x9a,0x1 -002742 6b9b CLRF 0x9b,0x1 -002744 6b9c CLRF 0x9c,0x1 +00273a 0101 MOVLB 0x1 gTmpSteps1 = gTmpRate1 - XSteps; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +00273c 5dc7 SUBWF 0xc7,0x0,0x1 +00273e 6fcf MOVWF 0xcf,0x1 +002740 50ee MOVF 0xee,0x0,0x0 +002742 59c8 SUBWFB 0xc8,0x0,0x1 +002744 6fd0 MOVWF 0xd0,0x1 +002746 50ee MOVF 0xee,0x0,0x0 +002748 59c9 SUBWFB 0xc9,0x0,0x1 +00274a 6fd1 MOVWF 0xd1,0x1 +00274c 50ee MOVF 0xee,0x0,0x0 +00274e 59ca SUBWFB 0xca,0x0,0x1 +002750 6fd2 MOVWF 0xd2,0x1 +0040ce ec23 CALL 0x3846,0x0 +0040d0 f01c +0040d2 50ee MOVF 0xee,0x0,0x0 +0040d4 0012 RETURN 0x0 +002752 6bd3 CLRF 0xd3,0x1 gTmpSteps2 = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002754 6bd4 CLRF 0xd4,0x1 +002756 6bd5 CLRF 0xd5,0x1 +002758 6bd6 CLRF 0xd6,0x1 // Recompute duration C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002746 ec13 CALL 0x3a26,0x0 gTmpDurationMS = (gTmpAccel1 * 1000) / gTmpIntervals; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002748 f01d +00275a ec37 CALL 0x3a6e,0x0 gTmpDurationMS = (gTmpAccel1 * 1000) / gTmpIntervals; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +00275c f01d } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -00274a d07d BRA 0x2846 else C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +00275e d07d BRA 0x285a else C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -00274c ec4c CALL 0x4098,0x0 gTmpDurationMS = (gTmpAccel2 * 1000) / gTmpIntervals; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -00274e f020 -00354a ec66 CALL 0x8ecc,0x0 -00354c f047 -00354e c025 MOVFF 0x25,0x33 -003550 f033 -003552 c026 MOVFF 0x26,0x34 -003554 f034 -003556 c027 MOVFF 0x27,0x35 -003558 f035 -00355a c028 MOVFF 0x28,0x36 -00355c f036 -00355e c025 MOVFF 0x25,0x29 -003560 f029 -003562 c026 MOVFF 0x26,0x2a -003564 f02a -003566 c027 MOVFF 0x27,0x2b -003568 f02b -00356a c028 MOVFF 0x28,0x2c -00356c f02c -00356e cb89 MOVFF 0xb89,0x2e -003570 f02e -003572 cb8a MOVFF 0xb8a,0x2f -003574 f02f -003576 cb8b MOVFF 0xb8b,0x30 -003578 f030 -00357a cb8c MOVFF 0xb8c,0x31 -00357c f031 -00357e ecfe CALL 0x8ffc,0x0 -003580 f047 -003582 c029 MOVFF 0x29,0xb85 -003584 fb85 -003586 c02a MOVFF 0x2a,0xb86 -003588 fb86 -00358a c02b MOVFF 0x2b,0xb87 -00358c fb87 -00358e c02c MOVFF 0x2c,0xb88 -003590 fb88 -003592 0012 RETURN 0x0 -003a14 cba1 MOVFF 0xba1,0x29 -003a16 f029 -003a18 cba2 MOVFF 0xba2,0x2a -003a1a f02a -003a1c cba3 MOVFF 0xba3,0x2b -003a1e f02b -003a20 cba4 MOVFF 0xba4,0x2c -003a22 f02c -003a24 0012 RETURN 0x0 -003a38 cba1 MOVFF 0xba1,0x33 -003a3a f033 -003a3c cba2 MOVFF 0xba2,0x34 -003a3e f034 -003a40 cba3 MOVFF 0xba3,0x35 -003a42 f035 -003a44 cba4 MOVFF 0xba4,0x36 -003a46 f036 -003a48 0012 RETURN 0x0 +002760 ec5d CALL 0x40ba,0x0 gTmpDurationMS = (gTmpAccel2 * 1000) / gTmpIntervals; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002762 f020 +003570 ec74 CALL 0x8ee8,0x0 +003572 f047 +003574 c039 MOVFF 0x39,0x47 +003576 f047 +003578 c03a MOVFF 0x3a,0x48 +00357a f048 +00357c c03b MOVFF 0x3b,0x49 +00357e f049 +003580 c03c MOVFF 0x3c,0x4a +003582 f04a +003584 c039 MOVFF 0x39,0x3d +003586 f03d +003588 c03a MOVFF 0x3a,0x3e +00358a f03e +00358c c03b MOVFF 0x3b,0x3f +00358e f03f +003590 c03c MOVFF 0x3c,0x40 +003592 f040 +003594 c1c3 MOVFF 0x1c3,0x42 +003596 f042 +003598 c1c4 MOVFF 0x1c4,0x43 +00359a f043 +00359c c1c5 MOVFF 0x1c5,0x44 +00359e f044 +0035a0 c1c6 MOVFF 0x1c6,0x45 +0035a2 f045 +0035a4 ec0c CALL 0x9018,0x0 +0035a6 f048 +0035a8 c03d MOVFF 0x3d,0x1bf +0035aa f1bf +0035ac c03e MOVFF 0x3e,0x1c0 +0035ae f1c0 +0035b0 c03f MOVFF 0x3f,0x1c1 +0035b2 f1c1 +0035b4 c040 MOVFF 0x40,0x1c2 +0035b6 f1c2 +0035b8 0012 RETURN 0x0 +003a5c c1db MOVFF 0x1db,0x3d +003a5e f03d +003a60 c1dc MOVFF 0x1dc,0x3e +003a62 f03e +003a64 c1dd MOVFF 0x1dd,0x3f +003a66 f03f +003a68 c1de MOVFF 0x1de,0x40 +003a6a f040 +003a6c 0012 RETURN 0x0 +003a80 c1db MOVFF 0x1db,0x47 +003a82 f047 +003a84 c1dc MOVFF 0x1dc,0x48 +003a86 f048 +003a88 c1dd MOVFF 0x1dd,0x49 +003a8a f049 +003a8c c1de MOVFF 0x1de,0x4a +003a8e f04a +003a90 0012 RETURN 0x0 // Axis2 is primary C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // Check for too fast C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002750 ec61 CALL 0x42c2,0x0 if ((gTmpIntervals/1000) > HIGH_ISR_TICKS_PER_MS) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002752 f021 -002754 e206 BC 0x2762 -003922 cb89 MOVFF 0xb89,0x29 -003924 f029 -003926 cb8a MOVFF 0xb8a,0x2a -003928 f02a -00392a cb8b MOVFF 0xb8b,0x2b -00392c f02b -00392e cb8c MOVFF 0xb8c,0x2c -003930 f02c -003932 0012 RETURN 0x0 +002764 ec72 CALL 0x42e4,0x0 if ((gTmpIntervals/1000) > HIGH_ISR_TICKS_PER_MS) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002766 f021 +002768 e206 BC 0x2776 +003948 c1c3 MOVFF 0x1c3,0x3d +00394a f03d +00394c c1c4 MOVFF 0x1c4,0x3e +00394e f03e +003950 c1c5 MOVFF 0x1c5,0x3f +003952 f03f +003954 c1c6 MOVFF 0x1c6,0x40 +003956 f040 +003958 0012 RETURN 0x0 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002756 0eec MOVLW 0xec ebb_print((far rom char *)"!0 Err: HM step rate > 25K steps/second."); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002758 6e33 MOVWF 0x33,0x0 -00275a 0e7a MOVLW 0x7a -00275c ecd3 CALL 0x41a6,0x0 -00275e f020 +00276a 0e08 MOVLW 0x8 ebb_print((far rom char *)"!0 Err: HM step rate > 25K steps/second."); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +00276c 6e47 MOVWF 0x47,0x0 +00276e 0e7b MOVLW 0x7b +002770 ece4 CALL 0x41c8,0x0 +002772 f020 print_line_ending(kLE_REV); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002760 d093 BRA 0x2888 return; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002774 d093 BRA 0x289c return; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // Check for too slow, on the non-primary axis C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002762 ecb9 CALL 0x3972,0x0 if ((INT32)(gTmpDurationMS/1311) >= gTmpAccel1 && gTmpAccel1 != 0) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002764 f01c -002766 010b MOVLB 0xb -002768 19a0 XORWF 0xa0,0x0,0x1 -00276a aee8 BTFSS 0xe8,0x7,0x0 -00276c d002 BRA 0x2772 -00276e 35a0 RLCF 0xa0,0x0,0x1 -002770 d008 BRA 0x2782 -002772 519d MOVF 0x9d,0x0,0x1 -002774 5c29 SUBWF 0x29,0x0,0x0 -002776 519e MOVF 0x9e,0x0,0x1 -002778 582a SUBWFB 0x2a,0x0,0x0 -00277a 519f MOVF 0x9f,0x0,0x1 -00277c 582b SUBWFB 0x2b,0x0,0x0 -00277e 51a0 MOVF 0xa0,0x0,0x1 -002780 582c SUBWFB 0x2c,0x0,0x0 -002782 e367 BNC 0x2852 -002784 ecd8 CALL 0x3db0,0x0 -002786 f01e -002788 e064 BZ 0x2852 -003db0 519d MOVF 0x9d,0x0,0x1 -003db2 119e IORWF 0x9e,0x0,0x1 -003db4 119f IORWF 0x9f,0x0,0x1 -003db6 11a0 IORWF 0xa0,0x0,0x1 -003db8 0012 RETURN 0x0 +002776 eccc CALL 0x3998,0x0 if ((INT32)(gTmpDurationMS/1311) >= gTmpAccel1 && gTmpAccel1 != 0) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002778 f01c +00277a 0101 MOVLB 0x1 +00277c 19da XORWF 0xda,0x0,0x1 +00277e aee8 BTFSS 0xe8,0x7,0x0 +002780 d002 BRA 0x2786 +002782 35da RLCF 0xda,0x0,0x1 +002784 d008 BRA 0x2796 +002786 51d7 MOVF 0xd7,0x0,0x1 +002788 5c3d SUBWF 0x3d,0x0,0x0 +00278a 51d8 MOVF 0xd8,0x0,0x1 +00278c 583e SUBWFB 0x3e,0x0,0x0 +00278e 51d9 MOVF 0xd9,0x0,0x1 +002790 583f SUBWFB 0x3f,0x0,0x0 +002792 51da MOVF 0xda,0x0,0x1 +002794 5840 SUBWFB 0x40,0x0,0x0 +002796 e367 BNC 0x2866 +002798 ece8 CALL 0x3dd0,0x0 +00279a f01e +00279c e064 BZ 0x2866 +003dd0 51d7 MOVF 0xd7,0x0,0x1 +003dd2 11d8 IORWF 0xd8,0x0,0x1 +003dd4 11d9 IORWF 0xd9,0x0,0x1 +003dd6 11da IORWF 0xda,0x0,0x1 +003dd8 0012 RETURN 0x0 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // We need to break apart the home into two moves. C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // The first will be to get the non-primary axis down to zero. C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // Recompute duration for the first move C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -00278a ec46 CALL 0x408c,0x0 gTmpDurationMS = (gTmpAccel1 * 1000) / gTmpIntervals; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -00278c f020 -003a02 cb9d MOVFF 0xb9d,0x29 -003a04 f029 -003a06 cb9e MOVFF 0xb9e,0x2a -003a08 f02a -003a0a cb9f MOVFF 0xb9f,0x2b -003a0c f02b -003a0e cba0 MOVFF 0xba0,0x2c -003a10 f02c -003a12 0012 RETURN 0x0 -003a26 cb9d MOVFF 0xb9d,0x33 -003a28 f033 -003a2a cb9e MOVFF 0xb9e,0x34 -003a2c f034 -003a2e cb9f MOVFF 0xb9f,0x35 -003a30 f035 -003a32 cba0 MOVFF 0xba0,0x36 -003a34 f036 -003a36 0012 RETURN 0x0 -00278e 010b MOVLB 0xb if (gTmpSteps2 > 0 && gTmpSteps1 > 0) // C C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002790 eca5 CALL 0x3d4a,0x0 -002792 f01e -002794 e602 BN 0x279a -002796 ecd9 CALL 0x37b2,0x0 -002798 f01b -00279a e206 BC 0x27a8 -00279c eca1 CALL 0x3d42,0x0 -00279e f01e -0027a0 e602 BN 0x27a6 -0027a2 eccf CALL 0x379e,0x0 -0027a4 f01b -0027a6 e31d BNC 0x27e2 +00279e ec57 CALL 0x40ae,0x0 gTmpDurationMS = (gTmpAccel1 * 1000) / gTmpIntervals; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +0027a0 f020 +003a4a c1d7 MOVFF 0x1d7,0x3d +003a4c f03d +003a4e c1d8 MOVFF 0x1d8,0x3e +003a50 f03e +003a52 c1d9 MOVFF 0x1d9,0x3f +003a54 f03f +003a56 c1da MOVFF 0x1da,0x40 +003a58 f040 +003a5a 0012 RETURN 0x0 +003a6e c1d7 MOVFF 0x1d7,0x47 +003a70 f047 +003a72 c1d8 MOVFF 0x1d8,0x48 +003a74 f048 +003a76 c1d9 MOVFF 0x1d9,0x49 +003a78 f049 +003a7a c1da MOVFF 0x1da,0x4a +003a7c f04a +003a7e 0012 RETURN 0x0 +0027a2 0101 MOVLB 0x1 if (gTmpSteps2 > 0 && gTmpSteps1 > 0) // C C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +0027a4 ecb5 CALL 0x3d6a,0x0 +0027a6 f01e +0027a8 e602 BN 0x27ae +0027aa ecec CALL 0x37d8,0x0 +0027ac f01b +0027ae e206 BC 0x27bc +0027b0 ecb1 CALL 0x3d62,0x0 +0027b2 f01e +0027b4 e602 BN 0x27ba +0027b6 ece2 CALL 0x37c4,0x0 +0027b8 f01b +0027ba e31d BNC 0x27f6 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c XSteps = gTmpSteps1; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0027a8 0e80 MOVLW 0x80 else if (gTmpSteps2 < 0 && gTmpSteps1 > 0) // B C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0027aa 159c ANDWF 0x9c,0x0,0x1 -0027ac e006 BZ 0x27ba -0027ae eca1 CALL 0x3d42,0x0 -0027b0 f01e -0027b2 e602 BN 0x27b8 -0027b4 eccf CALL 0x379e,0x0 -0027b6 f01b -0027b8 e309 BNC 0x27cc +0027bc 0e80 MOVLW 0x80 else if (gTmpSteps2 < 0 && gTmpSteps1 > 0) // B C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +0027be 15d6 ANDWF 0xd6,0x0,0x1 +0027c0 e006 BZ 0x27ce +0027c2 ecb1 CALL 0x3d62,0x0 +0027c4 f01e +0027c6 e602 BN 0x27cc +0027c8 ece2 CALL 0x37c4,0x0 +0027ca f01b +0027cc e309 BNC 0x27e0 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c XSteps = -gTmpSteps1; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0027ba eca5 CALL 0x3d4a,0x0 else if (gTmpSteps2 > 0 && gTmpSteps1 < 0) // D C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0027bc f01e -0027be e602 BN 0x27c4 -0027c0 ecd9 CALL 0x37b2,0x0 -0027c2 f01b -0027c4 e208 BC 0x27d6 -0027c6 0e80 MOVLW 0x80 -0027c8 1598 ANDWF 0x98,0x0,0x1 -0027ca e005 BZ 0x27d6 +0027ce ecb5 CALL 0x3d6a,0x0 else if (gTmpSteps2 > 0 && gTmpSteps1 < 0) // D C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +0027d0 f01e +0027d2 e602 BN 0x27d8 +0027d4 ecec CALL 0x37d8,0x0 +0027d6 f01b +0027d8 e208 BC 0x27ea +0027da 0e80 MOVLW 0x80 +0027dc 15d2 ANDWF 0xd2,0x0,0x1 +0027de e005 BZ 0x27ea { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0027cc ec28 CALL 0x3850,0x0 XSteps = -gTmpSteps1; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0027ce f01c -0027d0 ec9a CALL 0x3934,0x0 -0027d2 f01c +0027e0 ec3b CALL 0x3876,0x0 XSteps = -gTmpSteps1; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +0027e2 f01c +0027e4 ecad CALL 0x395a,0x0 +0027e6 f01c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0027d4 d012 BRA 0x27fa else if (gTmpSteps2 < 0 && gTmpSteps1 < 0) // A C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0027d6 0e80 MOVLW 0x80 -0027d8 159c ANDWF 0x9c,0x0,0x1 -0027da e00f BZ 0x27fa -0027dc 0e80 MOVLW 0x80 -0027de 1598 ANDWF 0x98,0x0,0x1 -0027e0 e00c BZ 0x27fa +0027e8 d012 BRA 0x280e else if (gTmpSteps2 < 0 && gTmpSteps1 < 0) // A C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +0027ea 0e80 MOVLW 0x80 +0027ec 15d6 ANDWF 0xd6,0x0,0x1 +0027ee e00f BZ 0x280e +0027f0 0e80 MOVLW 0x80 +0027f2 15d2 ANDWF 0xd2,0x0,0x1 +0027f4 e00c BZ 0x280e { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0027e2 0e01 MOVLW 0x1 XSteps = gTmpSteps1; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0027e4 cb95 MOVFF 0xb95,0xfdb -0027e6 ffdb -0027e8 0e02 MOVLW 0x2 -0027ea cb96 MOVFF 0xb96,0xfdb -0027ec ffdb -0027ee 0e03 MOVLW 0x3 -0027f0 cb97 MOVFF 0xb97,0xfdb -0027f2 ffdb -0027f4 0e04 MOVLW 0x4 -0027f6 cb98 MOVFF 0xb98,0xfdb -0027f8 ffdb +0027f6 0e01 MOVLW 0x1 XSteps = gTmpSteps1; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +0027f8 c1cf MOVFF 0x1cf,0xfdb +0027fa ffdb +0027fc 0e02 MOVLW 0x2 +0027fe c1d0 MOVFF 0x1d0,0xfdb +002800 ffdb +002802 0e03 MOVLW 0x3 +002804 c1d1 MOVFF 0x1d1,0xfdb +002806 ffdb +002808 0e04 MOVLW 0x4 +00280a c1d2 MOVFF 0x1d2,0xfdb +00280c ffdb } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // Save off a copy of Steps2 to restore after motor_move() C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0027fa cb99 MOVFF 0xb99,0xb91 gTmpRate2 = gTmpSteps2; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0027fc fb91 -0027fe cb9a MOVFF 0xb9a,0xb92 -002800 fb92 -002802 cb9b MOVFF 0xb9b,0xb93 -002804 fb93 -002806 cb9c MOVFF 0xb9c,0xb94 -002808 fb94 +00280e c1d3 MOVFF 0x1d3,0x1cb gTmpRate2 = gTmpSteps2; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002810 f1cb +002812 c1d4 MOVFF 0x1d4,0x1cc +002814 f1cc +002816 c1d5 MOVFF 0x1d5,0x1cd +002818 f1cd +00281a c1d6 MOVFF 0x1d6,0x1ce +00281c f1ce // motor_move() needs steps for motor 2 in gTmpSteps2 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -00280a 0e01 MOVLW 0x1 gTmpSteps2 = XSteps; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -00280c cfdb MOVFF 0xfdb,0xb99 -00280e fb99 -002810 0e02 MOVLW 0x2 -002812 cfdb MOVFF 0xfdb,0xb9a -002814 fb9a -002816 0e03 MOVLW 0x3 -002818 cfdb MOVFF 0xfdb,0xb9b -00281a fb9b -00281c 0e04 MOVLW 0x4 -00281e cfdb MOVFF 0xfdb,0xb9c -002820 fb9c -002822 ec52 CALL 0x40a4,0x0 gTmpClearAccs = 3; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002824 f020 +00281e 0e01 MOVLW 0x1 gTmpSteps2 = XSteps; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002820 cfdb MOVFF 0xfdb,0x1d3 +002822 f1d3 +002824 0e02 MOVLW 0x2 +002826 cfdb MOVFF 0xfdb,0x1d4 +002828 f1d4 +00282a 0e03 MOVLW 0x3 +00282c cfdb MOVFF 0xfdb,0x1d5 +00282e f1d5 +002830 0e04 MOVLW 0x4 +002832 cfdb MOVFF 0xfdb,0x1d6 +002834 f1d6 +002836 ec63 CALL 0x40c6,0x0 gTmpClearAccs = 3; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002838 f020 process_simple_motor_move(); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // Update both steps count for final move (use saved Steps2) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002826 010b MOVLB 0xb gTmpSteps2 = gTmpRate2 - XSteps; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002828 5d91 SUBWF 0x91,0x0,0x1 -00282a 6f99 MOVWF 0x99,0x1 -00282c 50ee MOVF 0xee,0x0,0x0 -00282e 5992 SUBWFB 0x92,0x0,0x1 -002830 6f9a MOVWF 0x9a,0x1 -002832 50ee MOVF 0xee,0x0,0x0 -002834 5993 SUBWFB 0x93,0x0,0x1 -002836 6f9b MOVWF 0x9b,0x1 -002838 50ee MOVF 0xee,0x0,0x0 -00283a 5994 SUBWFB 0x94,0x0,0x1 -00283c 6f9c MOVWF 0x9c,0x1 -003820 50d9 MOVF 0xd9,0x0,0x0 -003822 0f01 ADDLW 0x1 -003824 6ee9 MOVWF 0xe9,0x0 -003826 cfda MOVFF 0xfda,0xfea -003828 ffea -00382a 0012 RETURN 0x0 -00283e ecd8 CALL 0x41b0,0x0 gTmpSteps1 = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002840 f020 +00283a 0101 MOVLB 0x1 gTmpSteps2 = gTmpRate2 - XSteps; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +00283c 5dcb SUBWF 0xcb,0x0,0x1 +00283e 6fd3 MOVWF 0xd3,0x1 +002840 50ee MOVF 0xee,0x0,0x0 +002842 59cc SUBWFB 0xcc,0x0,0x1 +002844 6fd4 MOVWF 0xd4,0x1 +002846 50ee MOVF 0xee,0x0,0x0 +002848 59cd SUBWFB 0xcd,0x0,0x1 +00284a 6fd5 MOVWF 0xd5,0x1 +00284c 50ee MOVF 0xee,0x0,0x0 +00284e 59ce SUBWFB 0xce,0x0,0x1 +002850 6fd6 MOVWF 0xd6,0x1 +003846 50d9 MOVF 0xd9,0x0,0x0 +003848 0f01 ADDLW 0x1 +00384a 6ee9 MOVWF 0xe9,0x0 +00384c cfda MOVFF 0xfda,0xfea +00384e ffea +003850 0012 RETURN 0x0 +002852 ece9 CALL 0x41d2,0x0 gTmpSteps1 = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002854 f020 // Recompute duration C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002842 ec1c CALL 0x3a38,0x0 gTmpDurationMS = (gTmpAccel2 * 1000) / gTmpIntervals; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002844 f01d -002846 ec41 CALL 0x3882,0x0 -002848 f01c -00284a ec5a CALL 0x40b4,0x0 -00284c f020 -00284e eca5 CALL 0x354a,0x0 -002850 f01a -003882 0ee8 MOVLW 0xe8 -003884 6e2e MOVWF 0x2e,0x0 -003886 0e03 MOVLW 0x3 -003888 6e2f MOVWF 0x2f,0x0 -00388a 6a30 CLRF 0x30,0x0 -00388c 6a31 CLRF 0x31,0x0 -00388e 0012 RETURN 0x0 -0040b4 c033 MOVFF 0x33,0x29 -0040b6 f029 -0040b8 c034 MOVFF 0x34,0x2a -0040ba f02a -0040bc c035 MOVFF 0x35,0x2b -0040be f02b -0040c0 c036 MOVFF 0x36,0x2c -0040c2 f02c -0040c4 0012 RETURN 0x0 +002856 ec40 CALL 0x3a80,0x0 gTmpDurationMS = (gTmpAccel2 * 1000) / gTmpIntervals; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002858 f01d +00285a ec54 CALL 0x38a8,0x0 +00285c f01c +00285e ec6b CALL 0x40d6,0x0 +002860 f020 +002862 ecb8 CALL 0x3570,0x0 +002864 f01a +0038a8 0ee8 MOVLW 0xe8 +0038aa 6e42 MOVWF 0x42,0x0 +0038ac 0e03 MOVLW 0x3 +0038ae 6e43 MOVWF 0x43,0x0 +0038b0 6a44 CLRF 0x44,0x0 +0038b2 6a45 CLRF 0x45,0x0 +0038b4 0012 RETURN 0x0 +0040d6 c047 MOVFF 0x47,0x3d +0040d8 f03d +0040da c048 MOVFF 0x48,0x3e +0040dc f03e +0040de c049 MOVFF 0x49,0x3f +0040e0 f03f +0040e2 c04a MOVFF 0x4a,0x40 +0040e4 f040 +0040e6 0012 RETURN 0x0 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002852 0e0a MOVLW 0xa if (gTmpDurationMS < 10u) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002854 010b MOVLB 0xb -002856 5d85 SUBWF 0x85,0x0,0x1 -002858 0e00 MOVLW 0x0 -00285a 5986 SUBWFB 0x86,0x0,0x1 -00285c 0e00 MOVLW 0x0 -00285e 5987 SUBWFB 0x87,0x0,0x1 -002860 0e00 MOVLW 0x0 -002862 5988 SUBWFB 0x88,0x0,0x1 -002864 e205 BC 0x2870 +002866 0e0a MOVLW 0xa if (gTmpDurationMS < 10u) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002868 0101 MOVLB 0x1 +00286a 5dbf SUBWF 0xbf,0x0,0x1 +00286c 0e00 MOVLW 0x0 +00286e 59c0 SUBWFB 0xc0,0x0,0x1 +002870 0e00 MOVLW 0x0 +002872 59c1 SUBWFB 0xc1,0x0,0x1 +002874 0e00 MOVLW 0x0 +002876 59c2 SUBWFB 0xc2,0x0,0x1 +002878 e205 BC 0x2884 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002866 0e0a MOVLW 0xa gTmpDurationMS = 10; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002868 6f85 MOVWF 0x85,0x1 -00286a 6b86 CLRF 0x86,0x1 -00286c 6b87 CLRF 0x87,0x1 -00286e 6b88 CLRF 0x88,0x1 +00287a 0e0a MOVLW 0xa gTmpDurationMS = 10; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +00287c 6fbf MOVWF 0xbf,0x1 +00287e 6bc0 CLRF 0xc0,0x1 +002880 6bc1 CLRF 0xc1,0x1 +002882 6bc2 CLRF 0xc2,0x1 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002870 aa09 BTFSS 0x9,0x5,0x0 if(bittst(TestMode, TEST_MODE_DEBUG_COMMAND_BIT_NUM)) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002872 d005 BRA 0x287e +002884 aa09 BTFSS 0x9,0x5,0x0 if(bittst(TestMode, TEST_MODE_DEBUG_COMMAND_BIT_NUM)) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002886 d005 BRA 0x2892 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002874 0edf MOVLW 0xdf ebb_print((far rom char *)"HM Duration="); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002876 6e33 MOVWF 0x33,0x0 -002878 0e7a MOVLW 0x7a -00287a ec34 CALL 0x3e68,0x0 -00287c f01f -003e68 d9e9 RCALL 0x423c +002888 0efb MOVLW 0xfb ebb_print((far rom char *)"HM Duration="); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +00288a 6e47 MOVWF 0x47,0x0 +00288c 0e7a MOVLW 0x7a +00288e ec44 CALL 0x3e88,0x0 +002890 f01f +003e88 d9ea RCALL 0x425e ebb_print_uint(gTmpDurationMS); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -003e6a 0ed9 MOVLW 0xd9 ebb_print((far rom char *)" SA1="); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -003e6c 6e33 MOVWF 0x33,0x0 -003e6e 0e7a MOVLW 0x7a -003e70 ec97 CALL 0x352e,0x0 -003e72 f01a -003e74 cb95 MOVFF 0xb95,0xfe6 ebb_print_int(gTmpSteps1); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -003e76 ffe6 -003e78 cb96 MOVFF 0xb96,0xfe6 -003e7a ffe6 -003e7c cb97 MOVFF 0xb97,0xfe6 -003e7e ffe6 -003e80 cb98 MOVFF 0xb98,0xfe6 -003e82 ffe6 -003e84 dc4f RCALL 0x3724 -003e86 0ed3 MOVLW 0xd3 ebb_print((far rom char *)" SA2="); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -003e88 6e33 MOVWF 0x33,0x0 -003e8a 0e7a MOVLW 0x7a -003e8c ec97 CALL 0x352e,0x0 -003e8e f01a -003e90 cb99 MOVFF 0xb99,0xfe6 ebb_print_int(gTmpSteps2); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -003e92 ffe6 -003e94 cb9a MOVFF 0xb9a,0xfe6 +003e8a 0ef5 MOVLW 0xf5 ebb_print((far rom char *)" SA1="); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +003e8c 6e47 MOVWF 0x47,0x0 +003e8e 0e7a MOVLW 0x7a +003e90 ecaa CALL 0x3554,0x0 +003e92 f01a +003e94 c1cf MOVFF 0x1cf,0xfe6 ebb_print_int(gTmpSteps1); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c 003e96 ffe6 -003e98 cb9b MOVFF 0xb9b,0xfe6 +003e98 c1d0 MOVFF 0x1d0,0xfe6 003e9a ffe6 -003e9c cb9c MOVFF 0xb9c,0xfe6 +003e9c c1d1 MOVFF 0x1d1,0xfe6 003e9e ffe6 -003ea0 ef6d GOTO 0x42da -003ea2 f021 -0042da ec92 CALL 0x3724,0x0 -0042dc f01b -0042de efc4 GOTO 0x3788 print_line_ending(kLE_REV); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0042e0 f01b +003ea0 c1d2 MOVFF 0x1d2,0xfe6 +003ea2 ffe6 +003ea4 dc52 RCALL 0x374a +003ea6 0eef MOVLW 0xef ebb_print((far rom char *)" SA2="); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +003ea8 6e47 MOVWF 0x47,0x0 +003eaa 0e7a MOVLW 0x7a +003eac ecaa CALL 0x3554,0x0 +003eae f01a +003eb0 c1d3 MOVFF 0x1d3,0xfe6 ebb_print_int(gTmpSteps2); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +003eb2 ffe6 +003eb4 c1d4 MOVFF 0x1d4,0xfe6 +003eb6 ffe6 +003eb8 c1d5 MOVFF 0x1d5,0xfe6 +003eba ffe6 +003ebc c1d6 MOVFF 0x1d6,0xfe6 +003ebe ffe6 +003ec0 ef7e GOTO 0x42fc +003ec2 f021 +0042fc eca5 CALL 0x374a,0x0 +0042fe f01b +004300 efd7 GOTO 0x37ae print_line_ending(kLE_REV); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +004302 f01b } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // If we get here, we know that step rate for both A1 and A2 is C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // between 25KHz and 1.31Hz which are the limits of what EBB can do. C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -00287e 010b MOVLB 0xb gTmpClearAccs = 3; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002880 ecde CALL 0x39bc,0x0 -002882 f01c -002884 d8ba RCALL 0x29fa process_simple_motor_move(); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002892 0101 MOVLB 0x1 gTmpClearAccs = 3; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002894 ecf1 CALL 0x39e2,0x0 +002896 f01c +002898 d8ba RCALL 0x2a0e process_simple_motor_move(); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002886 6ae6 CLRF 0xe6,0x0 print_line_ending(kLE_OK_NORM); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002888 ec22 CALL 0x5244,0x0 -00288a f029 -00288c 52e5 MOVF 0xe5,0x1,0x0 -00288e 0e05 MOVLW 0x5 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002890 5ce1 SUBWF 0xe1,0x0,0x0 -002892 e202 BC 0x2898 -002894 6ae1 CLRF 0xe1,0x0 -002896 52e5 MOVF 0xe5,0x1,0x0 -002898 ef9c GOTO 0x3738 -00289a f01b +00289a 6ae6 CLRF 0xe6,0x0 print_line_ending(kLE_OK_NORM); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +00289c ec30 CALL 0x5260,0x0 +00289e f029 +0028a0 52e5 MOVF 0xe5,0x1,0x0 +0028a2 0e05 MOVLW 0x5 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +0028a4 5ce1 SUBWF 0xe1,0x0,0x0 +0028a6 e202 BC 0x28ac +0028a8 6ae1 CLRF 0xe1,0x0 +0028aa 52e5 MOVF 0xe5,0x1,0x0 +0028ac efaf GOTO 0x375e +0028ae f01b C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // The X Stepper Motor command C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // Usage: XM,,, C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c @@ -11981,8 +12001,8 @@ Address Value Disassembly Source // needed for their original purpose. C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // gTmpAccel1 will be used for ASteps C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // gTmpAccel2 will be used for BSteps C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -00289c ec7e CALL 0x3efc,0x0 void parse_XM_packet(void) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -00289e f01f +0028b0 ec9e CALL 0x3f3c,0x0 void parse_XM_packet(void) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +0028b2 f01f { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c INT32 Steps = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c @@ -11990,433 +12010,433 @@ Address Value Disassembly Source C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // Extract each of the values. C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c extract_number(kULONG, &gTmpDurationMS, kREQUIRED); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0028a0 0e9d MOVLW 0x9d extract_number(kLONG, &gTmpAccel1, kREQUIRED); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0028a2 6ee6 MOVWF 0xe6,0x0 -0028a4 0e0b MOVLW 0xb -0028a6 ec2a CALL 0x4254,0x0 -0028a8 f021 -003e56 da74 RCALL 0x4340 -003e58 6ae6 CLRF 0xe6,0x0 extract_number(kLONG, &gTmpAccel2, kREQUIRED); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -003e5a 0012 RETURN 0x0 +0028b4 0ed7 MOVLW 0xd7 extract_number(kLONG, &gTmpAccel1, kREQUIRED); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +0028b6 6ee6 MOVWF 0xe6,0x0 +0028b8 0e01 MOVLW 0x1 +0028ba ec3b CALL 0x4276,0x0 +0028bc f021 +003e76 da72 RCALL 0x435c +003e78 6ae6 CLRF 0xe6,0x0 extract_number(kLONG, &gTmpAccel2, kREQUIRED); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +003e7a 0012 RETURN 0x0 extract_number(kULONG, &gTmpClearAccs, kOPTIONAL); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0028aa ec1d CALL 0x383a,0x0 if (gTmpClearAccs > 3u) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0028ac f01c -0028ae e202 BC 0x28b4 +0028be ec30 CALL 0x3860,0x0 if (gTmpClearAccs > 3u) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +0028c0 f01c +0028c2 e202 BC 0x28c8 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0028b0 ecde CALL 0x39bc,0x0 gTmpClearAccs = 3; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0028b2 f01c +0028c4 ecf1 CALL 0x39e2,0x0 gTmpClearAccs = 3; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +0028c6 f01c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0028b4 5183 MOVF 0x83,0x0,0x1 if (gLimitChecks) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0028b6 e007 BZ 0x28c6 +0028c8 51bd MOVF 0xbd,0x0,0x1 if (gLimitChecks) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +0028ca e007 BZ 0x28da { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // Check for invalid duration C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0028b8 5185 MOVF 0x85,0x0,0x1 if (gTmpDurationMS == 0u) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0028ba 1186 IORWF 0x86,0x0,0x1 -0028bc 1187 IORWF 0x87,0x0,0x1 -0028be 1188 IORWF 0x88,0x0,0x1 -0028c0 e102 BNZ 0x28c6 +0028cc 51bf MOVF 0xbf,0x0,0x1 if (gTmpDurationMS == 0u) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +0028ce 11c0 IORWF 0xc0,0x0,0x1 +0028d0 11c1 IORWF 0xc1,0x0,0x1 +0028d2 11c2 IORWF 0xc2,0x0,0x1 +0028d4 e102 BNZ 0x28da { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0028c2 0100 MOVLB 0x0 bitset(error_byte, kERROR_BYTE_PARAMETER_OUTSIDE_LIMIT); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0028c4 8d97 BSF 0x97,0x6,0x1 +0028d6 0100 MOVLB 0x0 bitset(error_byte, kERROR_BYTE_PARAMETER_OUTSIDE_LIMIT); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +0028d8 8d97 BSF 0x97,0x6,0x1 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // Do the math to convert to Axis1 and Axis2 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0028c6 ecf1 CALL 0x3de2,0x0 gTmpSteps1 = gTmpAccel1 + gTmpAccel2; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0028c8 f01e -0028ca 010b MOVLB 0xb -0028cc 519d MOVF 0x9d,0x0,0x1 -0028ce 24ee ADDWF 0xee,0x0,0x0 -0028d0 6f95 MOVWF 0x95,0x1 -0028d2 519e MOVF 0x9e,0x0,0x1 -0028d4 20ee ADDWFC 0xee,0x0,0x0 -0028d6 6f96 MOVWF 0x96,0x1 -0028d8 519f MOVF 0x9f,0x0,0x1 -0028da 20ee ADDWFC 0xee,0x0,0x0 -0028dc 6f97 MOVWF 0x97,0x1 -0028de 51a0 MOVF 0xa0,0x0,0x1 -0028e0 20ee ADDWFC 0xee,0x0,0x0 -0028e2 6f98 MOVWF 0x98,0x1 -0028e4 ecf1 CALL 0x3de2,0x0 gTmpSteps2 = gTmpAccel1 - gTmpAccel2; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0028e6 f01e -0028e8 50ee MOVF 0xee,0x0,0x0 -0028ea 5d9d SUBWF 0x9d,0x0,0x1 -0028ec 6f99 MOVWF 0x99,0x1 -0028ee 50ee MOVF 0xee,0x0,0x0 -0028f0 599e SUBWFB 0x9e,0x0,0x1 -0028f2 6f9a MOVWF 0x9a,0x1 -0028f4 50ee MOVF 0xee,0x0,0x0 -0028f6 599f SUBWFB 0x9f,0x0,0x1 -0028f8 6f9b MOVWF 0x9b,0x1 -0028fa 50ee MOVF 0xee,0x0,0x0 -0028fc 59a0 SUBWFB 0xa0,0x0,0x1 -0028fe 6f9c MOVWF 0x9c,0x1 -003de2 0ea1 MOVLW 0xa1 -003de4 6ee9 MOVWF 0xe9,0x0 -003de6 0e0b MOVLW 0xb -003de8 6eea MOVWF 0xea,0x0 -003dea 0012 RETURN 0x0 +0028da ec01 CALL 0x3e02,0x0 gTmpSteps1 = gTmpAccel1 + gTmpAccel2; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +0028dc f01f +0028de 0101 MOVLB 0x1 +0028e0 51d7 MOVF 0xd7,0x0,0x1 +0028e2 24ee ADDWF 0xee,0x0,0x0 +0028e4 6fcf MOVWF 0xcf,0x1 +0028e6 51d8 MOVF 0xd8,0x0,0x1 +0028e8 20ee ADDWFC 0xee,0x0,0x0 +0028ea 6fd0 MOVWF 0xd0,0x1 +0028ec 51d9 MOVF 0xd9,0x0,0x1 +0028ee 20ee ADDWFC 0xee,0x0,0x0 +0028f0 6fd1 MOVWF 0xd1,0x1 +0028f2 51da MOVF 0xda,0x0,0x1 +0028f4 20ee ADDWFC 0xee,0x0,0x0 +0028f6 6fd2 MOVWF 0xd2,0x1 +0028f8 ec01 CALL 0x3e02,0x0 gTmpSteps2 = gTmpAccel1 - gTmpAccel2; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +0028fa f01f +0028fc 50ee MOVF 0xee,0x0,0x0 +0028fe 5dd7 SUBWF 0xd7,0x0,0x1 +002900 6fd3 MOVWF 0xd3,0x1 +002902 50ee MOVF 0xee,0x0,0x0 +002904 59d8 SUBWFB 0xd8,0x0,0x1 +002906 6fd4 MOVWF 0xd4,0x1 +002908 50ee MOVF 0xee,0x0,0x0 +00290a 59d9 SUBWFB 0xd9,0x0,0x1 +00290c 6fd5 MOVWF 0xd5,0x1 +00290e 50ee MOVF 0xee,0x0,0x0 +002910 59da SUBWFB 0xda,0x0,0x1 +002912 6fd6 MOVWF 0xd6,0x1 +003e02 0edb MOVLW 0xdb +003e04 6ee9 MOVWF 0xe9,0x0 +003e06 0e01 MOVLW 0x1 +003e08 6eea MOVWF 0xea,0x0 +003e0a 0012 RETURN 0x0 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // Check for too-fast step request (>25KHz) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // First get absolute value of steps, then check if it's asking for >25KHz C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002900 eca1 CALL 0x3d42,0x0 if (gTmpSteps1 > 0) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002902 f01e -002904 e602 BN 0x290a -002906 eccf CALL 0x379e,0x0 -002908 f01b -00290a e203 BC 0x2912 -00379e 80d8 BSF 0xd8,0x0,0x0 -0037a0 0e00 MOVLW 0x0 -0037a2 5595 SUBFWB 0x95,0x0,0x1 -0037a4 0e00 MOVLW 0x0 -0037a6 5596 SUBFWB 0x96,0x0,0x1 -0037a8 0e00 MOVLW 0x0 -0037aa 5597 SUBFWB 0x97,0x0,0x1 -0037ac 0e00 MOVLW 0x0 -0037ae 5598 SUBFWB 0x98,0x0,0x1 -0037b0 0012 RETURN 0x0 -003d42 3598 RLCF 0x98,0x0,0x1 -003d44 0e00 MOVLW 0x0 -003d46 1998 XORWF 0x98,0x0,0x1 -003d48 0012 RETURN 0x0 +002914 ecb1 CALL 0x3d62,0x0 if (gTmpSteps1 > 0) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002916 f01e +002918 e602 BN 0x291e +00291a ece2 CALL 0x37c4,0x0 +00291c f01b +00291e e203 BC 0x2926 +0037c4 80d8 BSF 0xd8,0x0,0x0 +0037c6 0e00 MOVLW 0x0 +0037c8 55cf SUBFWB 0xcf,0x0,0x1 +0037ca 0e00 MOVLW 0x0 +0037cc 55d0 SUBFWB 0xd0,0x0,0x1 +0037ce 0e00 MOVLW 0x0 +0037d0 55d1 SUBFWB 0xd1,0x0,0x1 +0037d2 0e00 MOVLW 0x0 +0037d4 55d2 SUBFWB 0xd2,0x0,0x1 +0037d6 0012 RETURN 0x0 +003d62 35d2 RLCF 0xd2,0x0,0x1 +003d64 0e00 MOVLW 0x0 +003d66 19d2 XORWF 0xd2,0x0,0x1 +003d68 0012 RETURN 0x0 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -00290c ec35 CALL 0x3a6a,0x0 Steps = gTmpSteps1; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -00290e f01d +002920 ec59 CALL 0x3ab2,0x0 Steps = gTmpSteps1; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002922 f01d } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002910 d004 BRA 0x291a else C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002924 d004 BRA 0x292e else C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002912 ec28 CALL 0x3850,0x0 Steps = -gTmpSteps1; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002914 f01c -002916 eca4 CALL 0x3748,0x0 -002918 f01b -003850 cb95 MOVFF 0xb95,0x29 -003852 f029 -003854 cb96 MOVFF 0xb96,0x2a -003856 f02a -003858 cb97 MOVFF 0xb97,0x2b -00385a f02b -00385c cb98 MOVFF 0xb98,0x2c -00385e f02c -003860 0012 RETURN 0x0 +002926 ec3b CALL 0x3876,0x0 Steps = -gTmpSteps1; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002928 f01c +00292a ecb7 CALL 0x376e,0x0 +00292c f01b +003876 c1cf MOVFF 0x1cf,0x3d +003878 f03d +00387a c1d0 MOVFF 0x1d0,0x3e +00387c f03e +00387e c1d1 MOVFF 0x1d1,0x3f +003880 f03f +003882 c1d2 MOVFF 0x1d2,0x40 +003884 f040 +003886 0012 RETURN 0x0 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -00291a 010b MOVLB 0xb if (gLimitChecks) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -00291c 5183 MOVF 0x83,0x0,0x1 -00291e e02a BZ 0x2974 +00292e 0101 MOVLB 0x1 if (gLimitChecks) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002930 51bd MOVF 0xbd,0x0,0x1 +002932 e02a BZ 0x2988 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // Limit each parameter to just 3 bytes C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002920 80d8 BSF 0xd8,0x0,0x0 if (gTmpDurationMS > 0xFFFFFF) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002922 0eff MOVLW 0xff -002924 ec8e CALL 0x3d1c,0x0 -002926 f01e -002928 e204 BC 0x2932 - { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -00292a 0e78 MOVLW 0x78 ebb_print((far rom char *)"!0 Err: larger than 16777215 ms."); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -00292c 6e33 MOVWF 0x33,0x0 -00292e 0e7c MOVLW 0x7c - print_line_ending(kLE_REV); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002930 d052 BRA 0x29d6 return; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002932 ece3 CALL 0x37c6,0x0 if (Steps > 0xFFFFFFl) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002934 f01b -002936 e602 BN 0x293c -002938 ec6c CALL 0x38d8,0x0 -00293a f01c +002934 80d8 BSF 0xd8,0x0,0x0 if (gTmpDurationMS > 0xFFFFFF) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002936 0eff MOVLW 0xff +002938 ec9e CALL 0x3d3c,0x0 +00293a f01e 00293c e204 BC 0x2946 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -00293e 0e4c MOVLW 0x4c ebb_print((far rom char *)"!0 Err: larger than 16777215 steps."); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002940 6e33 MOVWF 0x33,0x0 +00293e 0e94 MOVLW 0x94 ebb_print((far rom char *)"!0 Err: larger than 16777215 ms."); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002940 6e47 MOVWF 0x47,0x0 002942 0e7c MOVLW 0x7c print_line_ending(kLE_REV); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002944 d048 BRA 0x29d6 return; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002944 d052 BRA 0x29ea return; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002946 ecf6 CALL 0x37ec,0x0 if (Steps > 0xFFFFFFl) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002948 f01b +00294a e602 BN 0x2950 +00294c ec7f CALL 0x38fe,0x0 +00294e f01c +002950 e204 BC 0x295a + { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002952 0e68 MOVLW 0x68 ebb_print((far rom char *)"!0 Err: larger than 16777215 steps."); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002954 6e47 MOVWF 0x47,0x0 +002956 0e7c MOVLW 0x7c + print_line_ending(kLE_REV); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002958 d048 BRA 0x29ea return; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // Check for too fast C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002946 ec5d CALL 0x36ba,0x0 if ((Steps/gTmpDurationMS) > HIGH_ISR_TICKS_PER_MS) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002948 f01b -00294a e204 BC 0x2954 +00295a ec70 CALL 0x36e0,0x0 if ((Steps/gTmpDurationMS) > HIGH_ISR_TICKS_PER_MS) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +00295c f01b +00295e e204 BC 0x2968 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -00294c 0e1e MOVLW 0x1e ebb_print((far rom char *)"!0 Err: step rate > 25K steps/second."); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -00294e 6e33 MOVWF 0x33,0x0 -002950 0e7c MOVLW 0x7c +002960 0e3a MOVLW 0x3a ebb_print((far rom char *)"!0 Err: step rate > 25K steps/second."); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002962 6e47 MOVWF 0x47,0x0 +002964 0e7c MOVLW 0x7c print_line_ending(kLE_REV); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002952 d041 BRA 0x29d6 return; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002966 d041 BRA 0x29ea return; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // And check for too slow C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002954 ecca CALL 0x3594,0x0 if ((INT32)(gTmpDurationMS/1311) >= Steps && Steps != 0) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002956 f01a -002958 aee8 BTFSS 0xe8,0x7,0x0 -00295a d002 BRA 0x2960 -00295c 342d RLCF 0x2d,0x0,0x0 -00295e d002 BRA 0x2964 -002960 ec7f CALL 0x38fe,0x0 -002962 f01c -002964 e307 BNC 0x2974 -002966 ecb1 CALL 0x3762,0x0 -002968 f01b -00296a e004 BZ 0x2974 +002968 ecdd CALL 0x35ba,0x0 if ((INT32)(gTmpDurationMS/1311) >= Steps && Steps != 0) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +00296a f01a +00296c aee8 BTFSS 0xe8,0x7,0x0 +00296e d002 BRA 0x2974 +002970 3441 RLCF 0x41,0x0,0x0 +002972 d002 BRA 0x2978 +002974 ec92 CALL 0x3924,0x0 +002976 f01c +002978 e307 BNC 0x2988 +00297a ecc4 CALL 0x3788,0x0 +00297c f01b +00297e e004 BZ 0x2988 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -00296c 0efa MOVLW 0xfa ebb_print((far rom char *)"!0 Err: step rate < 1.31Hz."); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -00296e 6e33 MOVWF 0x33,0x0 -002970 0e7b MOVLW 0x7b +002980 0e16 MOVLW 0x16 ebb_print((far rom char *)"!0 Err: step rate < 1.31Hz."); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002982 6e47 MOVWF 0x47,0x0 +002984 0e7c MOVLW 0x7c print_line_ending(kLE_REV); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002972 d031 BRA 0x29d6 return; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002986 d031 BRA 0x29ea return; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002974 010b MOVLB 0xb if (gTmpSteps2 > 0) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002976 eca5 CALL 0x3d4a,0x0 -002978 f01e -00297a e602 BN 0x2980 -00297c ecd9 CALL 0x37b2,0x0 -00297e f01b -002980 e203 BC 0x2988 -0037b2 80d8 BSF 0xd8,0x0,0x0 -0037b4 0e00 MOVLW 0x0 -0037b6 5599 SUBFWB 0x99,0x0,0x1 -0037b8 0e00 MOVLW 0x0 -0037ba 559a SUBFWB 0x9a,0x0,0x1 -0037bc 0e00 MOVLW 0x0 -0037be 559b SUBFWB 0x9b,0x0,0x1 -0037c0 0e00 MOVLW 0x0 -0037c2 559c SUBFWB 0x9c,0x0,0x1 -0037c4 0012 RETURN 0x0 -003d4a 359c RLCF 0x9c,0x0,0x1 -003d4c 0e00 MOVLW 0x0 -003d4e 199c XORWF 0x9c,0x0,0x1 -003d50 0012 RETURN 0x0 +002988 0101 MOVLB 0x1 if (gTmpSteps2 > 0) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +00298a ecb5 CALL 0x3d6a,0x0 +00298c f01e +00298e e602 BN 0x2994 +002990 ecec CALL 0x37d8,0x0 +002992 f01b +002994 e203 BC 0x299c +0037d8 80d8 BSF 0xd8,0x0,0x0 +0037da 0e00 MOVLW 0x0 +0037dc 55d3 SUBFWB 0xd3,0x0,0x1 +0037de 0e00 MOVLW 0x0 +0037e0 55d4 SUBFWB 0xd4,0x0,0x1 +0037e2 0e00 MOVLW 0x0 +0037e4 55d5 SUBFWB 0xd5,0x0,0x1 +0037e6 0e00 MOVLW 0x0 +0037e8 55d6 SUBFWB 0xd6,0x0,0x1 +0037ea 0012 RETURN 0x0 +003d6a 35d6 RLCF 0xd6,0x0,0x1 +003d6c 0e00 MOVLW 0x0 +003d6e 19d6 XORWF 0xd6,0x0,0x1 +003d70 0012 RETURN 0x0 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002982 ec41 CALL 0x3a82,0x0 Steps = gTmpSteps2; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002984 f01d +002996 ec65 CALL 0x3aca,0x0 Steps = gTmpSteps2; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002998 f01d } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002986 d004 BRA 0x2990 else C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +00299a d004 BRA 0x29a4 else C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002988 ec88 CALL 0x3910,0x0 Steps = -gTmpSteps2; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -00298a f01c -00298c eca4 CALL 0x3748,0x0 -00298e f01b -003748 ec2a CALL 0x4054,0x0 -00374a f020 -00374c c025 MOVFF 0x25,0xfde -00374e ffde -003750 c026 MOVFF 0x26,0xfde -003752 ffde -003754 c027 MOVFF 0x27,0xfde -003756 ffde -003758 c028 MOVFF 0x28,0xfdd -00375a ffdd -00375c 52dd MOVF 0xdd,0x1,0x0 -00375e 52dd MOVF 0xdd,0x1,0x0 -003760 0012 RETURN 0x0 -003910 cb99 MOVFF 0xb99,0x29 -003912 f029 -003914 cb9a MOVFF 0xb9a,0x2a -003916 f02a -003918 cb9b MOVFF 0xb9b,0x2b -00391a f02b -00391c cb9c MOVFF 0xb9c,0x2c -00391e f02c -003920 0012 RETURN 0x0 - } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002990 010b MOVLB 0xb if (gLimitChecks) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002992 5183 MOVF 0x83,0x0,0x1 -002994 e023 BZ 0x29dc - { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002996 ece3 CALL 0x37c6,0x0 if (Steps > 0xFFFFFFl) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002998 f01b -00299a e602 BN 0x29a0 -00299c ec6c CALL 0x38d8,0x0 +00299c ec9b CALL 0x3936,0x0 Steps = -gTmpSteps2; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c 00299e f01c -0029a0 e204 BC 0x29aa -0037c6 ec18 CALL 0x4030,0x0 -0037c8 f020 -0037ca 342d RLCF 0x2d,0x0,0x0 -0037cc 0e00 MOVLW 0x0 -0037ce 182d XORWF 0x2d,0x0,0x0 -0037d0 0012 RETURN 0x0 -0038d8 80d8 BSF 0xd8,0x0,0x0 -0038da 0eff MOVLW 0xff -0038dc 542a SUBFWB 0x2a,0x0,0x0 -0038de 0eff MOVLW 0xff -0038e0 542b SUBFWB 0x2b,0x0,0x0 -0038e2 0eff MOVLW 0xff -0038e4 542c SUBFWB 0x2c,0x0,0x0 -0038e6 0e00 MOVLW 0x0 -0038e8 542d SUBFWB 0x2d,0x0,0x0 -0038ea 0012 RETURN 0x0 - { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0029a2 0ece MOVLW 0xce ebb_print((far rom char *)"!0 Err: larger than 16777215 steps."); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0029a4 6e33 MOVWF 0x33,0x0 -0029a6 0e7b MOVLW 0x7b - print_line_ending(kLE_REV); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0029a8 d016 BRA 0x29d6 return; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c - } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0029aa ec5d CALL 0x36ba,0x0 if ((Steps/gTmpDurationMS) > HIGH_ISR_TICKS_PER_MS) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +0029a0 ecb7 CALL 0x376e,0x0 +0029a2 f01b +00376e ec3b CALL 0x4076,0x0 +003770 f020 +003772 c039 MOVFF 0x39,0xfde +003774 ffde +003776 c03a MOVFF 0x3a,0xfde +003778 ffde +00377a c03b MOVFF 0x3b,0xfde +00377c ffde +00377e c03c MOVFF 0x3c,0xfdd +003780 ffdd +003782 52dd MOVF 0xdd,0x1,0x0 +003784 52dd MOVF 0xdd,0x1,0x0 +003786 0012 RETURN 0x0 +003936 c1d3 MOVFF 0x1d3,0x3d +003938 f03d +00393a c1d4 MOVFF 0x1d4,0x3e +00393c f03e +00393e c1d5 MOVFF 0x1d5,0x3f +003940 f03f +003942 c1d6 MOVFF 0x1d6,0x40 +003944 f040 +003946 0012 RETURN 0x0 + } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +0029a4 0101 MOVLB 0x1 if (gLimitChecks) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +0029a6 51bd MOVF 0xbd,0x0,0x1 +0029a8 e023 BZ 0x29f0 + { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +0029aa ecf6 CALL 0x37ec,0x0 if (Steps > 0xFFFFFFl) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c 0029ac f01b -0029ae e204 BC 0x29b8 -0036ba ec45 CALL 0x428a,0x0 -0036bc f021 -0036be cfdf MOVFF 0xfdf,0x29 -0036c0 f029 -0036c2 0e01 MOVLW 0x1 -0036c4 cfdb MOVFF 0xfdb,0x2a -0036c6 f02a -0036c8 0e02 MOVLW 0x2 -0036ca cfdb MOVFF 0xfdb,0x2b -0036cc f02b -0036ce 0e03 MOVLW 0x3 -0036d0 cfdb MOVFF 0xfdb,0x2c -0036d2 f02c -0036d4 ef69 GOTO 0x3ed2 -0036d6 f01f -003ed2 ecfe CALL 0x8ffc,0x0 -003ed4 f047 -003ed6 80d8 BSF 0xd8,0x0,0x0 -003ed8 0e19 MOVLW 0x19 -003eda 5429 SUBFWB 0x29,0x0,0x0 -003edc 0e00 MOVLW 0x0 -003ede 542a SUBFWB 0x2a,0x0,0x0 -003ee0 0e00 MOVLW 0x0 -003ee2 542b SUBFWB 0x2b,0x0,0x0 -003ee4 0e00 MOVLW 0x0 -003ee6 542c SUBFWB 0x2c,0x0,0x0 -003ee8 0012 RETURN 0x0 -00428a cb85 MOVFF 0xb85,0x2e -00428c f02e -00428e cb86 MOVFF 0xb86,0x2f -004290 f02f -004292 cb87 MOVFF 0xb87,0x30 -004294 f030 -004296 cb88 MOVFF 0xb88,0x31 -004298 f031 -00429a 0012 RETURN 0x0 +0029ae e602 BN 0x29b4 +0029b0 ec7f CALL 0x38fe,0x0 +0029b2 f01c +0029b4 e204 BC 0x29be +0037ec ec29 CALL 0x4052,0x0 +0037ee f020 +0037f0 3441 RLCF 0x41,0x0,0x0 +0037f2 0e00 MOVLW 0x0 +0037f4 1841 XORWF 0x41,0x0,0x0 +0037f6 0012 RETURN 0x0 +0038fe 80d8 BSF 0xd8,0x0,0x0 +003900 0eff MOVLW 0xff +003902 543e SUBFWB 0x3e,0x0,0x0 +003904 0eff MOVLW 0xff +003906 543f SUBFWB 0x3f,0x0,0x0 +003908 0eff MOVLW 0xff +00390a 5440 SUBFWB 0x40,0x0,0x0 +00390c 0e00 MOVLW 0x0 +00390e 5441 SUBFWB 0x41,0x0,0x0 +003910 0012 RETURN 0x0 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0029b0 0ea0 MOVLW 0xa0 ebb_print((far rom char *)"!0 Err: step rate > 25K steps/second."); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0029b2 6e33 MOVWF 0x33,0x0 -0029b4 0e7b MOVLW 0x7b +0029b6 0eea MOVLW 0xea ebb_print((far rom char *)"!0 Err: larger than 16777215 steps."); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +0029b8 6e47 MOVWF 0x47,0x0 +0029ba 0e7b MOVLW 0x7b print_line_ending(kLE_REV); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0029b6 d00f BRA 0x29d6 return; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +0029bc d016 BRA 0x29ea return; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0029b8 ecca CALL 0x3594,0x0 if ((INT32)(gTmpDurationMS/1311) >= Steps && Steps != 0) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0029ba f01a -0029bc aee8 BTFSS 0xe8,0x7,0x0 -0029be d002 BRA 0x29c4 -0029c0 342d RLCF 0x2d,0x0,0x0 -0029c2 d002 BRA 0x29c8 -0029c4 ec7f CALL 0x38fe,0x0 -0029c6 f01c -0029c8 e309 BNC 0x29dc -0029ca ecb1 CALL 0x3762,0x0 -0029cc f01b -0029ce e006 BZ 0x29dc -003594 cb85 MOVFF 0xb85,0x33 -003596 f033 -003598 cb86 MOVFF 0xb86,0x34 -00359a f034 -00359c cb87 MOVFF 0xb87,0x35 -00359e f035 -0035a0 cb88 MOVFF 0xb88,0x36 -0035a2 f036 -0035a4 ecc3 CALL 0x4186,0x0 -0035a6 f020 -0035a8 ec75 CALL 0x3eea,0x0 -0035aa f01f -0035ac ecfe CALL 0x8ffc,0x0 -0035ae f047 -0035b0 c029 MOVFF 0x29,0x33 -0035b2 f033 -0035b4 c02a MOVFF 0x2a,0x34 -0035b6 f034 -0035b8 c02b MOVFF 0x2b,0x35 -0035ba f035 -0035bc c02c MOVFF 0x2c,0x36 -0035be f036 -0035c0 ec18 CALL 0x4030,0x0 -0035c2 f020 -0035c4 5036 MOVF 0x36,0x0,0x0 -0035c6 182d XORWF 0x2d,0x0,0x0 -0035c8 0012 RETURN 0x0 -003762 ec4e CALL 0x429c,0x0 -003764 f021 -003766 cfee MOVFF 0xfee,0x37 -003768 f037 -00376a cfee MOVFF 0xfee,0x38 -00376c f038 -00376e cfee MOVFF 0xfee,0x39 -003770 f039 -003772 cfef MOVFF 0xfef,0x3a -003774 f03a -003776 5037 MOVF 0x37,0x0,0x0 -003778 1038 IORWF 0x38,0x0,0x0 -00377a 1039 IORWF 0x39,0x0,0x0 -00377c 103a IORWF 0x3a,0x0,0x0 -00377e 0012 RETURN 0x0 -0038fe 502a MOVF 0x2a,0x0,0x0 -003900 5c33 SUBWF 0x33,0x0,0x0 -003902 502b MOVF 0x2b,0x0,0x0 -003904 5834 SUBWFB 0x34,0x0,0x0 -003906 502c MOVF 0x2c,0x0,0x0 -003908 5835 SUBWFB 0x35,0x0,0x0 -00390a 502d MOVF 0x2d,0x0,0x0 -00390c 5836 SUBWFB 0x36,0x0,0x0 -00390e 0012 RETURN 0x0 -004030 cfde MOVFF 0xfde,0x2a -004032 f02a -004034 cfde MOVFF 0xfde,0x2b -004036 f02b -004038 cfde MOVFF 0xfde,0x2c -00403a f02c -00403c cfdd MOVFF 0xfdd,0x2d -00403e f02d -004040 52dd MOVF 0xdd,0x1,0x0 -004042 52dd MOVF 0xdd,0x1,0x0 -004044 0012 RETURN 0x0 -004186 0e1f MOVLW 0x1f -004188 6e2e MOVWF 0x2e,0x0 -00418a 0e05 MOVLW 0x5 -00418c 6e2f MOVWF 0x2f,0x0 -00418e 6a30 CLRF 0x30,0x0 -004190 6a31 CLRF 0x31,0x0 -004192 0012 RETURN 0x0 +0029be ec70 CALL 0x36e0,0x0 if ((Steps/gTmpDurationMS) > HIGH_ISR_TICKS_PER_MS) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +0029c0 f01b +0029c2 e204 BC 0x29cc +0036e0 ec56 CALL 0x42ac,0x0 +0036e2 f021 +0036e4 cfdf MOVFF 0xfdf,0x3d +0036e6 f03d +0036e8 0e01 MOVLW 0x1 +0036ea cfdb MOVFF 0xfdb,0x3e +0036ec f03e +0036ee 0e02 MOVLW 0x2 +0036f0 cfdb MOVFF 0xfdb,0x3f +0036f2 f03f +0036f4 0e03 MOVLW 0x3 +0036f6 cfdb MOVFF 0xfdb,0x40 +0036f8 f040 +0036fa ef79 GOTO 0x3ef2 +0036fc f01f +003ef2 ec0c CALL 0x9018,0x0 +003ef4 f048 +003ef6 80d8 BSF 0xd8,0x0,0x0 +003ef8 0e19 MOVLW 0x19 +003efa 543d SUBFWB 0x3d,0x0,0x0 +003efc 0e00 MOVLW 0x0 +003efe 543e SUBFWB 0x3e,0x0,0x0 +003f00 0e00 MOVLW 0x0 +003f02 543f SUBFWB 0x3f,0x0,0x0 +003f04 0e00 MOVLW 0x0 +003f06 5440 SUBFWB 0x40,0x0,0x0 +003f08 0012 RETURN 0x0 +0042ac c1bf MOVFF 0x1bf,0x42 +0042ae f042 +0042b0 c1c0 MOVFF 0x1c0,0x43 +0042b2 f043 +0042b4 c1c1 MOVFF 0x1c1,0x44 +0042b6 f044 +0042b8 c1c2 MOVFF 0x1c2,0x45 +0042ba f045 +0042bc 0012 RETURN 0x0 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0029d0 0e7c MOVLW 0x7c ebb_print((far rom char *)"!0 Err: step rate < 1.31Hz."); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0029d2 6e33 MOVWF 0x33,0x0 -0029d4 0e7b MOVLW 0x7b -0029d6 ecd3 CALL 0x41a6,0x0 -0029d8 f020 -0041a6 ec97 CALL 0x352e,0x0 -0041a8 f01a -0041aa 0e02 MOVLW 0x2 print_line_ending(kLE_REV); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0041ac 6ee6 MOVWF 0xe6,0x0 -0041ae 0012 RETURN 0x0 -0029da d005 BRA 0x29e6 return; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +0029c4 0ebc MOVLW 0xbc ebb_print((far rom char *)"!0 Err: step rate > 25K steps/second."); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +0029c6 6e47 MOVWF 0x47,0x0 +0029c8 0e7b MOVLW 0x7b + print_line_ending(kLE_REV); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +0029ca d00f BRA 0x29ea return; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +0029cc ecdd CALL 0x35ba,0x0 if ((INT32)(gTmpDurationMS/1311) >= Steps && Steps != 0) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +0029ce f01a +0029d0 aee8 BTFSS 0xe8,0x7,0x0 +0029d2 d002 BRA 0x29d8 +0029d4 3441 RLCF 0x41,0x0,0x0 +0029d6 d002 BRA 0x29dc +0029d8 ec92 CALL 0x3924,0x0 +0029da f01c +0029dc e309 BNC 0x29f0 +0029de ecc4 CALL 0x3788,0x0 +0029e0 f01b +0029e2 e006 BZ 0x29f0 +0035ba c1bf MOVFF 0x1bf,0x47 +0035bc f047 +0035be c1c0 MOVFF 0x1c0,0x48 +0035c0 f048 +0035c2 c1c1 MOVFF 0x1c1,0x49 +0035c4 f049 +0035c6 c1c2 MOVFF 0x1c2,0x4a +0035c8 f04a +0035ca ecd4 CALL 0x41a8,0x0 +0035cc f020 +0035ce ec85 CALL 0x3f0a,0x0 +0035d0 f01f +0035d2 ec0c CALL 0x9018,0x0 +0035d4 f048 +0035d6 c03d MOVFF 0x3d,0x47 +0035d8 f047 +0035da c03e MOVFF 0x3e,0x48 +0035dc f048 +0035de c03f MOVFF 0x3f,0x49 +0035e0 f049 +0035e2 c040 MOVFF 0x40,0x4a +0035e4 f04a +0035e6 ec29 CALL 0x4052,0x0 +0035e8 f020 +0035ea 504a MOVF 0x4a,0x0,0x0 +0035ec 1841 XORWF 0x41,0x0,0x0 +0035ee 0012 RETURN 0x0 +003788 ec5f CALL 0x42be,0x0 +00378a f021 +00378c cfee MOVFF 0xfee,0x4b +00378e f04b +003790 cfee MOVFF 0xfee,0x4c +003792 f04c +003794 cfee MOVFF 0xfee,0x4d +003796 f04d +003798 cfef MOVFF 0xfef,0x4e +00379a f04e +00379c 504b MOVF 0x4b,0x0,0x0 +00379e 104c IORWF 0x4c,0x0,0x0 +0037a0 104d IORWF 0x4d,0x0,0x0 +0037a2 104e IORWF 0x4e,0x0,0x0 +0037a4 0012 RETURN 0x0 +003924 503e MOVF 0x3e,0x0,0x0 +003926 5c47 SUBWF 0x47,0x0,0x0 +003928 503f MOVF 0x3f,0x0,0x0 +00392a 5848 SUBWFB 0x48,0x0,0x0 +00392c 5040 MOVF 0x40,0x0,0x0 +00392e 5849 SUBWFB 0x49,0x0,0x0 +003930 5041 MOVF 0x41,0x0,0x0 +003932 584a SUBWFB 0x4a,0x0,0x0 +003934 0012 RETURN 0x0 +004052 cfde MOVFF 0xfde,0x3e +004054 f03e +004056 cfde MOVFF 0xfde,0x3f +004058 f03f +00405a cfde MOVFF 0xfde,0x40 +00405c f040 +00405e cfdd MOVFF 0xfdd,0x41 +004060 f041 +004062 52dd MOVF 0xdd,0x1,0x0 +004064 52dd MOVF 0xdd,0x1,0x0 +004066 0012 RETURN 0x0 +0041a8 0e1f MOVLW 0x1f +0041aa 6e42 MOVWF 0x42,0x0 +0041ac 0e05 MOVLW 0x5 +0041ae 6e43 MOVWF 0x43,0x0 +0041b0 6a44 CLRF 0x44,0x0 +0041b2 6a45 CLRF 0x45,0x0 +0041b4 0012 RETURN 0x0 + { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +0029e4 0e98 MOVLW 0x98 ebb_print((far rom char *)"!0 Err: step rate < 1.31Hz."); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +0029e6 6e47 MOVWF 0x47,0x0 +0029e8 0e7b MOVLW 0x7b +0029ea ece4 CALL 0x41c8,0x0 +0029ec f020 +0041c8 ecaa CALL 0x3554,0x0 +0041ca f01a +0041cc 0e02 MOVLW 0x2 print_line_ending(kLE_REV); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +0041ce 6ee6 MOVWF 0xe6,0x0 +0041d0 0012 RETURN 0x0 +0029ee d005 BRA 0x29fa return; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // Bail if we got a conversion error C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0029dc 0100 MOVLB 0x0 if (error_byte) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0029de 5197 MOVF 0x97,0x0,0x1 -0029e0 e105 BNZ 0x29ec +0029f0 0100 MOVLB 0x0 if (error_byte) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +0029f2 5197 MOVF 0x97,0x0,0x1 +0029f4 e105 BNZ 0x2a00 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c return; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // If we get here, we know that step rate for both A1 and A2 is C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // between 25KHz and 1.31Hz which are the limits of what EBB can do. C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0029e2 d80b RCALL 0x29fa process_simple_motor_move(); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +0029f6 d80b RCALL 0x2a0e process_simple_motor_move(); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0029e4 6ae6 CLRF 0xe6,0x0 print_line_ending(kLE_OK_NORM); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0029e6 ec22 CALL 0x5244,0x0 -0029e8 f029 -0029ea 52e5 MOVF 0xe5,0x1,0x0 -0029ec 0e04 MOVLW 0x4 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0029ee 5ce1 SUBWF 0xe1,0x0,0x0 -0029f0 e202 BC 0x29f6 -0029f2 6ae1 CLRF 0xe1,0x0 -0029f4 52e5 MOVF 0xe5,0x1,0x0 -0029f6 ef9c GOTO 0x3738 -0029f8 f01b +0029f8 6ae6 CLRF 0xe6,0x0 print_line_ending(kLE_OK_NORM); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +0029fa ec30 CALL 0x5260,0x0 +0029fc f029 +0029fe 52e5 MOVF 0xe5,0x1,0x0 +002a00 0e04 MOVLW 0x4 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002a02 5ce1 SUBWF 0xe1,0x0,0x0 +002a04 e202 BC 0x2a0a +002a06 6ae1 CLRF 0xe1,0x0 +002a08 52e5 MOVF 0xe5,0x1,0x0 +002a0a efaf GOTO 0x375e +002a0c f01b C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // Main stepper move function. This is the reason EBB exists. C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // is a 3 byte unsigned int, the number of mS that the move should take C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c @@ -12447,34 +12467,34 @@ Address Value Disassembly Source // gTmpRate1 as temp1 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // gTmpRate2 as temp2 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // gTmpIntervals as temp C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0029fa ec80 CALL 0x4300,0x0 static void process_simple_motor_move(void) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0029fc f021 -0029fe ecd0 CALL 0x39a0,0x0 -0039a0 26e1 +002a0e ec8e CALL 0x431c,0x0 static void process_simple_motor_move(void) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002a10 f021 +002a12 ece3 CALL 0x39c6,0x0 +0039c6 26e1 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002a00 f01c WORD2 0x1c UINT32 remainder = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0039a2 6ade CLRF 0xde,0x0 -0039a4 6ade CLRF 0xde,0x0 -0039a6 6ade CLRF 0xde,0x0 -0039a8 6add CLRF 0xdd,0x0 -0039aa 52dd MOVF 0xdd,0x1,0x0 -0039ac 52dd MOVF 0xdd,0x1,0x0 -0039ae 0012 RETURN 0x0 +002a14 f01c WORD2 0x1c UINT32 remainder = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +0039c8 6ade CLRF 0xde,0x0 +0039ca 6ade CLRF 0xde,0x0 +0039cc 6ade CLRF 0xde,0x0 +0039ce 6add CLRF 0xdd,0x0 +0039d0 52dd MOVF 0xdd,0x1,0x0 +0039d2 52dd MOVF 0xdd,0x1,0x0 +0039d4 0012 RETURN 0x0 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // If we have a triggered limit switch, then ignore this move command C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002a02 b00e BTFSC 0xe,0x0,0x0 if (bittstzero(gLimitSwitchTriggered)) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002a04 d193 BRA 0x2d2c +002a16 b00e BTFSC 0xe,0x0,0x0 if (bittstzero(gLimitSwitchTriggered)) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002a18 d19e BRA 0x2d56 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c return; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002a06 aa09 BTFSS 0x9,0x5,0x0 if(bittst(TestMode, TEST_MODE_DEBUG_COMMAND_BIT_NUM)) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002a08 d005 BRA 0x2a14 +002a1a aa09 BTFSS 0x9,0x5,0x0 if(bittst(TestMode, TEST_MODE_DEBUG_COMMAND_BIT_NUM)) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002a1c d005 BRA 0x2a28 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002a0a 0ec9 MOVLW 0xc9 ebb_print((far rom char *)"Duration="); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002a0c 6e33 MOVWF 0x33,0x0 -002a0e 0e7a MOVLW 0x7a -002a10 ec34 CALL 0x3e68,0x0 -002a12 f01f +002a1e 0ee5 MOVLW 0xe5 ebb_print((far rom char *)"Duration="); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002a20 6e47 MOVWF 0x47,0x0 +002a22 0e7a MOVLW 0x7a +002a24 ec44 CALL 0x3e88,0x0 +002a26 f01f ebb_print_uint(gTmpDurationMS); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c ebb_print((far rom char *)" SA1="); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c ebb_print_int(gTmpSteps1); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c @@ -12483,137 +12503,145 @@ Address Value Disassembly Source print_line_ending(kLE_REV); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002a14 ec1d CALL 0x383a,0x0 if (gTmpClearAccs > 3u) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002a16 f01c -002a18 e202 BC 0x2a1e -00383a 80d8 BSF 0xd8,0x0,0x0 -00383c 0e03 MOVLW 0x3 -00383e 010b MOVLB 0xb -003840 55ad SUBFWB 0xad,0x0,0x1 -003842 0e00 MOVLW 0x0 -003844 55ae SUBFWB 0xae,0x0,0x1 -003846 0e00 MOVLW 0x0 -003848 55af SUBFWB 0xaf,0x0,0x1 -00384a 0e00 MOVLW 0x0 -00384c 55b0 SUBFWB 0xb0,0x0,0x1 -00384e 0012 RETURN 0x0 +002a28 ec30 CALL 0x3860,0x0 if (gTmpClearAccs > 3u) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002a2a f01c +002a2c e202 BC 0x2a32 +003860 80d8 BSF 0xd8,0x0,0x0 +003862 0e03 MOVLW 0x3 +003864 0101 MOVLB 0x1 +003866 55e7 SUBFWB 0xe7,0x0,0x1 +003868 0e00 MOVLW 0x0 +00386a 55e8 SUBFWB 0xe8,0x0,0x1 +00386c 0e00 MOVLW 0x0 +00386e 55e9 SUBFWB 0xe9,0x0,0x1 +003870 0e00 MOVLW 0x0 +003872 55ea SUBFWB 0xea,0x0,0x1 +003874 0012 RETURN 0x0 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002a1a ecde CALL 0x39bc,0x0 gTmpClearAccs = 3; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002a1c f01c -0039bc 0e03 MOVLW 0x3 -0039be 6fad MOVWF 0xad,0x1 -0039c0 6bae CLRF 0xae,0x1 -0039c2 6baf CLRF 0xaf,0x1 -0039c4 6bb0 CLRF 0xb0,0x1 -0039c6 0012 RETURN 0x0 +002a2e ecf1 CALL 0x39e2,0x0 gTmpClearAccs = 3; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002a30 f01c +0039e2 0e03 MOVLW 0x3 +0039e4 6fe7 MOVWF 0xe7,0x1 +0039e6 6be8 CLRF 0xe8,0x1 +0039e8 6be9 CLRF 0xe9,0x1 +0039ea 6bea CLRF 0xea,0x1 +0039ec 0012 RETURN 0x0 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002a1e cbad MOVFF 0xbad,0xb2a gMoveTemp.SEState = (UINT8)gTmpClearAccs; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002a20 fb2a +002a32 c1e7 MOVFF 0x1e7,0x12f gMoveTemp.SEState = (UINT8)gTmpClearAccs; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002a34 f12f C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // Check for delay C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002a22 ec96 CALL 0x3b2c,0x0 if (gTmpSteps1 == 0 && gTmpSteps2 == 0) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002a24 f01d -002a26 e126 BNZ 0x2a74 -002a28 ec9b CALL 0x3b36,0x0 -002a2a f01d -002a2c e123 BNZ 0x2a74 +002a36 ecba CALL 0x3b74,0x0 if (gTmpSteps1 == 0 && gTmpSteps2 == 0) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002a38 f01d +002a3a e127 BNZ 0x2a8a +002a3c ecbf CALL 0x3b7e,0x0 +002a3e f01d +002a40 e124 BNZ 0x2a8a { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002a2e 0e01 MOVLW 0x1 gMoveTemp.Command = COMMAND_DELAY_BIT; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002a30 6f24 MOVWF 0x24,0x1 +002a42 0101 MOVLB 0x1 gMoveTemp.Command = COMMAND_DELAY_BIT; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002a44 0e01 MOVLW 0x1 +002a46 6f29 MOVWF 0x29,0x1 // This is OK because we only need to multiply the 3 byte Duration by C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // 25, so it fits in 4 bytes OK. C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002a32 cb85 MOVFF 0xb85,0xb26 gMoveTemp.DelayCounter = HIGH_ISR_TICKS_PER_MS * gTmpDurationMS; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002a34 fb26 -002a36 cb86 MOVFF 0xb86,0xb27 -002a38 fb27 -002a3a cb87 MOVFF 0xb87,0xb28 -002a3c fb28 -002a3e cb88 MOVFF 0xb88,0xb29 -002a40 fb29 -002a42 ec40 CALL 0x4280,0x0 -002a44 f021 -002a46 c025 MOVFF 0x25,0xb26 -002a48 fb26 -002a4a c026 MOVFF 0x26,0xb27 -002a4c fb27 -002a4e c027 MOVFF 0x27,0xb28 -002a50 fb28 -002a52 c028 MOVFF 0x28,0xb29 -002a54 fb29 -004280 0e19 MOVLW 0x19 -004282 d862 RCALL 0x4348 -004284 de32 RCALL 0x3eea -004286 ef66 GOTO 0x8ecc -004288 f047 -004348 6e2e MOVWF 0x2e,0x0 -00434a 6a2f CLRF 0x2f,0x0 -00434c 6a30 CLRF 0x30,0x0 -00434e 6a31 CLRF 0x31,0x0 -004350 0012 RETURN 0x0 +002a48 c1bf MOVFF 0x1bf,0x12b gMoveTemp.DelayCounter = HIGH_ISR_TICKS_PER_MS * gTmpDurationMS; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002a4a f12b +002a4c c1c0 MOVFF 0x1c0,0x12c +002a4e f12c +002a50 c1c1 MOVFF 0x1c1,0x12d +002a52 f12d +002a54 c1c2 MOVFF 0x1c2,0x12e +002a56 f12e +002a58 ec51 CALL 0x42a2,0x0 +002a5a f021 +002a5c c039 MOVFF 0x39,0x12b +002a5e f12b +002a60 c03a MOVFF 0x3a,0x12c +002a62 f12c +002a64 c03b MOVFF 0x3b,0x12d +002a66 f12d +002a68 c03c MOVFF 0x3c,0x12e +002a6a f12e +0042a2 0e19 MOVLW 0x19 +0042a4 d85f RCALL 0x4364 +0042a6 de31 RCALL 0x3f0a +0042a8 ef74 GOTO 0x8ee8 +0042aa f047 +004364 6e42 MOVWF 0x42,0x0 +004366 6a43 CLRF 0x43,0x0 +004368 6a44 CLRF 0x44,0x0 +00436a 6a45 CLRF 0x45,0x0 +00436c 0012 RETURN 0x0 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // Check that DelayCounter doesn't have a crazy high value (this was C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // being done in the ISR, now moved here for speed) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002a56 80d8 BSF 0xd8,0x0,0x0 if (gMoveTemp.DelayCounter > HIGH_ISR_TICKS_PER_MS * (UINT32)0x10000) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002a58 0e00 MOVLW 0x0 -002a5a 010b MOVLB 0xb -002a5c 5425 SUBFWB 0x25,0x0,0x0 -002a5e 0e00 MOVLW 0x0 -002a60 5426 SUBFWB 0x26,0x0,0x0 -002a62 0e19 MOVLW 0x19 -002a64 5427 SUBFWB 0x27,0x0,0x0 -002a66 0e00 MOVLW 0x0 -002a68 5428 SUBFWB 0x28,0x0,0x0 -002a6a e301 BNC 0x2a6e -002a6c d155 BRA 0x2d18 +002a6c 80d8 BSF 0xd8,0x0,0x0 if (gMoveTemp.DelayCounter > HIGH_ISR_TICKS_PER_MS * (UINT32)0x10000) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002a6e 0e00 MOVLW 0x0 +002a70 0101 MOVLB 0x1 +002a72 5439 SUBFWB 0x39,0x0,0x0 +002a74 0e00 MOVLW 0x0 +002a76 543a SUBFWB 0x3a,0x0,0x0 +002a78 0e19 MOVLW 0x19 +002a7a 543b SUBFWB 0x3b,0x0,0x0 +002a7c 0e00 MOVLW 0x0 +002a7e 543c SUBFWB 0x3c,0x0,0x0 +002a80 e301 BNC 0x2a84 +002a82 d15f BRA 0x2d42 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // Ideally we would throw an error to the user here, but since we're in C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // the helper function that's not so easy. So we just set the delay time C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // to zero and hope they notice that their delays aren't doing anything. C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002a6e ece2 CALL 0x3dc4,0x0 gMoveTemp.DelayCounter = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002a70 f01e +002a84 ecf2 CALL 0x3de4,0x0 gMoveTemp.DelayCounter = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002a86 f01e } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002a72 d152 BRA 0x2d18 else C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002a88 d15c BRA 0x2d42 else C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002a74 ece2 CALL 0x3dc4,0x0 gMoveTemp.DelayCounter = 0; // No delay for motor moves C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002a76 f01e -003dc4 6b26 CLRF 0x26,0x1 -003dc6 6b27 CLRF 0x27,0x1 -003dc8 6b28 CLRF 0x28,0x1 -003dca 6b29 CLRF 0x29,0x1 -003dcc 0012 RETURN 0x0 -002a78 6b25 CLRF 0x25,0x1 gMoveTemp.DirBits = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002a8a 0101 MOVLB 0x1 gMoveTemp.DelayCounter = 0; // No delay for motor moves C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002a8c ecf2 CALL 0x3de4,0x0 +002a8e f01e +003de4 6b2b CLRF 0x2b,0x1 +003de6 6b2c CLRF 0x2c,0x1 +003de8 6b2d CLRF 0x2d,0x1 +003dea 6b2e CLRF 0x2e,0x1 +003dec 0012 RETURN 0x0 +002a90 6b2a CLRF 0x2a,0x1 gMoveTemp.DirBits = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002a7a 0100 MOVLB 0x0 if (gAutomaticMotorEnable == TRUE) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002a7c 05d9 DECF 0xd9,0x0,0x1 -002a7e e102 BNZ 0x2a84 +002a92 0100 MOVLB 0x0 if (gAutomaticMotorEnable == TRUE) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002a94 05d9 DECF 0xd9,0x0,0x1 +002a96 e102 BNZ 0x2a9c { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // Enable both motors when we want to move them C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002a80 908d BCF 0x8d,0x0,0x0 Enable1IO = ENABLE_MOTOR; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002a82 928b BCF 0x8b,0x1,0x0 Enable2IO = ENABLE_MOTOR; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002a98 908d BCF 0x8d,0x0,0x0 Enable1IO = ENABLE_MOTOR; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002a9a 928b BCF 0x8b,0x1,0x0 Enable2IO = ENABLE_MOTOR; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // First, set the direction bits C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002a84 010b MOVLB 0xb if (gTmpSteps1 < 0) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002a86 0e80 MOVLW 0x80 -002a88 1598 ANDWF 0x98,0x0,0x1 -002a8a e005 BZ 0x2a96 +002a9c 0101 MOVLB 0x1 if (gTmpSteps1 < 0) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002a9e 0e80 MOVLW 0x80 +002aa0 15d2 ANDWF 0xd2,0x0,0x1 +002aa2 e008 BZ 0x2ab4 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002a8c 0e80 MOVLW 0x80 gMoveTemp.DirBits = gMoveTemp.DirBits | DIR1_BIT; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002a8e 1125 IORWF 0x25,0x0,0x1 -002a90 6f25 MOVWF 0x25,0x1 -002a92 ecdc CALL 0x3bb8,0x0 gTmpSteps1 = -gTmpSteps1; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002a94 f01d +002aa4 0e80 MOVLW 0x80 gMoveTemp.DirBits = gMoveTemp.DirBits | DIR1_BIT; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002aa6 0101 MOVLB 0x1 +002aa8 112a IORWF 0x2a,0x0,0x1 +002aaa 6f2a MOVWF 0x2a,0x1 +002aac 0e00 MOVLW 0x0 gTmpSteps1 = -gTmpSteps1; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002aae 0101 MOVLB 0x1 +002ab0 ec86 CALL 0x3d0c,0x0 +002ab2 f01e } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002a96 0e80 MOVLW 0x80 if (gTmpSteps2 < 0) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002a98 159c ANDWF 0x9c,0x0,0x1 -002a9a e005 BZ 0x2aa6 +002ab4 0e80 MOVLW 0x80 if (gTmpSteps2 < 0) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002ab6 15d6 ANDWF 0xd6,0x0,0x1 +002ab8 e008 BZ 0x2aca { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002a9c 0e20 MOVLW 0x20 gMoveTemp.DirBits = gMoveTemp.DirBits | DIR2_BIT; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002a9e 1125 IORWF 0x25,0x0,0x1 -002aa0 6f25 MOVWF 0x25,0x1 -002aa2 ece5 CALL 0x3bca,0x0 gTmpSteps2 = -gTmpSteps2; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002aa4 f01d +002aba 0e20 MOVLW 0x20 gMoveTemp.DirBits = gMoveTemp.DirBits | DIR2_BIT; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002abc 0101 MOVLB 0x1 +002abe 112a IORWF 0x2a,0x0,0x1 +002ac0 6f2a MOVWF 0x2a,0x1 +002ac2 0e00 MOVLW 0x0 gTmpSteps2 = -gTmpSteps2; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002ac4 0101 MOVLB 0x1 +002ac6 ec96 CALL 0x3d2c,0x0 +002ac8 f01e } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // To compute StepAdd values from Duration. C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // A1Stp is from 0x000001 to 0xFFFFFF. C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c @@ -12626,715 +12654,718 @@ Address Value Disassembly Source // If A1Stp is 1, then duration must be 763 or less. C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // If A1Stp is 2, then duration must be 763 * 2 or less. C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // If A1Stp is 0xFFFFFF, then duration must be at least 671088. C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002aa6 aa09 BTFSS 0x9,0x5,0x0 if(bittst(TestMode, TEST_MODE_DEBUG_COMMAND_BIT_NUM)) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002aa8 d029 BRA 0x2afc +002aca aa09 BTFSS 0x9,0x5,0x0 if(bittst(TestMode, TEST_MODE_DEBUG_COMMAND_BIT_NUM)) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002acc d029 BRA 0x2b20 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // First check for duration to large. C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002aaa 0ee4 MOVLW 0xe4 if ((UINT32)gTmpSteps1 < (0xFFFFFFu/763u)) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002aac 5d95 SUBWF 0x95,0x0,0x1 -002aae 0e55 MOVLW 0x55 -002ab0 5996 SUBWFB 0x96,0x0,0x1 -002ab2 0e00 MOVLW 0x0 -002ab4 5997 SUBWFB 0x97,0x0,0x1 -002ab6 0e00 MOVLW 0x0 -002ab8 5998 SUBWFB 0x98,0x0,0x1 -002aba e220 BC 0x2afc +002ace 0ee4 MOVLW 0xe4 if ((UINT32)gTmpSteps1 < (0xFFFFFFu/763u)) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002ad0 5dcf SUBWF 0xcf,0x0,0x1 +002ad2 0e55 MOVLW 0x55 +002ad4 59d0 SUBWFB 0xd0,0x0,0x1 +002ad6 0e00 MOVLW 0x0 +002ad8 59d1 SUBWFB 0xd1,0x0,0x1 +002ada 0e00 MOVLW 0x0 +002adc 59d2 SUBWFB 0xd2,0x0,0x1 +002ade e220 BC 0x2b20 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002abc ec28 CALL 0x3850,0x0 if (gTmpDurationMS > ((UINT32)gTmpSteps1 * 763u)) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002abe f01c -002ac0 0efb MOVLW 0xfb -002ac2 6e2e MOVWF 0x2e,0x0 -002ac4 0e02 MOVLW 0x2 -002ac6 6e2f MOVWF 0x2f,0x0 -002ac8 6a30 CLRF 0x30,0x0 -002aca 6a31 CLRF 0x31,0x0 -002acc ec66 CALL 0x8ecc,0x0 -002ace f047 -002ad0 010b MOVLB 0xb -002ad2 5185 MOVF 0x85,0x0,0x1 -002ad4 5c25 SUBWF 0x25,0x0,0x0 -002ad6 5186 MOVF 0x86,0x0,0x1 -002ad8 5826 SUBWFB 0x26,0x0,0x0 -002ada 5187 MOVF 0x87,0x0,0x1 -002adc 5827 SUBWFB 0x27,0x0,0x0 -002ade 5188 MOVF 0x88,0x0,0x1 -002ae0 5828 SUBWFB 0x28,0x0,0x0 -002ae2 e20c BC 0x2afc +002ae0 ec3b CALL 0x3876,0x0 if (gTmpDurationMS > ((UINT32)gTmpSteps1 * 763u)) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002ae2 f01c +002ae4 0efb MOVLW 0xfb +002ae6 6e42 MOVWF 0x42,0x0 +002ae8 0e02 MOVLW 0x2 +002aea 6e43 MOVWF 0x43,0x0 +002aec 6a44 CLRF 0x44,0x0 +002aee 6a45 CLRF 0x45,0x0 +002af0 ec74 CALL 0x8ee8,0x0 +002af2 f047 +002af4 0101 MOVLB 0x1 +002af6 51bf MOVF 0xbf,0x0,0x1 +002af8 5c39 SUBWF 0x39,0x0,0x0 +002afa 51c0 MOVF 0xc0,0x0,0x1 +002afc 583a SUBWFB 0x3a,0x0,0x0 +002afe 51c1 MOVF 0xc1,0x0,0x1 +002b00 583b SUBWFB 0x3b,0x0,0x0 +002b02 51c2 MOVF 0xc2,0x0,0x1 +002b04 583c SUBWFB 0x3c,0x0,0x0 +002b06 e20c BC 0x2b20 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002ae4 0e9c MOVLW 0x9c ebb_print((far rom char *)"Major malfunction Axis1 duration too long : "); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002ae6 6e33 MOVWF 0x33,0x0 -002ae8 0e7a MOVLW 0x7a -002aea ec1e CALL 0x423c,0x0 -002aec f021 -00423c ec97 CALL 0x352e,0x0 -00423e f01a -004240 cb85 MOVFF 0xb85,0xfe6 ebb_print_uint(gTmpDurationMS); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -004242 ffe6 -004244 cb86 MOVFF 0xb86,0xfe6 -004246 ffe6 -004248 cb87 MOVFF 0xb87,0xfe6 -00424a ffe6 -00424c cb88 MOVFF 0xb88,0xfe6 -00424e ffe6 -004250 ef97 GOTO 0x372e -004252 f01b -002aee ecc4 CALL 0x3788,0x0 print_line_ending(kLE_REV); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002af0 f01b -002af2 010b MOVLB 0xb gTmpIntervals = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002af4 ec67 CALL 0x3cce,0x0 -002af6 f01e -002af8 ecd8 CALL 0x41b0,0x0 gTmpSteps1 = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002afa f020 +002b08 0eb8 MOVLW 0xb8 ebb_print((far rom char *)"Major malfunction Axis1 duration too long : "); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002b0a 6e47 MOVWF 0x47,0x0 +002b0c 0e7a MOVLW 0x7a +002b0e ec2f CALL 0x425e,0x0 +002b10 f021 +00425e ecaa CALL 0x3554,0x0 +004260 f01a +004262 c1bf MOVFF 0x1bf,0xfe6 ebb_print_uint(gTmpDurationMS); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +004264 ffe6 +004266 c1c0 MOVFF 0x1c0,0xfe6 +004268 ffe6 +00426a c1c1 MOVFF 0x1c1,0xfe6 +00426c ffe6 +00426e c1c2 MOVFF 0x1c2,0xfe6 +004270 ffe6 +004272 efaa GOTO 0x3754 +004274 f01b +002b12 ecd7 CALL 0x37ae,0x0 print_line_ending(kLE_REV); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002b14 f01b +002b16 0101 MOVLB 0x1 gTmpIntervals = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002b18 ec67 CALL 0x3cce,0x0 +002b1a f01e +002b1c ece9 CALL 0x41d2,0x0 gTmpSteps1 = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002b1e f020 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002afc ec96 CALL 0x3b2c,0x0 if (gTmpSteps1 != 0) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002afe f01d -002b00 e063 BZ 0x2bc8 +002b20 ecba CALL 0x3b74,0x0 if (gTmpSteps1 != 0) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002b22 f01d +002b24 e063 BZ 0x2bec { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002b02 90d8 BCF 0xd8,0x0,0x0 if (gTmpSteps1 < 0x1FFFF) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002b04 5198 MOVF 0x98,0x0,0x1 -002b06 0a00 XORLW 0x0 -002b08 e608 BN 0x2b1a -002b0a 0eff MOVLW 0xff -002b0c 5d95 SUBWF 0x95,0x0,0x1 -002b0e 0eff MOVLW 0xff -002b10 5996 SUBWFB 0x96,0x0,0x1 -002b12 0e01 MOVLW 0x1 -002b14 5997 SUBWFB 0x97,0x0,0x1 -002b16 0e00 MOVLW 0x0 -002b18 5998 SUBWFB 0x98,0x0,0x1 -002b1a e224 BC 0x2b64 +002b26 90d8 BCF 0xd8,0x0,0x0 if (gTmpSteps1 < 0x1FFFF) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002b28 51d2 MOVF 0xd2,0x0,0x1 +002b2a 0a00 XORLW 0x0 +002b2c e608 BN 0x2b3e +002b2e 0eff MOVLW 0xff +002b30 5dcf SUBWF 0xcf,0x0,0x1 +002b32 0eff MOVLW 0xff +002b34 59d0 SUBWFB 0xd0,0x0,0x1 +002b36 0e01 MOVLW 0x1 +002b38 59d1 SUBWFB 0xd1,0x0,0x1 +002b3a 0e00 MOVLW 0x0 +002b3c 59d2 SUBWFB 0xd2,0x0,0x1 +002b3e e224 BC 0x2b88 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002b1c ece9 CALL 0x37d2,0x0 gTmpRate1 = HIGH_ISR_TICKS_PER_MS * gTmpDurationMS; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002b1e f01b -0037d2 cb85 MOVFF 0xb85,0xb8d -0037d4 fb8d -0037d6 cb86 MOVFF 0xb86,0xb8e -0037d8 fb8e -0037da cb87 MOVFF 0xb87,0xb8f -0037dc fb8f -0037de cb88 MOVFF 0xb88,0xb90 -0037e0 fb90 -0037e2 ec40 CALL 0x4280,0x0 -0037e4 f021 -0037e6 c025 MOVFF 0x25,0xb8d -0037e8 fb8d -0037ea c026 MOVFF 0x26,0xb8e -0037ec fb8e -0037ee c027 MOVFF 0x27,0xb8f -0037f0 fb8f -0037f2 c028 MOVFF 0x28,0xb90 -0037f4 fb90 -003eea cb85 MOVFF 0xb85,0x29 -003eec f029 -003eee cb86 MOVFF 0xb86,0x2a -003ef0 f02a -003ef2 cb87 MOVFF 0xb87,0x2b -003ef4 f02b -003ef6 cb88 MOVFF 0xb88,0x2c -003ef8 f02c -003efa 0012 RETURN 0x0 -002b20 ec2d CALL 0x3c5a,0x0 gTmpIntervals = (gTmpSteps1 << 15)/gTmpRate1; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002b22 f01e -002b24 e003 BZ 0x2b2c -002b26 ec16 CALL 0x382c,0x0 -002b28 f01c -002b2a e1fd BNZ 0x2b26 -002b2c ec63 CALL 0x40c6,0x0 -002b2e f020 -0037f6 0e0f MOVLW 0xf -0037f8 0b1f ANDLW 0x1f -0037fa 0012 RETURN 0x0 -003c5a cb95 MOVFF 0xb95,0x33 -003c5c f033 -003c5e cb96 MOVFF 0xb96,0x34 -003c60 f034 -003c62 cb97 MOVFF 0xb97,0x35 -003c64 f035 -003c66 cb98 MOVFF 0xb98,0x36 -003c68 f036 -003c6a 0012 RETURN 0x0 -0040c6 ec87 CALL 0x370e,0x0 -0040c8 f01b -0040ca ec9e CALL 0x8f3c,0x0 -0040cc f047 -0040ce ec07 CALL 0x380e,0x0 -0040d0 f01c -002b30 ec2d CALL 0x3c5a,0x0 gTmpRate2 = (gTmpSteps1 << 15) % gTmpRate1; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002b32 f01e -002b34 e003 BZ 0x2b3c -002b36 ec16 CALL 0x382c,0x0 -002b38 f01c -002b3a e1fd BNZ 0x2b36 -002b3c ecb0 CALL 0x4160,0x0 -002b3e f020 -002b40 aef5 BTFSS 0xf5,0x7,0x0 -002b42 d002 BRA 0x2b48 -002b44 ec36 CALL 0x3c6c,0x0 +002b40 ecfc CALL 0x37f8,0x0 gTmpRate1 = HIGH_ISR_TICKS_PER_MS * gTmpDurationMS; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002b42 f01b +0037f8 c1bf MOVFF 0x1bf,0x1c7 +0037fa f1c7 +0037fc c1c0 MOVFF 0x1c0,0x1c8 +0037fe f1c8 +003800 c1c1 MOVFF 0x1c1,0x1c9 +003802 f1c9 +003804 c1c2 MOVFF 0x1c2,0x1ca +003806 f1ca +003808 ec51 CALL 0x42a2,0x0 +00380a f021 +00380c c039 MOVFF 0x39,0x1c7 +00380e f1c7 +003810 c03a MOVFF 0x3a,0x1c8 +003812 f1c8 +003814 c03b MOVFF 0x3b,0x1c9 +003816 f1c9 +003818 c03c MOVFF 0x3c,0x1ca +00381a f1ca +003f0a c1bf MOVFF 0x1bf,0x3d +003f0c f03d +003f0e c1c0 MOVFF 0x1c0,0x3e +003f10 f03e +003f12 c1c1 MOVFF 0x1c1,0x3f +003f14 f03f +003f16 c1c2 MOVFF 0x1c2,0x40 +003f18 f040 +003f1a 0012 RETURN 0x0 +002b44 ec2d CALL 0x3c5a,0x0 gTmpIntervals = (gTmpSteps1 << 15)/gTmpRate1; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c 002b46 f01e -002b48 eca8 CALL 0x3950,0x0 -002b4a f01c -003950 c025 MOVFF 0x25,0xb91 -003952 fb91 -003954 c026 MOVFF 0x26,0xb92 -003956 fb92 -003958 c027 MOVFF 0x27,0xb93 -00395a fb93 -00395c c028 MOVFF 0x28,0xb94 -00395e fb94 +002b48 e003 BZ 0x2b50 +002b4a ec29 CALL 0x3852,0x0 +002b4c f01c +002b4e e1fd BNZ 0x2b4a +002b50 ec74 CALL 0x40e8,0x0 +002b52 f020 +00381c 0e0f MOVLW 0xf +00381e 0b1f ANDLW 0x1f +003820 0012 RETURN 0x0 +003c5a c1cf MOVFF 0x1cf,0x47 +003c5c f047 +003c5e c1d0 MOVFF 0x1d0,0x48 +003c60 f048 +003c62 c1d1 MOVFF 0x1d1,0x49 +003c64 f049 +003c66 c1d2 MOVFF 0x1d2,0x4a +003c68 f04a +003c6a 0012 RETURN 0x0 +0040e8 ec9a CALL 0x3734,0x0 +0040ea f01b +0040ec ecac CALL 0x8f58,0x0 +0040ee f047 +0040f0 ec1a CALL 0x3834,0x0 +0040f2 f01c +002b54 ec2d CALL 0x3c5a,0x0 gTmpRate2 = (gTmpSteps1 << 15) % gTmpRate1; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002b56 f01e +002b58 e003 BZ 0x2b60 +002b5a ec29 CALL 0x3852,0x0 +002b5c f01c +002b5e e1fd BNZ 0x2b5a +002b60 ecc1 CALL 0x4182,0x0 +002b62 f020 +002b64 aef5 BTFSS 0xf5,0x7,0x0 +002b66 d002 BRA 0x2b6c +002b68 ec36 CALL 0x3c6c,0x0 +002b6a f01e +002b6c ecbb CALL 0x3976,0x0 +002b6e f01c +003976 c039 MOVFF 0x39,0x1cb +003978 f1cb +00397a c03a MOVFF 0x3a,0x1cc +00397c f1cc +00397e c03b MOVFF 0x3b,0x1cd +003980 f1cd +003982 c03c MOVFF 0x3c,0x1ce +003984 f1ce 003c6c 0e00 MOVLW 0x0 -003c6e 6c25 NEGF 0x25,0x0 -003c70 1e26 COMF 0x26,0x1,0x0 -003c72 2226 ADDWFC 0x26,0x1,0x0 -003c74 1e27 COMF 0x27,0x1,0x0 -003c76 2227 ADDWFC 0x27,0x1,0x0 -003c78 1e28 COMF 0x28,0x1,0x0 -003c7a 2228 ADDWFC 0x28,0x1,0x0 +003c6e 6c39 NEGF 0x39,0x0 +003c70 1e3a COMF 0x3a,0x1,0x0 +003c72 223a ADDWFC 0x3a,0x1,0x0 +003c74 1e3b COMF 0x3b,0x1,0x0 +003c76 223b ADDWFC 0x3b,0x1,0x0 +003c78 1e3c COMF 0x3c,0x1,0x0 +003c7a 223c ADDWFC 0x3c,0x1,0x0 003c7c 0012 RETURN 0x0 -0040d2 0e0f MOVLW 0xf -0040d4 0b1f ANDLW 0x1f -0040d6 0012 RETURN 0x0 -004160 ec87 CALL 0x370e,0x0 -004162 f01b -004164 cb90 MOVFF 0xb90,0xff5 -004166 fff5 -004168 ef9e GOTO 0x8f3c -00416a f047 +0040f4 0e0f MOVLW 0xf +0040f6 0b1f ANDLW 0x1f +0040f8 0012 RETURN 0x0 +004182 ec9a CALL 0x3734,0x0 +004184 f01b +004186 c1ca MOVFF 0x1ca,0xff5 +004188 fff5 +00418a efac GOTO 0x8f58 +00418c f047 // Because it takes us about 5ms extra time to do this division, C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // we only perform this extra step if our move is long enough to C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // warrant it. That way, for really short moves (where the extra C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // precision isn't necessary) we don't take up extra time. Without C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // this optimization, our minimum move time is 20ms. With it, it C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // drops down to about 15ms. C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002b4c e216 BC 0x2b7a if (gTmpDurationMS > 30u) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -003960 80d8 BSF 0xd8,0x0,0x0 -003962 0e1e MOVLW 0x1e -003964 010b MOVLB 0xb -003966 d3ba BRA 0x40dc -0040dc 5585 SUBFWB 0x85,0x0,0x1 -0040de 0e00 MOVLW 0x0 -0040e0 5586 SUBFWB 0x86,0x0,0x1 -0040e2 0e00 MOVLW 0x0 -0040e4 5587 SUBFWB 0x87,0x0,0x1 -0040e6 0e00 MOVLW 0x0 -0040e8 5588 SUBFWB 0x88,0x0,0x1 -0040ea 0012 RETURN 0x0 +002b70 e216 BC 0x2b9e if (gTmpDurationMS > 30u) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +003986 80d8 BSF 0xd8,0x0,0x0 +003988 0e1e MOVLW 0x1e +00398a 0101 MOVLB 0x1 +00398c d3b8 BRA 0x40fe +0040fe 55bf SUBFWB 0xbf,0x0,0x1 +004100 0e00 MOVLW 0x0 +004102 55c0 SUBFWB 0xc0,0x0,0x1 +004104 0e00 MOVLW 0x0 +004106 55c1 SUBFWB 0xc1,0x0,0x1 +004108 0e00 MOVLW 0x0 +00410a 55c2 SUBFWB 0xc2,0x0,0x1 +00410c 0012 RETURN 0x0 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002b4e ec5e CALL 0x3abc,0x0 remainder = (gTmpRate2 << 16) / gTmpRate1; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002b50 f01d -002b52 e003 BZ 0x2b5a -002b54 ec16 CALL 0x382c,0x0 -002b56 f01c -002b58 e1fd BNZ 0x2b54 -002b5a ec87 CALL 0x370e,0x0 -002b5c f01b -002b5e ec69 CALL 0x3ad2,0x0 -002b60 f01d -003abc 0e10 MOVLW 0x10 -003abe 0b1f ANDLW 0x1f -003ac0 cb91 MOVFF 0xb91,0x33 -003ac2 f033 -003ac4 cb92 MOVFF 0xb92,0x34 -003ac6 f034 -003ac8 cb93 MOVFF 0xb93,0x35 -003aca f035 -003acc cb94 MOVFF 0xb94,0x36 -003ace f036 -003ad0 0012 RETURN 0x0 -003ad2 ec9e CALL 0x8f3c,0x0 -003ad4 f047 -003ad6 c029 MOVFF 0x29,0xfde -003ad8 ffde -003ada c02a MOVFF 0x2a,0xfde -003adc ffde -003ade c02b MOVFF 0x2b,0xfde -003ae0 ffde -003ae2 c02c MOVFF 0x2c,0xfdd -003ae4 ffdd -003ae6 0012 RETURN 0x0 +002b72 ec82 CALL 0x3b04,0x0 remainder = (gTmpRate2 << 16) / gTmpRate1; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002b74 f01d +002b76 e003 BZ 0x2b7e +002b78 ec29 CALL 0x3852,0x0 +002b7a f01c +002b7c e1fd BNZ 0x2b78 +002b7e ec9a CALL 0x3734,0x0 +002b80 f01b +002b82 ec8d CALL 0x3b1a,0x0 +002b84 f01d +003b04 0e10 MOVLW 0x10 +003b06 0b1f ANDLW 0x1f +003b08 c1cb MOVFF 0x1cb,0x47 +003b0a f047 +003b0c c1cc MOVFF 0x1cc,0x48 +003b0e f048 +003b10 c1cd MOVFF 0x1cd,0x49 +003b12 f049 +003b14 c1ce MOVFF 0x1ce,0x4a +003b16 f04a +003b18 0012 RETURN 0x0 +003b1a ecac CALL 0x8f58,0x0 +003b1c f047 +003b1e c03d MOVFF 0x3d,0xfde +003b20 ffde +003b22 c03e MOVFF 0x3e,0xfde +003b24 ffde +003b26 c03f MOVFF 0x3f,0xfde +003b28 ffde +003b2a c040 MOVFF 0x40,0xfdd +003b2c ffdd +003b2e 0012 RETURN 0x0 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002b62 d009 BRA 0x2b76 else C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002b86 d009 BRA 0x2b9a else C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002b64 ec28 CALL 0x3850,0x0 gTmpIntervals = (((gTmpSteps1/gTmpDurationMS) * (UINT32)0x8000)/(UINT32)HIGH_ISR_TICKS_PER_MS); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002b66 f01c -002b68 eccd CALL 0x3f9a,0x0 -002b6a f01f -002b6c ec29 CALL 0x3a52,0x0 -002b6e f01d -002b70 e1fd BNZ 0x2b6c -002b72 ecb5 CALL 0x3f6a,0x0 -002b74 f01f -003f6a 0e19 MOVLW 0x19 -003f6c d9ed RCALL 0x4348 -003f6e dcd9 RCALL 0x3922 -003f70 ecfe CALL 0x8ffc,0x0 -003f72 f047 -003f74 dc4c RCALL 0x380e -003f9a d977 RCALL 0x428a -003f9c ecfe CALL 0x8ffc,0x0 -003f9e f047 -003fa0 dc36 RCALL 0x380e -003fa2 0e0f MOVLW 0xf -003fa4 010b MOVLB 0xb -003fa6 0012 RETURN 0x0 -002b76 52dd MOVF 0xdd,0x1,0x0 remainder = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002b78 52dd MOVF 0xdd,0x1,0x0 -003f76 6ade CLRF 0xde,0x0 -003f78 6ade CLRF 0xde,0x0 -003f7a 6ade CLRF 0xde,0x0 -003f7c 6add CLRF 0xdd,0x0 -003f7e 0012 RETURN 0x0 - } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002b7a ec74 CALL 0x3ae8,0x0 if (gTmpIntervals > 0x8000) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002b7c f01d -002b7e e205 BC 0x2b8a -003ae8 80d8 BSF 0xd8,0x0,0x0 -003aea 0e00 MOVLW 0x0 -003aec 010b MOVLB 0xb -003aee 5589 SUBFWB 0x89,0x0,0x1 -003af0 0e80 MOVLW 0x80 -003af2 558a SUBFWB 0x8a,0x0,0x1 -003af4 0e00 MOVLW 0x0 -003af6 558b SUBFWB 0x8b,0x0,0x1 -003af8 0e00 MOVLW 0x0 -003afa 558c SUBFWB 0x8c,0x0,0x1 -003afc 0012 RETURN 0x0 - { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002b80 0e6c MOVLW 0x6c ebb_print((far rom char *)"Major malfunction Axis1 StepCounter too high : "); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002b82 6e33 MOVWF 0x33,0x0 -002b84 0e7a MOVLW 0x7a -002b86 ec97 CALL 0x3f2e,0x0 -002b88 f01f -003f2e ec97 CALL 0x352e,0x0 -003f30 f01a -003f32 cb89 MOVFF 0xb89,0xfe6 ebb_print_uint(gTmpIntervals); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -003f34 ffe6 -003f36 cb8a MOVFF 0xb8a,0xfe6 -003f38 ffe6 -003f3a cb8b MOVFF 0xb8b,0xfe6 -003f3c ffe6 -003f3e cb8c MOVFF 0xb8c,0xfe6 -003f40 ffe6 -003f42 ec97 CALL 0x372e,0x0 -003f44 f01b -003f46 dc20 RCALL 0x3788 print_line_ending(kLE_REV); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -003d7c 010b MOVLB 0xb gTmpIntervals = 0x8000; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -003d7e 6b89 CLRF 0x89,0x1 -003d80 0e80 MOVLW 0x80 -003d82 6f8a MOVWF 0x8a,0x1 -003d84 6b8b CLRF 0x8b,0x1 -003d86 6b8c CLRF 0x8c,0x1 -003d88 0012 RETURN 0x0 -003f48 efbe GOTO 0x3d7c -003f4a f01e - } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002b8a eca0 CALL 0x3b40,0x0 if (gTmpIntervals == 0u && gTmpSteps1 != 0) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002b8c f01d -002b8e e108 BNZ 0x2ba0 -002b90 ec96 CALL 0x3b2c,0x0 +002b88 ec3b CALL 0x3876,0x0 gTmpIntervals = (((gTmpSteps1/gTmpDurationMS) * (UINT32)0x8000)/(UINT32)HIGH_ISR_TICKS_PER_MS); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002b8a f01c +002b8c ecde CALL 0x3fbc,0x0 +002b8e f01f +002b90 ec4d CALL 0x3a9a,0x0 002b92 f01d -002b94 e005 BZ 0x2ba0 -003b2c 5195 MOVF 0x95,0x0,0x1 -003b2e 1196 IORWF 0x96,0x0,0x1 -003b30 1197 IORWF 0x97,0x0,0x1 -003b32 1198 IORWF 0x98,0x0,0x1 -003b34 0012 RETURN 0x0 - { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002b96 0e43 MOVLW 0x43 ebb_print((far rom char *)"Major malfunction Axis1 StepCounter zero"); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002b98 6e33 MOVWF 0x33,0x0 -002b9a 0e7a MOVLW 0x7a -002b9c ecb6 CALL 0x416c,0x0 -002b9e f020 -00416c ec97 CALL 0x352e,0x0 -00416e f01a -004170 ecc4 CALL 0x3788,0x0 print_line_ending(kLE_REV); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -004172 f01b -003d8a 010b MOVLB 0xb gTmpIntervals = 1; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -003d8c 0e01 MOVLW 0x1 -003d8e 6f89 MOVWF 0x89,0x1 -003d90 6b8a CLRF 0x8a,0x1 -003d92 6b8b CLRF 0x8b,0x1 -003d94 6b8c CLRF 0x8c,0x1 -003d96 0012 RETURN 0x0 -004174 efc5 GOTO 0x3d8a -004176 f01e +002b94 e1fd BNZ 0x2b90 +002b96 ecc6 CALL 0x3f8c,0x0 +002b98 f01f +003f8c 0e19 MOVLW 0x19 +003f8e d9ea RCALL 0x4364 +003f90 dcdb RCALL 0x3948 +003f92 ec0c CALL 0x9018,0x0 +003f94 f048 +003f96 dc4e RCALL 0x3834 +003fbc d977 RCALL 0x42ac +003fbe ec0c CALL 0x9018,0x0 +003fc0 f048 +003fc2 dc38 RCALL 0x3834 +003fc4 0e0f MOVLW 0xf +003fc6 0101 MOVLB 0x1 +003fc8 0012 RETURN 0x0 +002b9a 52dd MOVF 0xdd,0x1,0x0 remainder = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002b9c 52dd MOVF 0xdd,0x1,0x0 +003f98 6ade CLRF 0xde,0x0 +003f9a 6ade CLRF 0xde,0x0 +003f9c 6ade CLRF 0xde,0x0 +003f9e 6add CLRF 0xdd,0x0 +003fa0 0012 RETURN 0x0 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002ba0 eca5 CALL 0x3b4a,0x0 if (gTmpDurationMS > 30u) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002ba2 f01d -002ba4 e209 BC 0x2bb8 -003b4a 80d8 BSF 0xd8,0x0,0x0 -003b4c 0e1e MOVLW 0x1e -003b4e d2c6 BRA 0x40dc +002b9e ec98 CALL 0x3b30,0x0 if (gTmpIntervals > 0x8000) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002ba0 f01d +002ba2 e205 BC 0x2bae +003b30 80d8 BSF 0xd8,0x0,0x0 +003b32 0e00 MOVLW 0x0 +003b34 0101 MOVLB 0x1 +003b36 55c3 SUBFWB 0xc3,0x0,0x1 +003b38 0e80 MOVLW 0x80 +003b3a 55c4 SUBFWB 0xc4,0x0,0x1 +003b3c 0e00 MOVLW 0x0 +003b3e 55c5 SUBFWB 0xc5,0x0,0x1 +003b40 0e00 MOVLW 0x0 +003b42 55c6 SUBFWB 0xc6,0x0,0x1 +003b44 0012 RETURN 0x0 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002ba6 ec7f CALL 0x3afe,0x0 gTmpIntervals = (gTmpIntervals << 16) + remainder; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002ba8 f01d -002baa e003 BZ 0x2bb2 -002bac ec16 CALL 0x382c,0x0 -002bae f01c -002bb0 e1fd BNZ 0x2bac -002bb2 ecc0 CALL 0x3980,0x0 -002bb4 f01c -003980 ec4e CALL 0x429c,0x0 -003982 f021 -003984 5033 MOVF 0x33,0x0,0x0 -003986 24ee ADDWF 0xee,0x0,0x0 -003988 010b MOVLB 0xb -00398a 6f89 MOVWF 0x89,0x1 -00398c 5034 MOVF 0x34,0x0,0x0 -00398e 20ee ADDWFC 0xee,0x0,0x0 -003990 6f8a MOVWF 0x8a,0x1 -003992 5035 MOVF 0x35,0x0,0x0 -003994 20ee ADDWFC 0xee,0x0,0x0 -003996 6f8b MOVWF 0x8b,0x1 -003998 5036 MOVF 0x36,0x0,0x0 -00399a 20ee ADDWFC 0xee,0x0,0x0 -00399c 6f8c MOVWF 0x8c,0x1 -00399e 0012 RETURN 0x0 -003afe 0e10 MOVLW 0x10 -003b00 0b1f ANDLW 0x1f -003b02 cb89 MOVFF 0xb89,0x33 -003b04 f033 -003b06 cb8a MOVFF 0xb8a,0x34 -003b08 f034 -003b0a cb8b MOVFF 0xb8b,0x35 -003b0c f035 -003b0e cb8c MOVFF 0xb8c,0x36 -003b10 f036 -003b12 0012 RETURN 0x0 -00429c cfd9 MOVFF 0xfd9,0xfe9 -00429e ffe9 -0042a0 cfda MOVFF 0xfda,0xfea -0042a2 ffea -0042a4 0012 RETURN 0x0 +002ba4 0e88 MOVLW 0x88 ebb_print((far rom char *)"Major malfunction Axis1 StepCounter too high : "); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002ba6 6e47 MOVWF 0x47,0x0 +002ba8 0e7a MOVLW 0x7a +002baa eca8 CALL 0x3f50,0x0 +002bac f01f +003f50 ecaa CALL 0x3554,0x0 +003f52 f01a +003f54 c1c3 MOVFF 0x1c3,0xfe6 ebb_print_uint(gTmpIntervals); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +003f56 ffe6 +003f58 c1c4 MOVFF 0x1c4,0xfe6 +003f5a ffe6 +003f5c c1c5 MOVFF 0x1c5,0xfe6 +003f5e ffe6 +003f60 c1c6 MOVFF 0x1c6,0xfe6 +003f62 ffe6 +003f64 ecaa CALL 0x3754,0x0 +003f66 f01b +003f68 dc22 RCALL 0x37ae print_line_ending(kLE_REV); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +003d9c 0101 MOVLB 0x1 gTmpIntervals = 0x8000; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +003d9e 6bc3 CLRF 0xc3,0x1 +003da0 0e80 MOVLW 0x80 +003da2 6fc4 MOVWF 0xc4,0x1 +003da4 6bc5 CLRF 0xc5,0x1 +003da6 6bc6 CLRF 0xc6,0x1 +003da8 0012 RETURN 0x0 +003f6a efce GOTO 0x3d9c +003f6c f01e } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002bb6 d00a BRA 0x2bcc else C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002bae ecc4 CALL 0x3b88,0x0 if (gTmpIntervals == 0u && gTmpSteps1 != 0) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002bb0 f01d +002bb2 e108 BNZ 0x2bc4 +002bb4 ecba CALL 0x3b74,0x0 +002bb6 f01d +002bb8 e005 BZ 0x2bc4 +003b74 51cf MOVF 0xcf,0x0,0x1 +003b76 11d0 IORWF 0xd0,0x0,0x1 +003b78 11d1 IORWF 0xd1,0x0,0x1 +003b7a 11d2 IORWF 0xd2,0x0,0x1 +003b7c 0012 RETURN 0x0 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002bb8 0e10 MOVLW 0x10 gTmpIntervals = (gTmpIntervals << 16); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002bba 0b1f ANDLW 0x1f -002bbc e007 BZ 0x2bcc -002bbe 010b MOVLB 0xb -002bc0 ec29 CALL 0x3a52,0x0 -002bc2 f01d -002bc4 e1fd BNZ 0x2bc0 +002bba 0e5f MOVLW 0x5f ebb_print((far rom char *)"Major malfunction Axis1 StepCounter zero"); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002bbc 6e47 MOVWF 0x47,0x0 +002bbe 0e7a MOVLW 0x7a +002bc0 ecc7 CALL 0x418e,0x0 +002bc2 f020 +00418e ecaa CALL 0x3554,0x0 +004190 f01a +004192 ecd7 CALL 0x37ae,0x0 print_line_ending(kLE_REV); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +004194 f01b +003daa 0101 MOVLB 0x1 gTmpIntervals = 1; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +003dac 0e01 MOVLW 0x1 +003dae 6fc3 MOVWF 0xc3,0x1 +003db0 6bc4 CLRF 0xc4,0x1 +003db2 6bc5 CLRF 0xc5,0x1 +003db4 6bc6 CLRF 0xc6,0x1 +003db6 0012 RETURN 0x0 +004196 efd5 GOTO 0x3daa +004198 f01e + } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002bc4 ecc9 CALL 0x3b92,0x0 if (gTmpDurationMS > 30u) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002bc6 f01d +002bc8 e209 BC 0x2bdc +003b92 80d8 BSF 0xd8,0x0,0x0 +003b94 0e1e MOVLW 0x1e +003b96 d2b3 BRA 0x40fe + { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002bca eca3 CALL 0x3b46,0x0 gTmpIntervals = (gTmpIntervals << 16) + remainder; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002bcc f01d +002bce e003 BZ 0x2bd6 +002bd0 ec29 CALL 0x3852,0x0 +002bd2 f01c +002bd4 e1fd BNZ 0x2bd0 +002bd6 ecd3 CALL 0x39a6,0x0 +002bd8 f01c +0039a6 ec5f CALL 0x42be,0x0 +0039a8 f021 +0039aa 5047 MOVF 0x47,0x0,0x0 +0039ac 24ee ADDWF 0xee,0x0,0x0 +0039ae 0101 MOVLB 0x1 +0039b0 6fc3 MOVWF 0xc3,0x1 +0039b2 5048 MOVF 0x48,0x0,0x0 +0039b4 20ee ADDWFC 0xee,0x0,0x0 +0039b6 6fc4 MOVWF 0xc4,0x1 +0039b8 5049 MOVF 0x49,0x0,0x0 +0039ba 20ee ADDWFC 0xee,0x0,0x0 +0039bc 6fc5 MOVWF 0xc5,0x1 +0039be 504a MOVF 0x4a,0x0,0x0 +0039c0 20ee ADDWFC 0xee,0x0,0x0 +0039c2 6fc6 MOVWF 0xc6,0x1 +0039c4 0012 RETURN 0x0 +003b46 0e10 MOVLW 0x10 +003b48 0b1f ANDLW 0x1f +003b4a c1c3 MOVFF 0x1c3,0x47 +003b4c f047 +003b4e c1c4 MOVFF 0x1c4,0x48 +003b50 f048 +003b52 c1c5 MOVFF 0x1c5,0x49 +003b54 f049 +003b56 c1c6 MOVFF 0x1c6,0x4a +003b58 f04a +003b5a 0012 RETURN 0x0 +0042be cfd9 MOVFF 0xfd9,0xfe9 +0042c0 ffe9 +0042c2 cfda MOVFF 0xfda,0xfea +0042c4 ffea +0042c6 0012 RETURN 0x0 + } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002bda d00a BRA 0x2bf0 else C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c + { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002bdc 0e10 MOVLW 0x10 gTmpIntervals = (gTmpIntervals << 16); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002bde 0b1f ANDLW 0x1f +002be0 e007 BZ 0x2bf0 +002be2 0101 MOVLB 0x1 +002be4 ec4d CALL 0x3a9a,0x0 +002be6 f01d +002be8 e1fd BNZ 0x2be4 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002bc6 d002 BRA 0x2bcc else C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002bea d002 BRA 0x2bf0 else C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002bc8 ec67 CALL 0x3cce,0x0 gTmpIntervals = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002bca f01e -003cce 6b89 CLRF 0x89,0x1 -003cd0 6b8a CLRF 0x8a,0x1 -003cd2 6b8b CLRF 0x8b,0x1 -003cd4 6b8c CLRF 0x8c,0x1 +002bec ec67 CALL 0x3cce,0x0 gTmpIntervals = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002bee f01e +003cce 6bc3 CLRF 0xc3,0x1 +003cd0 6bc4 CLRF 0xc4,0x1 +003cd2 6bc5 CLRF 0xc5,0x1 +003cd4 6bc6 CLRF 0xc6,0x1 003cd6 0012 RETURN 0x0 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002bcc eca8 CALL 0x3b50,0x0 if (gTmpIntervals >= 0x7FFFFFFFu) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002bce f01d -002bd0 e305 BNC 0x2bdc -003b50 0eff MOVLW 0xff -003b52 010b MOVLB 0xb -003b54 5d89 SUBWF 0x89,0x0,0x1 -003b56 0eff MOVLW 0xff -003b58 598a SUBWFB 0x8a,0x0,0x1 -003b5a 0eff MOVLW 0xff -003b5c 598b SUBWFB 0x8b,0x0,0x1 -003b5e 0e7f MOVLW 0x7f -003b60 598c SUBWFB 0x8c,0x0,0x1 -003b62 0012 RETURN 0x0 +002bf0 eccc CALL 0x3b98,0x0 if (gTmpIntervals >= 0x7FFFFFFFu) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002bf2 f01d +002bf4 e305 BNC 0x2c00 +003b98 0eff MOVLW 0xff +003b9a 0101 MOVLB 0x1 +003b9c 5dc3 SUBWF 0xc3,0x0,0x1 +003b9e 0eff MOVLW 0xff +003ba0 59c4 SUBWFB 0xc4,0x0,0x1 +003ba2 0eff MOVLW 0xff +003ba4 59c5 SUBWFB 0xc5,0x0,0x1 +003ba6 0e7f MOVLW 0x7f +003ba8 59c6 SUBWFB 0xc6,0x0,0x1 +003baa 0012 RETURN 0x0 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002bd2 6989 SETF 0x89,0x1 gTmpIntervals = 0x7FFFFFFF; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002bd4 698a SETF 0x8a,0x1 -002bd6 698b SETF 0x8b,0x1 -002bd8 0e7f MOVLW 0x7f -002bda 6f8c MOVWF 0x8c,0x1 +002bf6 69c3 SETF 0xc3,0x1 gTmpIntervals = 0x7FFFFFFF; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002bf8 69c4 SETF 0xc4,0x1 +002bfa 69c5 SETF 0xc5,0x1 +002bfc 0e7f MOVLW 0x7f +002bfe 6fc6 MOVWF 0xc6,0x1 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002bdc cb89 MOVFF 0xb89,0xb2b gMoveTemp.Rate[0].value = gTmpIntervals; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002bde fb2b -002be0 cb8a MOVFF 0xb8a,0xb2c -002be2 fb2c -002be4 cb8b MOVFF 0xb8b,0xb2d -002be6 fb2d -002be8 cb8c MOVFF 0xb8c,0xb2e -002bea fb2e -002bec ecf7 CALL 0x3bee,0x0 gMoveTemp.Steps[0] = gTmpSteps1; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002bee f01d -002bf0 6b43 CLRF 0x43,0x1 gMoveTemp.Accel[0] = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002bf2 6b44 CLRF 0x44,0x1 -002bf4 6b45 CLRF 0x45,0x1 -002bf6 6b46 CLRF 0x46,0x1 +002c00 c1c3 MOVFF 0x1c3,0x130 gMoveTemp.Rate[0].value = gTmpIntervals; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002c02 f130 +002c04 c1c4 MOVFF 0x1c4,0x131 +002c06 f131 +002c08 c1c5 MOVFF 0x1c5,0x132 +002c0a f132 +002c0c c1c6 MOVFF 0x1c6,0x133 +002c0e f133 +002c10 ecf7 CALL 0x3bee,0x0 gMoveTemp.Steps[0] = gTmpSteps1; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002c12 f01d +002c14 0101 MOVLB 0x1 gMoveTemp.Accel[0] = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002c16 6b48 CLRF 0x48,0x1 +002c18 6b49 CLRF 0x49,0x1 +002c1a 6b4a CLRF 0x4a,0x1 +002c1c 6b4b CLRF 0x4b,0x1 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002bf8 ec9b CALL 0x3b36,0x0 if (gTmpSteps2 != 0) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002bfa f01d -002bfc e062 BZ 0x2cc2 +002c1e 0101 MOVLB 0x1 if (gTmpSteps2 != 0) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002c20 ecbf CALL 0x3b7e,0x0 +002c22 f01d +002c24 e062 BZ 0x2cea { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002bfe 90d8 BCF 0xd8,0x0,0x0 if (gTmpSteps2 < 0x1FFFF) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002c00 519c MOVF 0x9c,0x0,0x1 -002c02 0a00 XORLW 0x0 -002c04 e608 BN 0x2c16 -002c06 0eff MOVLW 0xff -002c08 5d99 SUBWF 0x99,0x0,0x1 -002c0a 0eff MOVLW 0xff -002c0c 599a SUBWFB 0x9a,0x0,0x1 -002c0e 0e01 MOVLW 0x1 -002c10 599b SUBWFB 0x9b,0x0,0x1 -002c12 0e00 MOVLW 0x0 -002c14 599c SUBWFB 0x9c,0x0,0x1 -002c16 e224 BC 0x2c60 +002c26 90d8 BCF 0xd8,0x0,0x0 if (gTmpSteps2 < 0x1FFFF) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002c28 51d6 MOVF 0xd6,0x0,0x1 +002c2a 0a00 XORLW 0x0 +002c2c e608 BN 0x2c3e +002c2e 0eff MOVLW 0xff +002c30 5dd3 SUBWF 0xd3,0x0,0x1 +002c32 0eff MOVLW 0xff +002c34 59d4 SUBWFB 0xd4,0x0,0x1 +002c36 0e01 MOVLW 0x1 +002c38 59d5 SUBWFB 0xd5,0x0,0x1 +002c3a 0e00 MOVLW 0x0 +002c3c 59d6 SUBWFB 0xd6,0x0,0x1 +002c3e e224 BC 0x2c88 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002c18 ece9 CALL 0x37d2,0x0 gTmpRate1 = HIGH_ISR_TICKS_PER_MS * gTmpDurationMS; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002c1a f01b -002c1c ec3f CALL 0x3c7e,0x0 gTmpIntervals = (gTmpSteps2 << 15)/gTmpRate1; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002c1e f01e -002c20 e003 BZ 0x2c28 -002c22 ec16 CALL 0x382c,0x0 -002c24 f01c -002c26 e1fd BNZ 0x2c22 -002c28 ec63 CALL 0x40c6,0x0 -002c2a f020 -003c7e cb99 MOVFF 0xb99,0x33 -003c80 f033 -003c82 cb9a MOVFF 0xb9a,0x34 -003c84 f034 -003c86 cb9b MOVFF 0xb9b,0x35 -003c88 f035 -003c8a cb9c MOVFF 0xb9c,0x36 -003c8c f036 +002c40 ecfc CALL 0x37f8,0x0 gTmpRate1 = HIGH_ISR_TICKS_PER_MS * gTmpDurationMS; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002c42 f01b +002c44 ec3f CALL 0x3c7e,0x0 gTmpIntervals = (gTmpSteps2 << 15)/gTmpRate1; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002c46 f01e +002c48 e003 BZ 0x2c50 +002c4a ec29 CALL 0x3852,0x0 +002c4c f01c +002c4e e1fd BNZ 0x2c4a +002c50 ec74 CALL 0x40e8,0x0 +002c52 f020 +003c7e c1d3 MOVFF 0x1d3,0x47 +003c80 f047 +003c82 c1d4 MOVFF 0x1d4,0x48 +003c84 f048 +003c86 c1d5 MOVFF 0x1d5,0x49 +003c88 f049 +003c8a c1d6 MOVFF 0x1d6,0x4a +003c8c f04a 003c8e 0012 RETURN 0x0 -002c2c ec3f CALL 0x3c7e,0x0 gTmpRate2 = (gTmpSteps2 << 15) % gTmpRate1; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002c2e f01e -002c30 e003 BZ 0x2c38 -002c32 ec16 CALL 0x382c,0x0 -002c34 f01c -002c36 e1fd BNZ 0x2c32 -002c38 ecb0 CALL 0x4160,0x0 -002c3a f020 -002c3c aef5 BTFSS 0xf5,0x7,0x0 -002c3e d002 BRA 0x2c44 -002c40 ec36 CALL 0x3c6c,0x0 -002c42 f01e -002c44 eca8 CALL 0x3950,0x0 -002c46 f01c -002c48 e216 BC 0x2c76 if (gTmpDurationMS > 30u) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002c54 ec3f CALL 0x3c7e,0x0 gTmpRate2 = (gTmpSteps2 << 15) % gTmpRate1; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002c56 f01e +002c58 e003 BZ 0x2c60 +002c5a ec29 CALL 0x3852,0x0 +002c5c f01c +002c5e e1fd BNZ 0x2c5a +002c60 ecc1 CALL 0x4182,0x0 +002c62 f020 +002c64 aef5 BTFSS 0xf5,0x7,0x0 +002c66 d002 BRA 0x2c6c +002c68 ec36 CALL 0x3c6c,0x0 +002c6a f01e +002c6c ecbb CALL 0x3976,0x0 +002c6e f01c +002c70 e216 BC 0x2c9e if (gTmpDurationMS > 30u) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002c4a ec5e CALL 0x3abc,0x0 remainder = (gTmpRate2 << 16) / gTmpRate1; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002c4c f01d -002c4e e003 BZ 0x2c56 -002c50 ec16 CALL 0x382c,0x0 -002c52 f01c -002c54 e1fd BNZ 0x2c50 -002c56 ec87 CALL 0x370e,0x0 -002c58 f01b -002c5a ec69 CALL 0x3ad2,0x0 -002c5c f01d -00370e ec5a CALL 0x40b4,0x0 -003710 f020 -003712 cb8d MOVFF 0xb8d,0x2e -003714 f02e -003716 cb8e MOVFF 0xb8e,0x2f -003718 f02f -00371a cb8f MOVFF 0xb8f,0x30 -00371c f030 -00371e cb90 MOVFF 0xb90,0x31 -003720 f031 -003722 0012 RETURN 0x0 +002c72 ec82 CALL 0x3b04,0x0 remainder = (gTmpRate2 << 16) / gTmpRate1; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002c74 f01d +002c76 e003 BZ 0x2c7e +002c78 ec29 CALL 0x3852,0x0 +002c7a f01c +002c7c e1fd BNZ 0x2c78 +002c7e ec9a CALL 0x3734,0x0 +002c80 f01b +002c82 ec8d CALL 0x3b1a,0x0 +002c84 f01d +003734 ec6b CALL 0x40d6,0x0 +003736 f020 +003738 c1c7 MOVFF 0x1c7,0x42 +00373a f042 +00373c c1c8 MOVFF 0x1c8,0x43 +00373e f043 +003740 c1c9 MOVFF 0x1c9,0x44 +003742 f044 +003744 c1ca MOVFF 0x1ca,0x45 +003746 f045 +003748 0012 RETURN 0x0 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002c5e d009 BRA 0x2c72 else C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002c86 d009 BRA 0x2c9a else C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002c60 ec88 CALL 0x3910,0x0 gTmpIntervals = (((gTmpSteps2/gTmpDurationMS) * (UINT32)0x8000)/(UINT32)HIGH_ISR_TICKS_PER_MS); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002c62 f01c -002c64 eccd CALL 0x3f9a,0x0 -002c66 f01f -002c68 ec29 CALL 0x3a52,0x0 -002c6a f01d -002c6c e1fd BNZ 0x2c68 -002c6e ecb5 CALL 0x3f6a,0x0 -002c70 f01f -00380e c029 MOVFF 0x29,0xb89 -003810 fb89 -003812 c02a MOVFF 0x2a,0xb8a -003814 fb8a -003816 c02b MOVFF 0x2b,0xb8b -003818 fb8b -00381a c02c MOVFF 0x2c,0xb8c -00381c fb8c -00381e 0012 RETURN 0x0 -002c72 52dd MOVF 0xdd,0x1,0x0 remainder = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002c74 52dd MOVF 0xdd,0x1,0x0 +002c88 ec9b CALL 0x3936,0x0 gTmpIntervals = (((gTmpSteps2/gTmpDurationMS) * (UINT32)0x8000)/(UINT32)HIGH_ISR_TICKS_PER_MS); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002c8a f01c +002c8c ecde CALL 0x3fbc,0x0 +002c8e f01f +002c90 ec4d CALL 0x3a9a,0x0 +002c92 f01d +002c94 e1fd BNZ 0x2c90 +002c96 ecc6 CALL 0x3f8c,0x0 +002c98 f01f +003834 c03d MOVFF 0x3d,0x1c3 +003836 f1c3 +003838 c03e MOVFF 0x3e,0x1c4 +00383a f1c4 +00383c c03f MOVFF 0x3f,0x1c5 +00383e f1c5 +003840 c040 MOVFF 0x40,0x1c6 +003842 f1c6 +003844 0012 RETURN 0x0 +002c9a 52dd MOVF 0xdd,0x1,0x0 remainder = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002c9c 52dd MOVF 0xdd,0x1,0x0 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002c76 ec74 CALL 0x3ae8,0x0 if (gTmpIntervals > 0x8000) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002c78 f01d -002c7a e205 BC 0x2c86 +002c9e ec98 CALL 0x3b30,0x0 if (gTmpIntervals > 0x8000) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002ca0 f01d +002ca2 e205 BC 0x2cae { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002c7c 0e13 MOVLW 0x13 ebb_print((far rom char *)"Major malfunction Axis2 StepCounter too high : "); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002c7e 6e33 MOVWF 0x33,0x0 -002c80 0e7a MOVLW 0x7a -002c82 ec97 CALL 0x3f2e,0x0 -002c84 f01f +002ca4 0e2f MOVLW 0x2f ebb_print((far rom char *)"Major malfunction Axis2 StepCounter too high : "); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002ca6 6e47 MOVWF 0x47,0x0 +002ca8 0e7a MOVLW 0x7a +002caa eca8 CALL 0x3f50,0x0 +002cac f01f ebb_print_uint(gTmpIntervals); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c print_line_ending(kLE_REV); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c gTmpIntervals = 0x8000; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002c86 eca0 CALL 0x3b40,0x0 if (gTmpIntervals == 0u && gTmpSteps2 != 0) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002c88 f01d -002c8a e108 BNZ 0x2c9c -002c8c ec9b CALL 0x3b36,0x0 -002c8e f01d -002c90 e005 BZ 0x2c9c -003b36 5199 MOVF 0x99,0x0,0x1 -003b38 119a IORWF 0x9a,0x0,0x1 -003b3a 119b IORWF 0x9b,0x0,0x1 -003b3c 119c IORWF 0x9c,0x0,0x1 -003b3e 0012 RETURN 0x0 -003b40 5189 MOVF 0x89,0x0,0x1 -003b42 118a IORWF 0x8a,0x0,0x1 -003b44 118b IORWF 0x8b,0x0,0x1 -003b46 118c IORWF 0x8c,0x0,0x1 -003b48 0012 RETURN 0x0 +002cae ecc4 CALL 0x3b88,0x0 if (gTmpIntervals == 0u && gTmpSteps2 != 0) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002cb0 f01d +002cb2 e108 BNZ 0x2cc4 +002cb4 ecbf CALL 0x3b7e,0x0 +002cb6 f01d +002cb8 e005 BZ 0x2cc4 +003b7e 51d3 MOVF 0xd3,0x0,0x1 +003b80 11d4 IORWF 0xd4,0x0,0x1 +003b82 11d5 IORWF 0xd5,0x0,0x1 +003b84 11d6 IORWF 0xd6,0x0,0x1 +003b86 0012 RETURN 0x0 +003b88 51c3 MOVF 0xc3,0x0,0x1 +003b8a 11c4 IORWF 0xc4,0x0,0x1 +003b8c 11c5 IORWF 0xc5,0x0,0x1 +003b8e 11c6 IORWF 0xc6,0x0,0x1 +003b90 0012 RETURN 0x0 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002c92 0eea MOVLW 0xea ebb_print((far rom char *)"Major malfunction Axis2 StepCounter zero"); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002c94 6e33 MOVWF 0x33,0x0 -002c96 0e79 MOVLW 0x79 -002c98 ecb6 CALL 0x416c,0x0 -002c9a f020 +002cba 0e06 MOVLW 0x6 ebb_print((far rom char *)"Major malfunction Axis2 StepCounter zero"); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002cbc 6e47 MOVWF 0x47,0x0 +002cbe 0e7a MOVLW 0x7a +002cc0 ecc7 CALL 0x418e,0x0 +002cc2 f020 print_line_ending(kLE_REV); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c gTmpIntervals = 1; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002c9c eca5 CALL 0x3b4a,0x0 if (gTmpDurationMS > 30u) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002c9e f01d -002ca0 e209 BC 0x2cb4 +002cc4 ecc9 CALL 0x3b92,0x0 if (gTmpDurationMS > 30u) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002cc6 f01d +002cc8 e209 BC 0x2cdc { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002ca2 ec7f CALL 0x3afe,0x0 gTmpIntervals = (gTmpIntervals << 16) + remainder; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002ca4 f01d -002ca6 e003 BZ 0x2cae -002ca8 ec16 CALL 0x382c,0x0 -002caa f01c -002cac e1fd BNZ 0x2ca8 -002cae ecc0 CALL 0x3980,0x0 -002cb0 f01c -00382c 90d8 BCF 0xd8,0x0,0x0 -00382e 3633 RLCF 0x33,0x1,0x0 -003830 3634 RLCF 0x34,0x1,0x0 -003832 3635 RLCF 0x35,0x1,0x0 -003834 3636 RLCF 0x36,0x1,0x0 -003836 06e8 DECF 0xe8,0x1,0x0 -003838 0012 RETURN 0x0 +002cca eca3 CALL 0x3b46,0x0 gTmpIntervals = (gTmpIntervals << 16) + remainder; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002ccc f01d +002cce e003 BZ 0x2cd6 +002cd0 ec29 CALL 0x3852,0x0 +002cd2 f01c +002cd4 e1fd BNZ 0x2cd0 +002cd6 ecd3 CALL 0x39a6,0x0 +002cd8 f01c +003852 90d8 BCF 0xd8,0x0,0x0 +003854 3647 RLCF 0x47,0x1,0x0 +003856 3648 RLCF 0x48,0x1,0x0 +003858 3649 RLCF 0x49,0x1,0x0 +00385a 364a RLCF 0x4a,0x1,0x0 +00385c 06e8 DECF 0xe8,0x1,0x0 +00385e 0012 RETURN 0x0 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002cb2 d007 BRA 0x2cc2 else C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002cda d007 BRA 0x2cea else C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002cb4 0e10 MOVLW 0x10 gTmpIntervals = (gTmpIntervals << 16); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002cb6 0b1f ANDLW 0x1f -002cb8 e004 BZ 0x2cc2 -002cba 010b MOVLB 0xb -002cbc ec29 CALL 0x3a52,0x0 -002cbe f01d -002cc0 e1fd BNZ 0x2cbc -003a52 90d8 BCF 0xd8,0x0,0x0 -003a54 3789 RLCF 0x89,0x1,0x1 -003a56 378a RLCF 0x8a,0x1,0x1 -003a58 378b RLCF 0x8b,0x1,0x1 -003a5a 378c RLCF 0x8c,0x1,0x1 -003a5c 06e8 DECF 0xe8,0x1,0x0 -003a5e 0012 RETURN 0x0 +002cdc 0e10 MOVLW 0x10 gTmpIntervals = (gTmpIntervals << 16); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002cde 0b1f ANDLW 0x1f +002ce0 e004 BZ 0x2cea +002ce2 0101 MOVLB 0x1 +002ce4 ec4d CALL 0x3a9a,0x0 +002ce6 f01d +002ce8 e1fd BNZ 0x2ce4 +003a9a 90d8 BCF 0xd8,0x0,0x0 +003a9c 37c3 RLCF 0xc3,0x1,0x1 +003a9e 37c4 RLCF 0xc4,0x1,0x1 +003aa0 37c5 RLCF 0xc5,0x1,0x1 +003aa2 37c6 RLCF 0xc6,0x1,0x1 +003aa4 06e8 DECF 0xe8,0x1,0x0 +003aa6 0012 RETURN 0x0 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002cc2 eca8 CALL 0x3b50,0x0 if (gTmpIntervals >= 0x7FFFFFFFu) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002cc4 f01d -002cc6 e305 BNC 0x2cd2 +002cea eccc CALL 0x3b98,0x0 if (gTmpIntervals >= 0x7FFFFFFFu) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002cec f01d +002cee e305 BNC 0x2cfa { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002cc8 6989 SETF 0x89,0x1 gTmpIntervals = 0x7FFFFFFF; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002cca 698a SETF 0x8a,0x1 -002ccc 698b SETF 0x8b,0x1 -002cce 0e7f MOVLW 0x7f -002cd0 6f8c MOVWF 0x8c,0x1 +002cf0 69c3 SETF 0xc3,0x1 gTmpIntervals = 0x7FFFFFFF; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002cf2 69c4 SETF 0xc4,0x1 +002cf4 69c5 SETF 0xc5,0x1 +002cf6 0e7f MOVLW 0x7f +002cf8 6fc6 MOVWF 0xc6,0x1 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002cd2 cb89 MOVFF 0xb89,0xb2f gMoveTemp.Rate[1].value = gTmpIntervals; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002cd4 fb2f -002cd6 cb8a MOVFF 0xb8a,0xb30 -002cd8 fb30 -002cda cb8b MOVFF 0xb8b,0xb31 -002cdc fb31 -002cde cb8c MOVFF 0xb8c,0xb32 -002ce0 fb32 -002ce2 ec00 CALL 0x3c00,0x0 gMoveTemp.Steps[1] = gTmpSteps2; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002ce4 f01e -002ce6 6b47 CLRF 0x47,0x1 gMoveTemp.Accel[1] = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002ce8 6b48 CLRF 0x48,0x1 -002cea 6b49 CLRF 0x49,0x1 -002cec 6b4a CLRF 0x4a,0x1 -002cee 0e10 MOVLW 0x10 gMoveTemp.Command = COMMAND_SM_XM_HM_MOVE_BIT; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002cf0 6f24 MOVWF 0x24,0x1 +002cfa c1c3 MOVFF 0x1c3,0x134 gMoveTemp.Rate[1].value = gTmpIntervals; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002cfc f134 +002cfe c1c4 MOVFF 0x1c4,0x135 +002d00 f135 +002d02 c1c5 MOVFF 0x1c5,0x136 +002d04 f136 +002d06 c1c6 MOVFF 0x1c6,0x137 +002d08 f137 +002d0a ec00 CALL 0x3c00,0x0 gMoveTemp.Steps[1] = gTmpSteps2; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002d0c f01e +002d0e 0101 MOVLB 0x1 gMoveTemp.Accel[1] = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002d10 6b4c CLRF 0x4c,0x1 +002d12 6b4d CLRF 0x4d,0x1 +002d14 6b4e CLRF 0x4e,0x1 +002d16 6b4f CLRF 0x4f,0x1 +002d18 0e10 MOVLW 0x10 gMoveTemp.Command = COMMAND_SM_XM_HM_MOVE_BIT; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002d1a 6f29 MOVWF 0x29,0x1 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002cf2 aa09 BTFSS 0x9,0x5,0x0 if(bittst(TestMode, TEST_MODE_DEBUG_COMMAND_BIT_NUM)) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002cf4 d011 BRA 0x2d18 +002d1c aa09 BTFSS 0x9,0x5,0x0 if(bittst(TestMode, TEST_MODE_DEBUG_COMMAND_BIT_NUM)) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002d1e d011 BRA 0x2d42 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002cf6 ec94 CALL 0x4128,0x0 ebb_print((far rom char *)"R1="); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002cf8 f020 -00352e 6e34 MOVWF 0x34,0x0 -003530 6a35 CLRF 0x35,0x0 -003532 c033 MOVFF 0x33,0xfe6 -003534 ffe6 -003536 6ee6 MOVWF 0xe6,0x0 -003538 c035 MOVFF 0x35,0xfe6 -00353a ffe6 -00353c ec15 CALL 0x862a,0x0 -00353e f043 -003540 ef30 GOTO 0x4060 -003542 f020 -002cfa ec97 CALL 0x372e,0x0 ebb_print_uint(gMoveTemp.Rate[0].value); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002cfc f01b -002cfe eca6 CALL 0x3f4c,0x0 ebb_print((far rom char *)" S1="); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002d00 f01f +002d20 eca5 CALL 0x414a,0x0 ebb_print((far rom char *)"R1="); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002d22 f020 +003554 6e48 MOVWF 0x48,0x0 +003556 6a49 CLRF 0x49,0x0 +003558 c047 MOVFF 0x47,0xfe6 +00355a ffe6 +00355c 6ee6 MOVWF 0xe6,0x0 +00355e c049 MOVFF 0x49,0xfe6 +003560 ffe6 +003562 ec23 CALL 0x8646,0x0 +003564 f043 +003566 ef41 GOTO 0x4082 +003568 f020 +002d24 ecaa CALL 0x3754,0x0 ebb_print_uint(gMoveTemp.Rate[0].value); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002d26 f01b +002d28 ecb7 CALL 0x3f6e,0x0 ebb_print((far rom char *)" S1="); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002d2a f01f ebb_print_uint(gMoveTemp.Steps[0]); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002d02 ec9b CALL 0x4136,0x0 ebb_print((far rom char *)" R2="); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002d04 f020 -002d06 ec97 CALL 0x372e,0x0 ebb_print_uint(gMoveTemp.Rate[1].value); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002d08 f01b -002d0a 0eae MOVLW 0xae ebb_print((far rom char *)" S2="); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002d0c 6e33 MOVWF 0x33,0x0 -002d0e 0e7c MOVLW 0x7c -002d10 ecee CALL 0x3fdc,0x0 -002d12 f01f +002d2c ecac CALL 0x4158,0x0 ebb_print((far rom char *)" R2="); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002d2e f020 +002d30 ecaa CALL 0x3754,0x0 ebb_print_uint(gMoveTemp.Rate[1].value); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002d32 f01b +002d34 0eca MOVLW 0xca ebb_print((far rom char *)" S2="); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002d36 6e47 MOVWF 0x47,0x0 +002d38 0e7c MOVLW 0x7c +002d3a ecff CALL 0x3ffe,0x0 +002d3c f01f ebb_print_uint(gMoveTemp.Steps[1]); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002d14 ecc4 CALL 0x3788,0x0 print_line_ending(kLE_REV); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002d16 f01b +002d3e ecd7 CALL 0x37ae,0x0 print_line_ending(kLE_REV); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002d40 f01b } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // Spin here until there's space in the FIFO C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002d18 5018 MOVF 0x18,0x0,0x0 while(gFIFOLength >= gCurrentFIFOLength) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002d1a 5c14 SUBWF 0x14,0x0,0x0 -002d1c e2fd BC 0x2d18 +002d42 5018 MOVF 0x18,0x0,0x0 while(gFIFOLength >= gCurrentFIFOLength) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002d44 5c14 SUBWF 0x14,0x0,0x0 +002d46 e2fd BC 0x2d42 ; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // If the limit switch feature has triggered, then ignore this move command C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // Maybe the limit switch has become true between the top of this function C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // and here? Better check for it. C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002d1e b00e BTFSC 0xe,0x0,0x0 if (!bittstzero(gLimitSwitchTriggered)) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002d20 d005 BRA 0x2d2c +002d48 b00e BTFSC 0xe,0x0,0x0 if (!bittstzero(gLimitSwitchTriggered)) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002d4a d005 BRA 0x2d56 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // Now, quick copy over the computed command data to the command FIFO C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002d22 ece5 CALL 0x35ca,0x0 FIFOPtr[gFIFOIn] = gMoveTemp; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002d24 f01a +002d4c ecf8 CALL 0x35f0,0x0 FIFOPtr[gFIFOIn] = gMoveTemp; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002d4e f01a gFIFOIn++; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002d26 e301 BNC 0x2d2a if (gFIFOIn >= gCurrentFIFOLength) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002d50 e301 BNC 0x2d54 if (gFIFOIn >= gCurrentFIFOLength) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002d28 6a15 CLRF 0x15,0x0 gFIFOIn = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002d52 6a15 CLRF 0x15,0x0 gFIFOIn = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002d2a 2a14 INCF 0x14,0x1,0x0 gFIFOLength++; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002d54 2a14 INCF 0x14,0x1,0x0 gFIFOLength++; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002d2c 0e04 MOVLW 0x4 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002d2e 5ce1 SUBWF 0xe1,0x0,0x0 -002d30 e202 BC 0x2d36 -002d32 6ae1 CLRF 0xe1,0x0 -002d34 52e5 MOVF 0xe5,0x1,0x0 -002d36 ef9c GOTO 0x3738 -002d38 f01b +002d56 0e04 MOVLW 0x4 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002d58 5ce1 SUBWF 0xe1,0x0,0x0 +002d5a e202 BC 0x2d60 +002d5c 6ae1 CLRF 0xe1,0x0 +002d5e 52e5 MOVF 0xe5,0x1,0x0 +002d60 efaf GOTO 0x375e +002d62 f01b C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // E-Stop C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // Usage: ES, C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c @@ -13347,185 +13378,185 @@ Address Value Disassembly Source // the motors will not be disabled. (added in v2.8.0) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // = 0 if no FIFO or in-progress move commands were interrupted, C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // 1 if a motor move command was in progress or in the FIFO C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002d3a ec9f CALL 0x373e,0x0 void parse_ES_packet(void) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002d3c f01b -002d3e 0e03 MOVLW 0x3 -002d40 ec06 CALL 0x400c,0x0 +002d64 ecb2 CALL 0x3764,0x0 void parse_ES_packet(void) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002d66 f01b +002d68 0e03 MOVLW 0x3 +002d6a ec17 CALL 0x402e,0x0 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002d42 f020 UINT8 disable_motors = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002d6c f020 UINT8 disable_motors = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c UINT8 command_interrupted = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c UINT8 i; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c print_command(FALSE, TRUE); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // Extract each of the value. C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002d44 eccc CALL 0x3d98,0x0 extract_number(kUCHAR, &disable_motors, kOPTIONAL); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002d46 f01e -002d48 ec0a CALL 0x4014,0x0 -002d4a f020 -003d98 0e01 MOVLW 0x1 -003d9a 6ee6 MOVWF 0xe6,0x0 -003d9c cfd9 MOVFF 0xfd9,0xfe6 -003d9e ffe6 -003da0 cfda MOVFF 0xfda,0xfe6 -003da2 ffe6 -003da4 0012 RETURN 0x0 +002d6e ecdc CALL 0x3db8,0x0 extract_number(kUCHAR, &disable_motors, kOPTIONAL); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002d70 f01e +002d72 ec1b CALL 0x4036,0x0 +002d74 f020 +003db8 0e01 MOVLW 0x1 +003dba 6ee6 MOVWF 0xe6,0x0 +003dbc cfd9 MOVFF 0xfd9,0xfe6 +003dbe ffe6 +003dc0 cfda MOVFF 0xfda,0xfe6 +003dc2 ffe6 +003dc4 0012 RETURN 0x0 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // Bail if we got a conversion error C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002d4c e13c BNZ 0x2dc6 if (error_byte) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002d76 e13c BNZ 0x2df0 if (error_byte) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c return; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // Need to turn off high priority interrupts briefly here to mess with ISR command parameters C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002d4e 9ef2 BCF 0xf2,0x7,0x0 INTCONbits.GIEH = 0; // Turn high priority interrupts off C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002d78 9ef2 BCF 0xf2,0x7,0x0 INTCONbits.GIEH = 0; // Turn high priority interrupts off C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c if C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c ( C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002d50 0e10 MOVLW 0x10 CurrentCommand.Command == COMMAND_SM_XM_HM_MOVE_BIT C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002d52 0101 MOVLB 0x1 || C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002d54 5d80 SUBWF 0x80,0x0,0x1 -002d58 0e20 MOVLW 0x20 CurrentCommand.Command == COMMAND_LM_MOVE_BIT C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002d56 e006 BZ 0x2d64 || C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002d5a 5d80 SUBWF 0x80,0x0,0x1 -002d5c e003 BZ 0x2d64 -002d5e 0e40 MOVLW 0x40 CurrentCommand.Command == COMMAND_LT_MOVE_BIT C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002d60 5d80 SUBWF 0x80,0x0,0x1 ) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002d62 e103 BNZ 0x2d6a +002d7a 0e10 MOVLW 0x10 CurrentCommand.Command == COMMAND_SM_XM_HM_MOVE_BIT C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002d7c 0101 MOVLB 0x1 || C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002d7e 5d80 SUBWF 0x80,0x0,0x1 +002d82 0e20 MOVLW 0x20 CurrentCommand.Command == COMMAND_LM_MOVE_BIT C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002d80 e006 BZ 0x2d8e || C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002d84 5d80 SUBWF 0x80,0x0,0x1 +002d86 e003 BZ 0x2d8e +002d88 0e40 MOVLW 0x40 CurrentCommand.Command == COMMAND_LT_MOVE_BIT C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002d8a 5d80 SUBWF 0x80,0x0,0x1 ) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002d8c e103 BNZ 0x2d94 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002d64 52de MOVF 0xde,0x1,0x0 command_interrupted = 1; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002d66 0e01 MOVLW 0x1 -002d68 6edd MOVWF 0xdd,0x0 +002d8e 52de MOVF 0xde,0x1,0x0 command_interrupted = 1; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002d90 0e01 MOVLW 0x1 +002d92 6edd MOVWF 0xdd,0x0 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002d6a 5014 MOVF 0x14,0x0,0x0 if (gFIFOLength != 0u) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002d6c e003 BZ 0x2d74 +002d94 5014 MOVF 0x14,0x0,0x0 if (gFIFOLength != 0u) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002d96 e003 BZ 0x2d9e { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002d6e 52de MOVF 0xde,0x1,0x0 command_interrupted = 1; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002d70 0e01 MOVLW 0x1 -002d72 6edd MOVWF 0xdd,0x0 +002d98 52de MOVF 0xde,0x1,0x0 command_interrupted = 1; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002d9a 0e01 MOVLW 0x1 +002d9c 6edd MOVWF 0xdd,0x0 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // Clear the currently executing motion command C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002d74 6b80 CLRF 0x80,0x1 CurrentCommand.Command = COMMAND_NONE_BIT; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002d9e 6b80 CLRF 0x80,0x1 CurrentCommand.Command = COMMAND_NONE_BIT; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // Clear out the entire FIFO C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002d76 0e02 MOVLW 0x2 for (i = 0; i < COMMAND_FIFO_MAX_LENGTH; i++) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002d78 6adb CLRF 0xdb,0x0 -002d7a 0e1c MOVLW 0x1c -002d7c 6ef3 MOVWF 0xf3,0x0 -002d7e 0e02 MOVLW 0x2 -002d80 cfdb MOVFF 0xfdb,0xff4 -002d82 fff4 -002d84 50f3 MOVF 0xf3,0x0,0x0 -002d86 5cf4 SUBWF 0xf4,0x0,0x0 -002d88 e207 BC 0x2d98 -002d92 0e02 MOVLW 0x2 -002d94 2adb INCF 0xdb,0x1,0x0 -002d96 d7f1 BRA 0x2d7a +002da0 0e02 MOVLW 0x2 for (i = 0; i < COMMAND_FIFO_MAX_LENGTH; i++) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002da2 6adb CLRF 0xdb,0x0 +002da4 0e20 MOVLW 0x20 +002da6 6ef3 MOVWF 0xf3,0x0 +002da8 0e02 MOVLW 0x2 +002daa cfdb MOVFF 0xfdb,0xff4 +002dac fff4 +002dae 50f3 MOVF 0xf3,0x0,0x0 +002db0 5cf4 SUBWF 0xf4,0x0,0x0 +002db2 e207 BC 0x2dc2 +002dbc 0e02 MOVLW 0x2 +002dbe 2adb INCF 0xdb,0x1,0x0 +002dc0 d7f1 BRA 0x2da4 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002d8a 0e02 MOVLW 0x2 FIFOPtr[i].Command = COMMAND_NONE_BIT; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002d8c 50db MOVF 0xdb,0x0,0x0 -002d8e ecea CALL 0x39d4,0x0 -002d90 f01c -0039d4 da67 RCALL 0x3ea4 -0039d6 6aef CLRF 0xef,0x0 -0039d8 0012 RETURN 0x0 -003ea4 0d2f MULLW 0x2f -003ea6 0100 MOVLB 0x0 -003ea8 d205 BRA 0x42b4 -0042b4 51fa MOVF 0xfa,0x0,0x1 -0042b6 24f3 ADDWF 0xf3,0x0,0x0 -0042b8 6ee9 MOVWF 0xe9,0x0 -0042ba 51fb MOVF 0xfb,0x0,0x1 -0042bc 20f4 ADDWFC 0xf4,0x0,0x0 -0042be 6eea MOVWF 0xea,0x0 -0042c0 0012 RETURN 0x0 +002db4 0e02 MOVLW 0x2 FIFOPtr[i].Command = COMMAND_NONE_BIT; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002db6 50db MOVF 0xdb,0x0,0x0 +002db8 ec0e CALL 0x3a1c,0x0 +002dba f01d +003a1c da53 RCALL 0x3ec4 +003a1e 6aef CLRF 0xef,0x0 +003a20 0012 RETURN 0x0 +003ec4 0d2f MULLW 0x2f +003ec6 0100 MOVLB 0x0 +003ec8 d206 BRA 0x42d6 +0042d6 51fa MOVF 0xfa,0x0,0x1 +0042d8 24f3 ADDWF 0xf3,0x0,0x0 +0042da 6ee9 MOVWF 0xe9,0x0 +0042dc 51fb MOVF 0xfb,0x0,0x1 +0042de 20f4 ADDWFC 0xf4,0x0,0x0 +0042e0 6eea MOVWF 0xea,0x0 +0042e2 0012 RETURN 0x0 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002d98 6a15 CLRF 0x15,0x0 gFIFOIn = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002d9a 6a16 CLRF 0x16,0x0 gFIFOOut = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002d9c 6a14 CLRF 0x14,0x0 gFIFOLength = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002dc2 6a15 CLRF 0x15,0x0 gFIFOIn = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002dc4 6a16 CLRF 0x16,0x0 gFIFOOut = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002dc6 6a14 CLRF 0x14,0x0 gFIFOLength = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002d9e 04df DECF 0xdf,0x0,0x0 if (disable_motors == 1u) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002da0 e109 BNZ 0x2db4 +002dc8 04df DECF 0xdf,0x0,0x0 if (disable_motors == 1u) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002dca e109 BNZ 0x2dde { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002da2 5004 MOVF 0x4,0x0,0x0 if (DriverConfiguration == PIC_CONTROLS_DRIVERS) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002da4 e103 BNZ 0x2dac +002dcc 5004 MOVF 0x4,0x0,0x0 if (DriverConfiguration == PIC_CONTROLS_DRIVERS) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002dce e103 BNZ 0x2dd6 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002da6 808d BSF 0x8d,0x0,0x0 Enable1IO = DISABLE_MOTOR; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002da8 828b BSF 0x8b,0x1,0x0 Enable2IO = DISABLE_MOTOR; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002dd0 808d BSF 0x8d,0x0,0x0 Enable1IO = DISABLE_MOTOR; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002dd2 828b BSF 0x8b,0x1,0x0 Enable2IO = DISABLE_MOTOR; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002daa d004 BRA 0x2db4 else if (DriverConfiguration == PIC_CONTROLS_EXTERNAL) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002dac 0404 DECF 0x4,0x0,0x0 -002dae e102 BNZ 0x2db4 +002dd4 d004 BRA 0x2dde else if (DriverConfiguration == PIC_CONTROLS_EXTERNAL) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002dd6 0404 DECF 0x4,0x0,0x0 +002dd8 e102 BNZ 0x2dde { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002db0 828c BSF 0x8c,0x1,0x0 Enable1AltIO = DISABLE_MOTOR; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002db2 8289 BSF 0x89,0x1,0x0 Enable2AltIO = DISABLE_MOTOR; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002dda 828c BSF 0x8c,0x1,0x0 Enable1AltIO = DISABLE_MOTOR; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002ddc 8289 BSF 0x89,0x1,0x0 Enable2AltIO = DISABLE_MOTOR; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // Re-enable interrupts C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002db4 8ef2 BSF 0xf2,0x7,0x0 INTCONbits.GIEH = 1; // Turn high priority interrupts on C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002dde 8ef2 BSF 0xf2,0x7,0x0 INTCONbits.GIEH = 1; // Turn high priority interrupts on C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002db6 ec67 CALL 0x42ce,0x0 ebb_print_uint(command_interrupted); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002db8 f021 -0042ce 0e01 MOVLW 0x1 -0042d0 cfdb MOVFF 0xfdb,0x33 -0042d2 f033 -0042d4 dea8 RCALL 0x4026 -002dba b184 BTFSC 0x84,0x0,0x1 if (!bittstzero(gStandardizedCommandFormat)) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002dbc d002 BRA 0x2dc2 -0042d6 010b MOVLB 0xb -0042d8 0012 RETURN 0x0 +002de0 ec78 CALL 0x42f0,0x0 ebb_print_uint(command_interrupted); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002de2 f021 +0042f0 0e01 MOVLW 0x1 +0042f2 cfdb MOVFF 0xfdb,0x47 +0042f4 f047 +0042f6 dea8 RCALL 0x4048 +002de4 b1be BTFSC 0xbe,0x0,0x1 if (!bittstzero(gStandardizedCommandFormat)) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002de6 d002 BRA 0x2dec +0042f8 0101 MOVLB 0x1 +0042fa 0012 RETURN 0x0 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002dbe ecc4 CALL 0x3788,0x0 print_line_ending(kLE_REV); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002dc0 f01b +002de8 ecd7 CALL 0x37ae,0x0 print_line_ending(kLE_REV); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002dea f01b } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002dc2 eccc CALL 0x3798,0x0 print_line_ending(kLE_OK_NORM); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002dc4 f01b -002dc6 0e03 MOVLW 0x3 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002dc8 5ce1 SUBWF 0xe1,0x0,0x0 -002dca e202 BC 0x2dd0 -002dcc 6ae1 CLRF 0xe1,0x0 -002dce 52e5 MOVF 0xe5,0x1,0x0 -002dd0 ef9c GOTO 0x3738 -002dd2 f01b +002dec ecdf CALL 0x37be,0x0 print_line_ending(kLE_OK_NORM); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002dee f01b +002df0 0e03 MOVLW 0x3 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002df2 5ce1 SUBWF 0xe1,0x0,0x0 +002df4 e202 BC 0x2dfa +002df6 6ae1 CLRF 0xe1,0x0 +002df8 52e5 MOVF 0xe5,0x1,0x0 +002dfa efaf GOTO 0x375e +002dfc f01b C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // Query Pen C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // Usage: QP C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // Returns: 0 for down, 1 for up, then OK C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c void parse_QP_packet(void) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002dd4 ec0f CALL 0x401e,0x0 print_command(FALSE, TRUE); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002dd6 f020 +002dfe ec20 CALL 0x4040,0x0 print_command(FALSE, TRUE); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002e00 f020 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002dd8 cb5a MOVFF 0xb5a,0x33 ebb_print_uint(PenState); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002dda f033 -002ddc 6a34 CLRF 0x34,0x0 -002dde 6a35 CLRF 0x35,0x0 -002de0 6a36 CLRF 0x36,0x0 -002de2 ae33 BTFSS 0x33,0x7,0x0 -002de4 d003 BRA 0x2dec -002de6 6834 SETF 0x34,0x0 -002de8 6835 SETF 0x35,0x0 -002dea 6836 SETF 0x36,0x0 -002dec c033 MOVFF 0x33,0xfe6 -002dee ffe6 -002df0 ec23 CALL 0x4046,0x0 -002df2 f020 -002df4 ec97 CALL 0x372e,0x0 -002df6 f01b -002df8 010b MOVLB 0xb if (!bittstzero(gStandardizedCommandFormat)) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002dfa b184 BTFSC 0x84,0x0,0x1 -002dfc d002 BRA 0x2e02 +002e02 c1b4 MOVFF 0x1b4,0x47 ebb_print_uint(PenState); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002e04 f047 +002e06 6a48 CLRF 0x48,0x0 +002e08 6a49 CLRF 0x49,0x0 +002e0a 6a4a CLRF 0x4a,0x0 +002e0c ae47 BTFSS 0x47,0x7,0x0 +002e0e d003 BRA 0x2e16 +002e10 6848 SETF 0x48,0x0 +002e12 6849 SETF 0x49,0x0 +002e14 684a SETF 0x4a,0x0 +002e16 c047 MOVFF 0x47,0xfe6 +002e18 ffe6 +002e1a ec34 CALL 0x4068,0x0 +002e1c f020 +002e1e ecaa CALL 0x3754,0x0 +002e20 f01b +002e22 0101 MOVLB 0x1 if (!bittstzero(gStandardizedCommandFormat)) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002e24 b1be BTFSC 0xbe,0x0,0x1 +002e26 d002 BRA 0x2e2c { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002dfe ecc4 CALL 0x3788,0x0 print_line_ending(kLE_REV); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002e00 f01b +002e28 ecd7 CALL 0x37ae,0x0 print_line_ending(kLE_REV); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002e2a f01b } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002e02 efcc GOTO 0x3798 print_line_ending(kLE_OK_NORM); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002e04 f01b +002e2c efdf GOTO 0x37be print_line_ending(kLE_OK_NORM); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002e2e f01b } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // Query motor Enables and resolution C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c @@ -13538,145 +13569,145 @@ Address Value Disassembly Source // 4 = Motor is enabled and step resolution is 1/4 steps C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // 8 = Motor is enabled and step resolution is 1/8 steps C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // 16 = Motor is enabled and step resolution is 1/16 steps C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002e06 ec9f CALL 0x373e,0x0 void parse_QE_packet(void) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002e08 f01b -002e0a 0e03 MOVLW 0x3 -002e0c ec06 CALL 0x400c,0x0 -00373e cfd9 -003740 ffe6 WORD2 0xfe6 -003742 cfe1 MOVFF 0xfe1,0xfd9 -003744 ffd9 -003746 0012 RETURN 0x0 +002e30 ecb2 CALL 0x3764,0x0 void parse_QE_packet(void) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002e32 f01b +002e34 0e03 MOVLW 0x3 +002e36 ec17 CALL 0x402e,0x0 +003764 cfd9 +003766 ffe6 WORD2 0xfe6 +003768 cfe1 MOVFF 0xfe1,0xfd9 +00376a ffd9 +00376c 0012 RETURN 0x0 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002e0e f020 WORD2 0x20 UINT8 motor1_state = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002e38 f020 WORD2 0x20 UINT8 motor1_state = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c UINT8 motor2_state = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c UINT8 temp; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c print_command(FALSE, TRUE); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002e10 5084 MOVF 0x84,0x0,0x0 if (MS1_IO_PORT == 0u && MS2_IO_PORT == 0u && MS3_IO_PORT == 0u) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002e12 0b04 ANDLW 0x4 -002e14 e108 BNZ 0x2e26 -002e16 5084 MOVF 0x84,0x0,0x0 -002e18 0b02 ANDLW 0x2 -002e1a e105 BNZ 0x2e26 -002e1c 5080 MOVF 0x80,0x0,0x0 -002e1e 0b40 ANDLW 0x40 -002e20 e102 BNZ 0x2e26 +002e3a 5084 MOVF 0x84,0x0,0x0 if (MS1_IO_PORT == 0u && MS2_IO_PORT == 0u && MS3_IO_PORT == 0u) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002e3c 0b04 ANDLW 0x4 +002e3e e108 BNZ 0x2e50 +002e40 5084 MOVF 0x84,0x0,0x0 +002e42 0b02 ANDLW 0x2 +002e44 e105 BNZ 0x2e50 +002e46 5080 MOVF 0x80,0x0,0x0 +002e48 0b40 ANDLW 0x40 +002e4a e102 BNZ 0x2e50 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002e22 0e01 MOVLW 0x1 temp = 1; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002e4c 0e01 MOVLW 0x1 temp = 1; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002e24 d023 BRA 0x2e6c else if (MS1_IO_PORT == 1u && MS2_IO_PORT == 0u && MS3_IO_PORT == 0u) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002e26 5084 MOVF 0x84,0x0,0x0 -002e28 0b04 ANDLW 0x4 -002e2a e009 BZ 0x2e3e -002e2c 5084 MOVF 0x84,0x0,0x0 -002e2e 0b02 ANDLW 0x2 -002e30 e106 BNZ 0x2e3e -002e32 5080 MOVF 0x80,0x0,0x0 -002e34 0b40 ANDLW 0x40 -002e36 e103 BNZ 0x2e3e +002e4e d023 BRA 0x2e96 else if (MS1_IO_PORT == 1u && MS2_IO_PORT == 0u && MS3_IO_PORT == 0u) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002e50 5084 MOVF 0x84,0x0,0x0 +002e52 0b04 ANDLW 0x4 +002e54 e009 BZ 0x2e68 +002e56 5084 MOVF 0x84,0x0,0x0 +002e58 0b02 ANDLW 0x2 +002e5a e106 BNZ 0x2e68 +002e5c 5080 MOVF 0x80,0x0,0x0 +002e5e 0b40 ANDLW 0x40 +002e60 e103 BNZ 0x2e68 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002e38 0e02 MOVLW 0x2 temp = 2; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002e3a 6ef3 MOVWF 0xf3,0x0 +002e62 0e02 MOVLW 0x2 temp = 2; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002e64 6ef3 MOVWF 0xf3,0x0 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002e3c d019 BRA 0x2e70 else if (MS1_IO_PORT == 0u && MS2_IO_PORT == 1u && MS3_IO_PORT == 0u) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002e3e 5084 MOVF 0x84,0x0,0x0 -002e40 0b04 ANDLW 0x4 -002e42 e108 BNZ 0x2e54 -002e44 5084 MOVF 0x84,0x0,0x0 -002e46 0b02 ANDLW 0x2 -002e48 e005 BZ 0x2e54 -002e4a 5080 MOVF 0x80,0x0,0x0 -002e4c 0b40 ANDLW 0x40 -002e4e e102 BNZ 0x2e54 +002e66 d019 BRA 0x2e9a else if (MS1_IO_PORT == 0u && MS2_IO_PORT == 1u && MS3_IO_PORT == 0u) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002e68 5084 MOVF 0x84,0x0,0x0 +002e6a 0b04 ANDLW 0x4 +002e6c e108 BNZ 0x2e7e +002e6e 5084 MOVF 0x84,0x0,0x0 +002e70 0b02 ANDLW 0x2 +002e72 e005 BZ 0x2e7e +002e74 5080 MOVF 0x80,0x0,0x0 +002e76 0b40 ANDLW 0x40 +002e78 e102 BNZ 0x2e7e { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002e50 0e04 MOVLW 0x4 temp = 4; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002e7a 0e04 MOVLW 0x4 temp = 4; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002e52 d00c BRA 0x2e6c else if (MS1_IO_PORT == 1u && MS2_IO_PORT == 1u && MS3_IO_PORT == 0u) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002e54 5084 MOVF 0x84,0x0,0x0 -002e56 0b04 ANDLW 0x4 -002e58 e008 BZ 0x2e6a -002e5a 5084 MOVF 0x84,0x0,0x0 -002e5c 0b02 ANDLW 0x2 -002e5e e005 BZ 0x2e6a -002e60 5080 MOVF 0x80,0x0,0x0 -002e62 0b40 ANDLW 0x40 -002e64 e102 BNZ 0x2e6a +002e7c d00c BRA 0x2e96 else if (MS1_IO_PORT == 1u && MS2_IO_PORT == 1u && MS3_IO_PORT == 0u) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002e7e 5084 MOVF 0x84,0x0,0x0 +002e80 0b04 ANDLW 0x4 +002e82 e008 BZ 0x2e94 +002e84 5084 MOVF 0x84,0x0,0x0 +002e86 0b02 ANDLW 0x2 +002e88 e005 BZ 0x2e94 +002e8a 5080 MOVF 0x80,0x0,0x0 +002e8c 0b40 ANDLW 0x40 +002e8e e102 BNZ 0x2e94 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002e66 0e08 MOVLW 0x8 temp = 8; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002e90 0e08 MOVLW 0x8 temp = 8; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002e68 d001 BRA 0x2e6c else C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002e92 d001 BRA 0x2e96 else C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002e6a 0e10 MOVLW 0x10 temp = 16; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002e6c 6ef3 MOVWF 0xf3,0x0 -002e6e 0e02 MOVLW 0x2 -002e70 cff3 MOVFF 0xff3,0xfdb -002e72 ffdb +002e94 0e10 MOVLW 0x10 temp = 16; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002e96 6ef3 MOVWF 0xf3,0x0 +002e98 0e02 MOVLW 0x2 +002e9a cff3 MOVFF 0xff3,0xfdb +002e9c ffdb } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002e74 5004 MOVF 0x4,0x0,0x0 if (DriverConfiguration == PIC_CONTROLS_DRIVERS) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002e76 e108 BNZ 0x2e88 +002e9e 5004 MOVF 0x4,0x0,0x0 if (DriverConfiguration == PIC_CONTROLS_DRIVERS) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002ea0 e108 BNZ 0x2eb2 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002e78 b084 BTFSC 0x84,0x0,0x0 if (Enable1IO_PORT == ENABLE_MOTOR) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002e7a d003 BRA 0x2e82 +002ea2 b084 BTFSC 0x84,0x0,0x0 if (Enable1IO_PORT == ENABLE_MOTOR) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002ea4 d003 BRA 0x2eac { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002e7c 0e02 MOVLW 0x2 motor1_state = temp; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002e7e 50db MOVF 0xdb,0x0,0x0 -002e80 6edf MOVWF 0xdf,0x0 +002ea6 0e02 MOVLW 0x2 motor1_state = temp; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002ea8 50db MOVF 0xdb,0x0,0x0 +002eaa 6edf MOVWF 0xdf,0x0 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002e82 b282 BTFSC 0x82,0x1,0x0 if (Enable2IO_PORT == ENABLE_MOTOR) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002e84 d010 BRA 0x2ea6 +002eac b282 BTFSC 0x82,0x1,0x0 if (Enable2IO_PORT == ENABLE_MOTOR) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002eae d010 BRA 0x2ed0 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c motor2_state = temp; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002e86 d009 BRA 0x2e9a else if (DriverConfiguration == PIC_CONTROLS_EXTERNAL) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002e88 0404 DECF 0x4,0x0,0x0 -002e8a e10d BNZ 0x2ea6 +002eb0 d009 BRA 0x2ec4 else if (DriverConfiguration == PIC_CONTROLS_EXTERNAL) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002eb2 0404 DECF 0x4,0x0,0x0 +002eb4 e10d BNZ 0x2ed0 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002e8c b283 BTFSC 0x83,0x1,0x0 if (Enable1AltIO_PORT == ENABLE_MOTOR) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002e8e d003 BRA 0x2e96 +002eb6 b283 BTFSC 0x83,0x1,0x0 if (Enable1AltIO_PORT == ENABLE_MOTOR) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002eb8 d003 BRA 0x2ec0 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002e90 0e02 MOVLW 0x2 motor1_state = temp; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002e92 50db MOVF 0xdb,0x0,0x0 -002e94 6edf MOVWF 0xdf,0x0 +002eba 0e02 MOVLW 0x2 motor1_state = temp; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002ebc 50db MOVF 0xdb,0x0,0x0 +002ebe 6edf MOVWF 0xdf,0x0 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002e96 b280 BTFSC 0x80,0x1,0x0 if (Enable2AltIO_PORT == ENABLE_MOTOR) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002e98 d006 BRA 0x2ea6 +002ec0 b280 BTFSC 0x80,0x1,0x0 if (Enable2AltIO_PORT == ENABLE_MOTOR) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002ec2 d006 BRA 0x2ed0 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002e9a 0e02 MOVLW 0x2 motor2_state = temp; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002e9c 50db MOVF 0xdb,0x0,0x0 -002e9e 6ee7 MOVWF 0xe7,0x0 -002ea0 0e01 MOVLW 0x1 -002ea2 cfe7 MOVFF 0xfe7,0xfdb -002ea4 ffdb +002ec4 0e02 MOVLW 0x2 motor2_state = temp; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002ec6 50db MOVF 0xdb,0x0,0x0 +002ec8 6ee7 MOVWF 0xe7,0x0 +002eca 0e01 MOVLW 0x1 +002ecc cfe7 MOVFF 0xfe7,0xfdb +002ece ffdb } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002ea6 cfdf MOVFF 0xfdf,0x33 ebb_print_uint(motor1_state); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002ea8 f033 -002eaa ec13 CALL 0x4026,0x0 -002eac f020 -002eae ece4 CALL 0x39c8,0x0 ebb_print_char(','); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002eb0 f01c -002eb2 ec67 CALL 0x42ce,0x0 ebb_print_uint(motor2_state); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002eb4 f021 -002eb6 b184 BTFSC 0x84,0x0,0x1 if (!bittstzero(gStandardizedCommandFormat)) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002eb8 d002 BRA 0x2ebe +002ed0 cfdf MOVFF 0xfdf,0x47 ebb_print_uint(motor1_state); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002ed2 f047 +002ed4 ec24 CALL 0x4048,0x0 +002ed6 f020 +002ed8 ecf7 CALL 0x39ee,0x0 ebb_print_char(','); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002eda f01c +002edc ec78 CALL 0x42f0,0x0 ebb_print_uint(motor2_state); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002ede f021 +002ee0 b1be BTFSC 0xbe,0x0,0x1 if (!bittstzero(gStandardizedCommandFormat)) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002ee2 d002 BRA 0x2ee8 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002eba ecc4 CALL 0x3788,0x0 print_line_ending(kLE_REV); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002ebc f01b +002ee4 ecd7 CALL 0x37ae,0x0 print_line_ending(kLE_REV); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002ee6 f01b } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002ebe eccc CALL 0x3798,0x0 print_line_ending(kLE_OK_NORM); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002ec0 f01b -002ec2 0e03 MOVLW 0x3 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002ec4 5ce1 SUBWF 0xe1,0x0,0x0 -002ec6 e202 BC 0x2ecc -002ec8 6ae1 CLRF 0xe1,0x0 -002eca 52e5 MOVF 0xe5,0x1,0x0 -002ecc ef9c GOTO 0x3738 -002ece f01b +002ee8 ecdf CALL 0x37be,0x0 print_line_ending(kLE_OK_NORM); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002eea f01b +002eec 0e03 MOVLW 0x3 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002eee 5ce1 SUBWF 0xe1,0x0,0x0 +002ef0 e202 BC 0x2ef6 +002ef2 6ae1 CLRF 0xe1,0x0 +002ef4 52e5 MOVF 0xe5,0x1,0x0 +002ef6 efaf GOTO 0x375e +002ef8 f01b C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // Toggle Pen C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // Usage: TP, C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c @@ -13684,57 +13715,57 @@ Address Value Disassembly Source // is optional, and defaults to 0mS C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // Just toggles state of pen arm, then delays for the optional C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // Duration is in units of 1ms C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002ed0 ec9f CALL 0x373e,0x0 void parse_TP_packet(void) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002ed2 f01b -002ed4 0e02 MOVLW 0x2 -002ed6 26e1 ADDWF 0xe1,0x1,0x0 +002efa ecb2 CALL 0x3764,0x0 void parse_TP_packet(void) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002efc f01b +002efe 0e02 MOVLW 0x2 +002f00 26e1 ADDWF 0xe1,0x1,0x0 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002ed8 6ade CLRF 0xde,0x0 UINT16 CommandDuration = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002eda 6add CLRF 0xdd,0x0 +002f02 6ade CLRF 0xde,0x0 UINT16 CommandDuration = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002f04 6add CLRF 0xdd,0x0 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002edc ec84 CALL 0x4308,0x0 print_command(FALSE, FALSE); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002ede f021 +002f06 ec92 CALL 0x4324,0x0 print_command(FALSE, FALSE); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002f08 f021 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // Extract each of the values. C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002ee0 eccc CALL 0x3d98,0x0 extract_number (kUINT, &CommandDuration, kOPTIONAL); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002ee2 f01e -002ee4 0e03 MOVLW 0x3 -002ee6 ec0a CALL 0x4014,0x0 -002ee8 f020 +002f0a ecdc CALL 0x3db8,0x0 extract_number (kUINT, &CommandDuration, kOPTIONAL); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002f0c f01e +002f0e 0e03 MOVLW 0x3 +002f10 ec1b CALL 0x4036,0x0 +002f12 f020 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // Bail if we got a conversion error C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002eea e10f BNZ 0x2f0a if (error_byte) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002f14 e10f BNZ 0x2f34 if (error_byte) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c return; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002eec 010b MOVLB 0xb if (PenState == PEN_UP) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002eee 055a DECF 0x5a,0x0,0x1 -002ef0 e104 BNZ 0x2efa +002f16 0101 MOVLB 0x1 if (PenState == PEN_UP) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002f18 05b4 DECF 0xb4,0x0,0x1 +002f1a e104 BNZ 0x2f24 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002ef2 ecf6 CALL 0x3dec,0x0 process_SP(PEN_DOWN, CommandDuration); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002ef4 f01e -002ef6 6ae6 CLRF 0xe6,0x0 +002f1c ec06 CALL 0x3e0c,0x0 process_SP(PEN_DOWN, CommandDuration); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002f1e f01f +002f20 6ae6 CLRF 0xe6,0x0 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002ef8 d004 BRA 0x2f02 else C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002f22 d004 BRA 0x2f2c else C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002efa ecf6 CALL 0x3dec,0x0 process_SP(PEN_UP, CommandDuration); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002efc f01e -002efe 0e01 MOVLW 0x1 -002f00 6ee6 MOVWF 0xe6,0x0 -002f02 ec54 CALL 0x3ca8,0x0 -002f04 f01e +002f24 ec06 CALL 0x3e0c,0x0 process_SP(PEN_UP, CommandDuration); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002f26 f01f +002f28 0e01 MOVLW 0x1 +002f2a 6ee6 MOVWF 0xe6,0x0 +002f2c ec54 CALL 0x3ca8,0x0 +002f2e f01e } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002f06 eccc CALL 0x3798,0x0 print_line_ending(kLE_OK_NORM); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002f08 f01b -002f0a 0e02 MOVLW 0x2 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002f0c 5ce1 SUBWF 0xe1,0x0,0x0 -002f0e e202 BC 0x2f14 -002f10 6ae1 CLRF 0xe1,0x0 -002f12 52e5 MOVF 0xe5,0x1,0x0 -002f14 ef9c GOTO 0x3738 -002f16 f01b +002f30 ecdf CALL 0x37be,0x0 print_line_ending(kLE_OK_NORM); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002f32 f01b +002f34 0e02 MOVLW 0x2 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002f36 5ce1 SUBWF 0xe1,0x0,0x0 +002f38 e202 BC 0x2f3e +002f3a 6ae1 CLRF 0xe1,0x0 +002f3c 52e5 MOVF 0xe5,0x1,0x0 +002f3e efaf GOTO 0x375e +002f40 f01b C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // Set Pen C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // Usage: SP,,, C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c @@ -13757,108 +13788,108 @@ Address Value Disassembly Source // Internally, the parse_SP_packet() function makes a call to C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // process_SP() function to actually make the change in the servo output. C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002f18 ec7b CALL 0x40f6,0x0 void parse_SP_packet(void) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002f1a f020 +002f42 ec8c CALL 0x4118,0x0 void parse_SP_packet(void) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002f44 f020 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c UINT8 State = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c UINT16 CommandDuration = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002f1c ec4d CALL 0x3a9a,0x0 UINT8 Pin = DEFAULT_EBB_SERVO_PORTB_PIN; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002f1e f01d +002f46 ec71 CALL 0x3ae2,0x0 UINT8 Pin = DEFAULT_EBB_SERVO_PORTB_PIN; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002f48 f01d ExtractReturnType Ret; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002f20 ec71 CALL 0x42e2,0x0 print_command(FALSE, FALSE); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002f22 f021 +002f4a ec82 CALL 0x4304,0x0 print_command(FALSE, FALSE); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002f4c f021 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // Extract each of the values. C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c extract_number(kUCHAR, &State, kREQUIRED); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002f24 0e03 MOVLW 0x3 extract_number(kUINT, &CommandDuration, kOPTIONAL); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002f26 dafd RCALL 0x3522 -002f28 ec53 CALL 0x42a6,0x0 Ret = extract_number(kUCHAR, &Pin, kOPTIONAL); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002f2a f021 -002f2c ecdd CALL 0x41ba,0x0 -002f2e f020 -0042a6 0e01 MOVLW 0x1 -0042a8 6ee6 MOVWF 0xe6,0x0 -0042aa 50d9 MOVF 0xd9,0x0,0x0 -0042ac 0f03 ADDLW 0x3 -0042ae df28 RCALL 0x4100 -0042b0 0e01 MOVLW 0x1 -0042b2 0012 RETURN 0x0 +002f4e 0e03 MOVLW 0x3 extract_number(kUINT, &CommandDuration, kOPTIONAL); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002f50 dafb RCALL 0x3548 +002f52 ec64 CALL 0x42c8,0x0 Ret = extract_number(kUCHAR, &Pin, kOPTIONAL); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002f54 f021 +002f56 ecee CALL 0x41dc,0x0 +002f58 f020 +0042c8 0e01 MOVLW 0x1 +0042ca 6ee6 MOVWF 0xe6,0x0 +0042cc 50d9 MOVF 0xd9,0x0,0x0 +0042ce 0f03 ADDLW 0x3 +0042d0 df28 RCALL 0x4122 +0042d2 0e01 MOVLW 0x1 +0042d4 0012 RETURN 0x0 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // Bail if we got a conversion error C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002f30 0100 MOVLB 0x0 if (error_byte) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002f32 5197 MOVF 0x97,0x0,0x1 -002f34 e124 BNZ 0x2f7e +002f5a 0100 MOVLB 0x0 if (error_byte) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002f5c 5197 MOVF 0x97,0x0,0x1 +002f5e e124 BNZ 0x2fa8 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c return; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // Error check C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002f36 0e03 MOVLW 0x3 if (Pin > 7u) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002f38 50db MOVF 0xdb,0x0,0x0 -002f3a 0807 SUBLW 0x7 -002f3c e202 BC 0x2f42 +002f60 0e03 MOVLW 0x3 if (Pin > 7u) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002f62 50db MOVF 0xdb,0x0,0x0 +002f64 0807 SUBLW 0x7 +002f66 e202 BC 0x2f6c { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002f3e ec4d CALL 0x3a9a,0x0 Pin = DEFAULT_EBB_SERVO_PORTB_PIN; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002f40 f01d +002f68 ec71 CALL 0x3ae2,0x0 Pin = DEFAULT_EBB_SERVO_PORTB_PIN; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002f6a f01d } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002f42 50df MOVF 0xdf,0x0,0x0 if (State > 1u) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002f44 0801 SUBLW 0x1 -002f46 e202 BC 0x2f4c +002f6c 50df MOVF 0xdf,0x0,0x0 if (State > 1u) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002f6e 0801 SUBLW 0x1 +002f70 e202 BC 0x2f76 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002f48 0e01 MOVLW 0x1 State = 1; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002f4a 6edf MOVWF 0xdf,0x0 +002f72 0e01 MOVLW 0x1 State = 1; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002f74 6edf MOVWF 0xdf,0x0 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // Set the PRn of the Pen Servo output C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // Add 3 to get from PORTB pin number to RPn number C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002f4c 0e03 MOVLW 0x3 if (g_servo2_RPn != (Pin + 3)) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002f4e 50db MOVF 0xdb,0x0,0x0 -002f50 0f03 ADDLW 0x3 -002f52 0100 MOVLB 0x0 -002f54 5d8a SUBWF 0x8a,0x0,0x1 -002f56 e007 BZ 0x2f66 +002f76 0e03 MOVLW 0x3 if (g_servo2_RPn != (Pin + 3)) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002f78 50db MOVF 0xdb,0x0,0x0 +002f7a 0f03 ADDLW 0x3 +002f7c 0100 MOVLB 0x0 +002f7e 5d8a SUBWF 0x8a,0x0,0x1 +002f80 e007 BZ 0x2f90 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // if we are changing which pin the pen servo is on, we need to cancel C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // the servo output on the old channel first C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002f58 eced CALL 0x39da,0x0 RCServo2_Move(0, g_servo2_RPn, 0, 0); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002f5a f01c +002f82 ec11 CALL 0x3a22,0x0 RCServo2_Move(0, g_servo2_RPn, 0, 0); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002f84 f01d // Now record the new RPn C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002f5c 0e03 MOVLW 0x3 g_servo2_RPn = Pin + 3; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002f5e 50db MOVF 0xdb,0x0,0x0 -002f60 0f03 ADDLW 0x3 -002f62 0100 MOVLB 0x0 -002f64 6f8a MOVWF 0x8a,0x1 +002f86 0e03 MOVLW 0x3 g_servo2_RPn = Pin + 3; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002f88 50db MOVF 0xdb,0x0,0x0 +002f8a 0f03 ADDLW 0x3 +002f8c 0100 MOVLB 0x0 +002f8e 6f8a MOVWF 0x8a,0x1 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // Execute the servo state change C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002f66 0e01 MOVLW 0x1 process_SP(State, CommandDuration); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002f68 cfdb MOVFF 0xfdb,0xfe6 -002f6a ffe6 -002f6c 0e02 MOVLW 0x2 -002f6e cfdb MOVFF 0xfdb,0xfe6 -002f70 ffe6 -002f72 cfdf MOVFF 0xfdf,0xfe6 -002f74 ffe6 -002f76 ec54 CALL 0x3ca8,0x0 -002f78 f01e -003ca8 ecc5 CALL 0x2f8a,0x0 +002f90 0e01 MOVLW 0x1 process_SP(State, CommandDuration); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002f92 cfdb MOVFF 0xfdb,0xfe6 +002f94 ffe6 +002f96 0e02 MOVLW 0x2 +002f98 cfdb MOVFF 0xfdb,0xfe6 +002f9a ffe6 +002f9c cfdf MOVFF 0xfdf,0xfe6 +002f9e ffe6 +002fa0 ec54 CALL 0x3ca8,0x0 +002fa2 f01e +003ca8 ecda CALL 0x2fb4,0x0 003caa f017 -003cac d1d9 BRA 0x4060 -004060 52e5 MOVF 0xe5,0x1,0x0 -004062 52e5 MOVF 0xe5,0x1,0x0 -004064 52e5 MOVF 0xe5,0x1,0x0 -004066 0012 RETURN 0x0 +003cac d1ea BRA 0x4082 +004082 52e5 MOVF 0xe5,0x1,0x0 +004084 52e5 MOVF 0xe5,0x1,0x0 +004086 52e5 MOVF 0xe5,0x1,0x0 +004088 0012 RETURN 0x0 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002f7a eccc CALL 0x3798,0x0 print_line_ending(kLE_OK_NORM); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002f7c f01b -002f7e 0e05 MOVLW 0x5 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002f80 5ce1 SUBWF 0xe1,0x0,0x0 -002f82 e202 BC 0x2f88 -002f84 6ae1 CLRF 0xe1,0x0 -002f86 52e5 MOVF 0xe5,0x1,0x0 -002f88 d3d7 BRA 0x3738 +002fa4 ecdf CALL 0x37be,0x0 print_line_ending(kLE_OK_NORM); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002fa6 f01b +002fa8 0e05 MOVLW 0x5 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002faa 5ce1 SUBWF 0xe1,0x0,0x0 +002fac e202 BC 0x2fb2 +002fae 6ae1 CLRF 0xe1,0x0 +002fb0 52e5 MOVF 0xe5,0x1,0x0 +002fb2 d3d5 BRA 0x375e C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // Internal use function - C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // Perform a state change on the pen RC servo output. Move it up or move it down C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c @@ -13869,89 +13900,89 @@ Address Value Disassembly Source // This function uses the g_servo2_min, max, rate_up, rate_down variables C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // to schedule an RC Servo change with the RCServo2_Move() function. C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002f8a ec80 CALL 0x4300,0x0 void process_SP(PenStateType NewState, UINT16 CommandDuration) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002f8c f021 -002f8e 26e1 ADDWF 0xe1,0x1,0x0 +002fb4 ec8e CALL 0x431c,0x0 void process_SP(PenStateType NewState, UINT16 CommandDuration) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002fb6 f021 +002fb8 26e1 ADDWF 0xe1,0x1,0x0 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c UINT16 Position; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c UINT16 Rate; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002f90 0efe MOVLW 0xfe if (NewState == PEN_UP) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002f92 04db DECF 0xdb,0x0,0x0 -002f94 e10b BNZ 0x2fac +002fba 0efe MOVLW 0xfe if (NewState == PEN_UP) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002fbc 04db DECF 0xdb,0x0,0x0 +002fbe e10b BNZ 0x2fd6 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002f96 c084 MOVFF 0x84,0xfde Position = g_servo2_min; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002f98 ffde -002f9a c085 MOVFF 0x85,0xfdd -002f9c ffdd -002f9e 0e02 MOVLW 0x2 Rate = g_servo2_rate_up; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002fa0 c086 MOVFF 0x86,0xfdb -002fa2 ffdb -002fa4 0e03 MOVLW 0x3 -002fa6 c087 MOVFF 0x87,0xfdb -002fa8 ffdb +002fc0 c084 MOVFF 0x84,0xfde Position = g_servo2_min; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002fc2 ffde +002fc4 c085 MOVFF 0x85,0xfdd +002fc6 ffdd +002fc8 0e02 MOVLW 0x2 Rate = g_servo2_rate_up; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002fca c086 MOVFF 0x86,0xfdb +002fcc ffdb +002fce 0e03 MOVLW 0x3 +002fd0 c087 MOVFF 0x87,0xfdb +002fd2 ffdb } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002faa d00a BRA 0x2fc0 else C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002fd4 d00a BRA 0x2fea else C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002fac c082 MOVFF 0x82,0xfde Position = g_servo2_max; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002fae ffde -002fb0 c083 MOVFF 0x83,0xfdd -002fb2 ffdd -002fb4 0e02 MOVLW 0x2 Rate = g_servo2_rate_down; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002fb6 c088 MOVFF 0x88,0xfdb -002fb8 ffdb -002fba 0e03 MOVLW 0x3 -002fbc c089 MOVFF 0x89,0xfdb -002fbe ffdb +002fd6 c082 MOVFF 0x82,0xfde Position = g_servo2_max; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002fd8 ffde +002fda c083 MOVFF 0x83,0xfdd +002fdc ffdd +002fde 0e02 MOVLW 0x2 Rate = g_servo2_rate_down; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002fe0 c088 MOVFF 0x88,0xfdb +002fe2 ffdb +002fe4 0e03 MOVLW 0x3 +002fe6 c089 MOVFF 0x89,0xfdb +002fe8 ffdb } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002fc0 8689 BSF 0x89,0x3,0x0 RCServoPowerIO = RCSERVO_POWER_ON; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002fc2 c0d5 MOVFF 0xd5,0xd1 gRCServoPoweroffCounterMS = gRCServoPoweroffCounterReloadMS; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002fc4 f0d1 -002fc6 c0d6 MOVFF 0xd6,0xd2 -002fc8 f0d2 -002fca c0d7 MOVFF 0xd7,0xd3 -002fcc f0d3 -002fce c0d8 MOVFF 0xd8,0xd4 -002fd0 f0d4 +002fea 8689 BSF 0x89,0x3,0x0 RCServoPowerIO = RCSERVO_POWER_ON; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002fec c0d5 MOVFF 0xd5,0xd1 gRCServoPoweroffCounterMS = gRCServoPoweroffCounterReloadMS; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002fee f0d1 +002ff0 c0d6 MOVFF 0xd6,0xd2 +002ff2 f0d2 +002ff4 c0d7 MOVFF 0xd7,0xd3 +002ff6 f0d3 +002ff8 c0d8 MOVFF 0xd8,0xd4 +002ffa f0d4 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // Now schedule the movement with the RCServo2 function C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002fd2 0efc MOVLW 0xfc RCServo2_Move(Position, g_servo2_RPn, Rate, CommandDuration); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002fd4 cfdb MOVFF 0xfdb,0xfe6 -002fd6 ffe6 -002fd8 0efd MOVLW 0xfd -002fda cfdb MOVFF 0xfdb,0xfe6 -002fdc ffe6 -002fde 0e02 MOVLW 0x2 -002fe0 cfdb MOVFF 0xfdb,0xfe6 -002fe2 ffe6 -002fe4 0e03 MOVLW 0x3 -002fe6 cfdb MOVFF 0xfdb,0xfe6 -002fe8 ffe6 -002fea c08a MOVFF 0x8a,0xfe6 -002fec ffe6 -002fee ecf6 CALL 0x3dec,0x0 -002ff0 f01e -002ff2 ecbc CALL 0x4178,0x0 -002ff4 f020 -003dec cfde MOVFF 0xfde,0xfe6 -003dee ffe6 -003df0 cfdd MOVFF 0xfdd,0xfe6 -003df2 ffe6 -003df4 0012 RETURN 0x0 -004178 ec0a CALL 0x8014,0x0 -00417a f040 -00417c 6e33 MOVWF 0x33,0x0 -00417e 0e07 MOVLW 0x7 -004180 5ee1 SUBWF 0xe1,0x1,0x0 -004182 5033 MOVF 0x33,0x0,0x0 -004184 0012 RETURN 0x0 -002ff6 0e04 MOVLW 0x4 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -002ff8 5ce1 SUBWF 0xe1,0x0,0x0 -002ffa e202 BC 0x3000 -002ffc 6ae1 CLRF 0xe1,0x0 -002ffe 52e5 MOVF 0xe5,0x1,0x0 -003000 d39b BRA 0x3738 +002ffc 0efc MOVLW 0xfc RCServo2_Move(Position, g_servo2_RPn, Rate, CommandDuration); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +002ffe cfdb MOVFF 0xfdb,0xfe6 +003000 ffe6 +003002 0efd MOVLW 0xfd +003004 cfdb MOVFF 0xfdb,0xfe6 +003006 ffe6 +003008 0e02 MOVLW 0x2 +00300a cfdb MOVFF 0xfdb,0xfe6 +00300c ffe6 +00300e 0e03 MOVLW 0x3 +003010 cfdb MOVFF 0xfdb,0xfe6 +003012 ffe6 +003014 c08a MOVFF 0x8a,0xfe6 +003016 ffe6 +003018 ec06 CALL 0x3e0c,0x0 +00301a f01f +00301c eccd CALL 0x419a,0x0 +00301e f020 +003e0c cfde MOVFF 0xfde,0xfe6 +003e0e ffe6 +003e10 cfdd MOVFF 0xfdd,0xfe6 +003e12 ffe6 +003e14 0012 RETURN 0x0 +00419a ec18 CALL 0x8030,0x0 +00419c f040 +00419e 6e47 MOVWF 0x47,0x0 +0041a0 0e07 MOVLW 0x7 +0041a2 5ee1 SUBWF 0xe1,0x1,0x0 +0041a4 5047 MOVF 0x47,0x0,0x0 +0041a6 0012 RETURN 0x0 +003020 0e04 MOVLW 0x4 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +003022 5ce1 SUBWF 0xe1,0x0,0x0 +003024 e202 BC 0x302a +003026 6ae1 CLRF 0xe1,0x0 +003028 52e5 MOVF 0xe5,0x1,0x0 +00302a d399 BRA 0x375e C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // Enable Motor C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // Usage: EM,, C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c @@ -13980,184 +14011,184 @@ Address Value Disassembly Source // As of 2.7.0 : We always clear out the step accumulators when the EM command C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // As of 2.8.0 : This command is now handled as part of the motion queue C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // is executed. C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -003002 ec80 CALL 0x4300,0x0 void parse_EM_packet(void) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -003004 f021 -003006 26e1 ADDWF 0xe1,0x1,0x0 +00302c ec8e CALL 0x431c,0x0 void parse_EM_packet(void) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +00302e f021 +003030 26e1 ADDWF 0xe1,0x1,0x0 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c unsigned char EA1, EA2; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c ExtractReturnType RetVal1, RetVal2; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -003008 ec55 CALL 0x3eaa,0x0 print_command(FALSE, FALSE); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -00300a f01f +003032 ec65 CALL 0x3eca,0x0 print_command(FALSE, FALSE); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +003034 f01f C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // Extract each of the values. C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -00300c 6ee7 MOVWF 0xe7,0x0 RetVal1 = extract_number (kUCHAR, &EA1, kREQUIRED); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -00300e 0e02 MOVLW 0x2 -003010 cfe7 MOVFF 0xfe7,0xfdb -003012 ffdb +003036 6ee7 MOVWF 0xe7,0x0 RetVal1 = extract_number (kUCHAR, &EA1, kREQUIRED); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +003038 0e02 MOVLW 0x2 +00303a cfe7 MOVFF 0xfe7,0xfdb +00303c ffdb // Bail if we got a conversion error C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -003014 0100 MOVLB 0x0 if (error_byte || kEXTRACT_OK != RetVal1) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -003016 5197 MOVF 0x97,0x0,0x1 -003018 e12c BNZ 0x3072 -00301a 0e02 MOVLW 0x2 -00301c 50db MOVF 0xdb,0x0,0x0 -00301e e129 BNZ 0x3072 +00303e 0100 MOVLB 0x0 if (error_byte || kEXTRACT_OK != RetVal1) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +003040 5197 MOVF 0x97,0x0,0x1 +003042 e12c BNZ 0x309c +003044 0e02 MOVLW 0x2 +003046 50db MOVF 0xdb,0x0,0x0 +003048 e129 BNZ 0x309c { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c return; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -003020 ec31 CALL 0x3862,0x0 RetVal2 = extract_number (kUCHAR, &EA2, kOPTIONAL); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -003022 f01c -003024 0e01 MOVLW 0x1 -003026 da7d RCALL 0x3522 -003028 6ee7 MOVWF 0xe7,0x0 -00302a 0e03 MOVLW 0x3 -00302c cfe7 MOVFF 0xfe7,0xfdb -00302e ffdb +00304a ec44 CALL 0x3888,0x0 RetVal2 = extract_number (kUCHAR, &EA2, kOPTIONAL); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +00304c f01c +00304e 0e01 MOVLW 0x1 +003050 da7b RCALL 0x3548 +003052 6ee7 MOVWF 0xe7,0x0 +003054 0e03 MOVLW 0x3 +003056 cfe7 MOVFF 0xfe7,0xfdb +003058 ffdb // Bail if we got a conversion error C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -003030 0100 MOVLB 0x0 if (error_byte || kEXTRACT_OK != RetVal2) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -003032 5197 MOVF 0x97,0x0,0x1 -003034 e11e BNZ 0x3072 -003036 0e03 MOVLW 0x3 -003038 50db MOVF 0xdb,0x0,0x0 -00303a e11b BNZ 0x3072 +00305a 0100 MOVLB 0x0 if (error_byte || kEXTRACT_OK != RetVal2) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +00305c 5197 MOVF 0x97,0x0,0x1 +00305e e11e BNZ 0x309c +003060 0e03 MOVLW 0x3 +003062 50db MOVF 0xdb,0x0,0x0 +003064 e11b BNZ 0x309c { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c return; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // Trial: Spin here until there's space in the fifo C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -00303c 5018 MOVF 0x18,0x0,0x0 while(gFIFOLength >= gCurrentFIFOLength) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -00303e 5c14 SUBWF 0x14,0x0,0x0 -003040 e2fd BC 0x303c +003066 5018 MOVF 0x18,0x0,0x0 while(gFIFOLength >= gCurrentFIFOLength) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +003068 5c14 SUBWF 0x14,0x0,0x0 +00306a e2fd BC 0x3066 ; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // Set up the motion queue command C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -003042 5015 MOVF 0x15,0x0,0x0 FIFOPtr[gFIFOIn].DirBits = EA1; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -003044 ec52 CALL 0x3ea4,0x0 -003046 f01f -003048 52ee MOVF 0xee,0x1,0x0 -00304a cfdf MOVFF 0xfdf,0xfef -00304c ffef -00304e ec37 CALL 0x386e,0x0 FIFOPtr[gFIFOIn].ServoRPn = EA2; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -003050 f01c -003052 0e27 MOVLW 0x27 -003054 db95 RCALL 0x3780 -003056 0e01 MOVLW 0x1 -003058 cfdb MOVFF 0xfdb,0xfef -00305a ffef -00305c ec37 CALL 0x386e,0x0 FIFOPtr[gFIFOIn].Command = COMMAND_EM_BIT; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -00305e f01c -003060 0e08 MOVLW 0x8 -003062 6eef MOVWF 0xef,0x0 +00306c 5015 MOVF 0x15,0x0,0x0 FIFOPtr[gFIFOIn].DirBits = EA1; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +00306e ec62 CALL 0x3ec4,0x0 +003070 f01f +003072 52ee MOVF 0xee,0x1,0x0 +003074 cfdf MOVFF 0xfdf,0xfef +003076 ffef +003078 ec4a CALL 0x3894,0x0 FIFOPtr[gFIFOIn].ServoRPn = EA2; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +00307a f01c +00307c 0e27 MOVLW 0x27 +00307e db93 RCALL 0x37a6 +003080 0e01 MOVLW 0x1 +003082 cfdb MOVFF 0xfdb,0xfef +003084 ffef +003086 ec4a CALL 0x3894,0x0 FIFOPtr[gFIFOIn].Command = COMMAND_EM_BIT; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +003088 f01c +00308a 0e08 MOVLW 0x8 +00308c 6eef MOVWF 0xef,0x0 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -003064 2a15 INCF 0x15,0x1,0x0 gFIFOIn++; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -003066 5018 MOVF 0x18,0x0,0x0 if (gFIFOIn >= gCurrentFIFOLength) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -003068 5c15 SUBWF 0x15,0x0,0x0 -00306a e301 BNC 0x306e +00308e 2a15 INCF 0x15,0x1,0x0 gFIFOIn++; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +003090 5018 MOVF 0x18,0x0,0x0 if (gFIFOIn >= gCurrentFIFOLength) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +003092 5c15 SUBWF 0x15,0x0,0x0 +003094 e301 BNC 0x3098 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -00306c 6a15 CLRF 0x15,0x0 gFIFOIn = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +003096 6a15 CLRF 0x15,0x0 gFIFOIn = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -00306e 2a14 INCF 0x14,0x1,0x0 gFIFOLength++; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +003098 2a14 INCF 0x14,0x1,0x0 gFIFOLength++; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -003070 db93 RCALL 0x3798 print_line_ending(kLE_OK_NORM); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -003072 0e04 MOVLW 0x4 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -003074 5ce1 SUBWF 0xe1,0x0,0x0 -003076 e202 BC 0x307c -003078 6ae1 CLRF 0xe1,0x0 -00307a 52e5 MOVF 0xe5,0x1,0x0 -00307c d35d BRA 0x3738 +00309a db91 RCALL 0x37be print_line_ending(kLE_OK_NORM); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +00309c 0e04 MOVLW 0x4 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +00309e 5ce1 SUBWF 0xe1,0x0,0x0 +0030a0 e202 BC 0x30a6 +0030a2 6ae1 CLRF 0xe1,0x0 +0030a4 52e5 MOVF 0xe5,0x1,0x0 +0030a6 d35b BRA 0x375e C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // Node counter increment C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // Usage: NI C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c void parse_NI_packet(void) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -00307e ec84 CALL 0x4308,0x0 print_command(FALSE, FALSE); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -003080 f021 +0030a8 ec92 CALL 0x4324,0x0 print_command(FALSE, FALSE); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +0030aa f021 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -003082 0efe MOVLW 0xfe if (NodeCount < 0xFFFFFFFEUL) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -003084 010b MOVLB 0xb -003086 5d5b SUBWF 0x5b,0x0,0x1 -003088 0eff MOVLW 0xff -00308a 595c SUBWFB 0x5c,0x0,0x1 -00308c 0eff MOVLW 0xff -00308e 595d SUBWFB 0x5d,0x0,0x1 -003090 0eff MOVLW 0xff -003092 595e SUBWFB 0x5e,0x0,0x1 -003094 e205 BC 0x30a0 +0030ac 0efe MOVLW 0xfe if (NodeCount < 0xFFFFFFFEUL) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +0030ae 0101 MOVLB 0x1 +0030b0 5db5 SUBWF 0xb5,0x0,0x1 +0030b2 0eff MOVLW 0xff +0030b4 59b6 SUBWFB 0xb6,0x0,0x1 +0030b6 0eff MOVLW 0xff +0030b8 59b7 SUBWFB 0xb7,0x0,0x1 +0030ba 0eff MOVLW 0xff +0030bc 59b8 SUBWFB 0xb8,0x0,0x1 +0030be e205 BC 0x30ca { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -003096 2b5b INCF 0x5b,0x1,0x1 NodeCount++; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -003098 0e00 MOVLW 0x0 -00309a 235c ADDWFC 0x5c,0x1,0x1 -00309c 235d ADDWFC 0x5d,0x1,0x1 -00309e 235e ADDWFC 0x5e,0x1,0x1 +0030c0 2bb5 INCF 0xb5,0x1,0x1 NodeCount++; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +0030c2 0e00 MOVLW 0x0 +0030c4 23b6 ADDWFC 0xb6,0x1,0x1 +0030c6 23b7 ADDWFC 0xb7,0x1,0x1 +0030c8 23b8 ADDWFC 0xb8,0x1,0x1 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0030a0 efcc GOTO 0x3798 print_line_ending(kLE_OK_NORM); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0030a2 f01b +0030ca efdf GOTO 0x37be print_line_ending(kLE_OK_NORM); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +0030cc f01b } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // Node counter Decrement C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // Usage: ND C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c void parse_ND_packet(void) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0030a4 ec84 CALL 0x4308,0x0 print_command(FALSE, FALSE); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0030a6 f021 +0030ce ec92 CALL 0x4324,0x0 print_command(FALSE, FALSE); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +0030d0 f021 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0030a8 010b MOVLB 0xb if (NodeCount) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0030aa 515b MOVF 0x5b,0x0,0x1 -0030ac 115c IORWF 0x5c,0x0,0x1 -0030ae 115d IORWF 0x5d,0x0,0x1 -0030b0 115e IORWF 0x5e,0x0,0x1 -0030b2 e005 BZ 0x30be +0030d2 0101 MOVLB 0x1 if (NodeCount) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +0030d4 51b5 MOVF 0xb5,0x0,0x1 +0030d6 11b6 IORWF 0xb6,0x0,0x1 +0030d8 11b7 IORWF 0xb7,0x0,0x1 +0030da 11b8 IORWF 0xb8,0x0,0x1 +0030dc e005 BZ 0x30e8 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0030b4 075b DECF 0x5b,0x1,0x1 NodeCount--; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0030b6 0e00 MOVLW 0x0 -0030b8 5b5c SUBWFB 0x5c,0x1,0x1 -0030ba 5b5d SUBWFB 0x5d,0x1,0x1 -0030bc 5b5e SUBWFB 0x5e,0x1,0x1 +0030de 07b5 DECF 0xb5,0x1,0x1 NodeCount--; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +0030e0 0e00 MOVLW 0x0 +0030e2 5bb6 SUBWFB 0xb6,0x1,0x1 +0030e4 5bb7 SUBWFB 0xb7,0x1,0x1 +0030e6 5bb8 SUBWFB 0xb8,0x1,0x1 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0030be efcc GOTO 0x3798 print_line_ending(kLE_OK_NORM); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0030c0 f01b +0030e8 efdf GOTO 0x37be print_line_ending(kLE_OK_NORM); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +0030ea f01b } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // Set Node counter C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // Usage: SN, C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // is a 4 byte unsigned value C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0030c2 db3d RCALL 0x373e void parse_SN_packet(void) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0030c4 0e05 MOVLW 0x5 -0030c6 26e1 ADDWF 0xe1,0x1,0x0 +0030ec db3b RCALL 0x3764 void parse_SN_packet(void) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +0030ee 0e05 MOVLW 0x5 +0030f0 26e1 ADDWF 0xe1,0x1,0x0 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c unsigned long Temp; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c ExtractReturnType RetVal; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0030c8 ec84 CALL 0x4308,0x0 print_command(FALSE, FALSE); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0030ca f021 +0030f2 ec92 CALL 0x4324,0x0 print_command(FALSE, FALSE); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +0030f4 f021 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0030cc ecd8 CALL 0x39b0,0x0 RetVal = extract_number(kULONG, &Temp, kREQUIRED); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0030ce f01c -0030d0 0e07 MOVLW 0x7 -0030d2 ecdd CALL 0x41ba,0x0 -0030d4 f020 -0030d6 50db MOVF 0xdb,0x0,0x0 if (kEXTRACT_OK == RetVal) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0030d8 e10b BNZ 0x30f0 +0030f6 eceb CALL 0x39d6,0x0 RetVal = extract_number(kULONG, &Temp, kREQUIRED); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +0030f8 f01c +0030fa 0e07 MOVLW 0x7 +0030fc ecee CALL 0x41dc,0x0 +0030fe f020 +003100 50db MOVF 0xdb,0x0,0x0 if (kEXTRACT_OK == RetVal) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +003102 e10b BNZ 0x311a { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0030da cfdf MOVFF 0xfdf,0xb5b NodeCount = Temp; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0030dc fb5b -0030de 0e01 MOVLW 0x1 -0030e0 cfdb MOVFF 0xfdb,0xb5c -0030e2 fb5c -0030e4 0e02 MOVLW 0x2 -0030e6 cfdb MOVFF 0xfdb,0xb5d -0030e8 fb5d -0030ea 0e03 MOVLW 0x3 -0030ec cfdb MOVFF 0xfdb,0xb5e -0030ee fb5e +003104 cfdf MOVFF 0xfdf,0x1b5 NodeCount = Temp; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +003106 f1b5 +003108 0e01 MOVLW 0x1 +00310a cfdb MOVFF 0xfdb,0x1b6 +00310c f1b6 +00310e 0e02 MOVLW 0x2 +003110 cfdb MOVFF 0xfdb,0x1b7 +003112 f1b7 +003114 0e03 MOVLW 0x3 +003116 cfdb MOVFF 0xfdb,0x1b8 +003118 f1b8 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0030f0 db53 RCALL 0x3798 print_line_ending(kLE_OK_NORM); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0030f2 0e05 MOVLW 0x5 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0030f4 5ce1 SUBWF 0xe1,0x0,0x0 -0030f6 e202 BC 0x30fc -0030f8 6ae1 CLRF 0xe1,0x0 -0030fa 52e5 MOVF 0xe5,0x1,0x0 -0030fc d31d BRA 0x3738 +00311a db51 RCALL 0x37be print_line_ending(kLE_OK_NORM); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +00311c 0e05 MOVLW 0x5 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +00311e 5ce1 SUBWF 0xe1,0x0,0x0 +003120 e202 BC 0x3126 +003122 6ae1 CLRF 0xe1,0x0 +003124 52e5 MOVF 0xe5,0x1,0x0 +003126 d31b BRA 0x375e C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // Query Node counter C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // Usage: QN C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c @@ -14165,28 +14196,28 @@ Address Value Disassembly Source // OK C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c void parse_QN_packet(void) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0030fe ec0f CALL 0x401e,0x0 print_command(FALSE, TRUE); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -003100 f020 +003128 ec20 CALL 0x4040,0x0 print_command(FALSE, TRUE); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +00312a f020 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -003102 cb5b MOVFF 0xb5b,0xfe6 ebb_print_uint(NodeCount); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -003104 ffe6 -003106 cb5c MOVFF 0xb5c,0xfe6 -003108 ffe6 -00310a cb5d MOVFF 0xb5d,0xfe6 -00310c ffe6 -00310e cb5e MOVFF 0xb5e,0xfe6 -003110 ffe6 -003112 db0d RCALL 0x372e -003114 010b MOVLB 0xb if (!bittstzero(gStandardizedCommandFormat)) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -003116 b184 BTFSC 0x84,0x0,0x1 -003118 d002 BRA 0x311e +00312c c1b5 MOVFF 0x1b5,0xfe6 ebb_print_uint(NodeCount); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +00312e ffe6 +003130 c1b6 MOVFF 0x1b6,0xfe6 +003132 ffe6 +003134 c1b7 MOVFF 0x1b7,0xfe6 +003136 ffe6 +003138 c1b8 MOVFF 0x1b8,0xfe6 +00313a ffe6 +00313c db0b RCALL 0x3754 +00313e 0101 MOVLB 0x1 if (!bittstzero(gStandardizedCommandFormat)) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +003140 b1be BTFSC 0xbe,0x0,0x1 +003142 d002 BRA 0x3148 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -00311a ec32 CALL 0x3a64,0x0 print_line_ending(kLE_NORM); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -00311c f01d +003144 ec56 CALL 0x3aac,0x0 print_line_ending(kLE_NORM); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +003146 f01d } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -00311e efcc GOTO 0x3798 print_line_ending(kLE_OK_NORM); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -003120 f01b +003148 efdf GOTO 0x37be print_line_ending(kLE_OK_NORM); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +00314a f01b } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // Set Layer C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c @@ -14196,57 +14227,57 @@ Address Value Disassembly Source // is assumed to be 0. C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // Store in (variable space) in RAM C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // Retrieve the values using the QL command C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -003122 db0d RCALL 0x373e void parse_SL_packet(void) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -003124 0e02 MOVLW 0x2 -003126 ec74 CALL 0x42e8,0x0 +00314c db0b RCALL 0x3764 void parse_SL_packet(void) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +00314e 0e02 MOVLW 0x2 +003150 ec85 CALL 0x430a,0x0 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -003128 f021 UINT8 Value = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +003152 f021 UINT8 Value = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c UINT8 Index = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -00312a ec71 CALL 0x42e2,0x0 print_command(FALSE, FALSE); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -00312c f021 +003154 ec82 CALL 0x4304,0x0 print_command(FALSE, FALSE); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +003156 f021 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // Extract each of the values. C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c extract_number(kUCHAR, &Value, kREQUIRED); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -00312e 0e01 MOVLW 0x1 extract_number(kUCHAR, &Index, kOPTIONAL); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -003130 ec0a CALL 0x4014,0x0 -003132 f020 +003158 0e01 MOVLW 0x1 extract_number(kUCHAR, &Index, kOPTIONAL); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +00315a ec1b CALL 0x4036,0x0 +00315c f020 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // Bail if we got a conversion error C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -003134 e10c BNZ 0x314e if (error_byte) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +00315e e10c BNZ 0x3178 if (error_byte) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c return; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -003136 0e01 MOVLW 0x1 if (Index > (SL_STORAGE_SIZE - 1)) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -003138 50db MOVF 0xdb,0x0,0x0 -00313a 081f SUBLW 0x1f -00313c e203 BC 0x3144 +003160 0e01 MOVLW 0x1 if (Index > (SL_STORAGE_SIZE - 1)) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +003162 50db MOVF 0xdb,0x0,0x0 +003164 081f SUBLW 0x1f +003166 e203 BC 0x316e { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -00313e 52de MOVF 0xde,0x1,0x0 Index = (SL_STORAGE_SIZE - 1); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -003140 0e1f MOVLW 0x1f -003142 6edd MOVWF 0xdd,0x0 +003168 52de MOVF 0xde,0x1,0x0 Index = (SL_STORAGE_SIZE - 1); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +00316a 0e1f MOVLW 0x1f +00316c 6edd MOVWF 0xdd,0x0 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -003144 ec99 CALL 0x3d32,0x0 gSL_Storage[Index] = Value; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -003146 f01e -003148 cfdf MOVFF 0xfdf,0xfef -00314a ffef -003d32 0e01 MOVLW 0x1 -003d34 50db MOVF 0xdb,0x0,0x0 -003d36 6aea CLRF 0xea,0x0 -003d38 0f5f ADDLW 0x5f -003d3a 6ee9 MOVWF 0xe9,0x0 -003d3c 0e0b MOVLW 0xb -003d3e 22ea ADDWFC 0xea,0x1,0x0 -003d40 0012 RETURN 0x0 +00316e eca9 CALL 0x3d52,0x0 gSL_Storage[Index] = Value; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +003170 f01e +003172 cfdf MOVFF 0xfdf,0xfef +003174 ffef +003d52 0e01 MOVLW 0x1 +003d54 50db MOVF 0xdb,0x0,0x0 +003d56 6aea CLRF 0xea,0x0 +003d58 0f58 ADDLW 0x58 +003d5a 6ee9 MOVWF 0xe9,0x0 +003d5c 0e01 MOVLW 0x1 +003d5e 22ea ADDWFC 0xea,0x1,0x0 +003d60 0012 RETURN 0x0 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -00314c db25 RCALL 0x3798 print_line_ending(kLE_OK_NORM); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -00314e 0e02 MOVLW 0x2 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -003150 5ce1 SUBWF 0xe1,0x0,0x0 -003152 e202 BC 0x3158 -003154 6ae1 CLRF 0xe1,0x0 -003156 52e5 MOVF 0xe5,0x1,0x0 -003158 d2ef BRA 0x3738 +003176 db23 RCALL 0x37be print_line_ending(kLE_OK_NORM); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +003178 0e02 MOVLW 0x2 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +00317a 5ce1 SUBWF 0xe1,0x0,0x0 +00317c e202 BC 0x3182 +00317e 6ae1 CLRF 0xe1,0x0 +003180 52e5 MOVF 0xe5,0x1,0x0 +003182 d2ed BRA 0x375e C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // Query Layer C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // Usage: QL[,] C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c @@ -14254,74 +14285,74 @@ Address Value Disassembly Source // Where is an optional parameter from 0 to 31 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // If not present, is set to 0 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // The is an unsigned byte which was previously stored at C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -00315a daf1 RCALL 0x373e void parse_QL_packet(void) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -00315c 0e02 MOVLW 0x2 -00315e ec06 CALL 0x400c,0x0 -00400c d96d -0042e8 26e1 ADDWF 0xe1,0x1,0x0 +003184 daef RCALL 0x3764 void parse_QL_packet(void) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +003186 0e02 MOVLW 0x2 +003188 ec17 CALL 0x402e,0x0 +00402e d96d +00430a 26e1 ADDWF 0xe1,0x1,0x0 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -003160 f020 WORD2 0x20 UINT8 Value = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0042ea 6adf CLRF 0xdf,0x0 -0042ec 0e01 MOVLW 0x1 UINT8 Index = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0042ee 6adb CLRF 0xdb,0x0 -0042f0 0012 RETURN 0x0 +00318a f020 WORD2 0x20 UINT8 Value = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +00430c 6adf CLRF 0xdf,0x0 +00430e 0e01 MOVLW 0x1 UINT8 Index = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +004310 6adb CLRF 0xdb,0x0 +004312 0012 RETURN 0x0 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -00400e 6ee6 MOVWF 0xe6,0x0 print_command(FALSE, TRUE); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -004010 ef72 GOTO 0x36e4 -004012 f01b +004030 6ee6 MOVWF 0xe6,0x0 print_command(FALSE, TRUE); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +004032 ef85 GOTO 0x370a +004034 f01b C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -003162 db7f RCALL 0x3862 extract_number(kUCHAR, &Index, kOPTIONAL); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -003164 0e01 MOVLW 0x1 -003166 ec0a CALL 0x4014,0x0 -003168 f020 +00318c db7d RCALL 0x3888 extract_number(kUCHAR, &Index, kOPTIONAL); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +00318e 0e01 MOVLW 0x1 +003190 ec1b CALL 0x4036,0x0 +003192 f020 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // Bail if we got a conversion error C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -00316a e113 BNZ 0x3192 if (error_byte) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +003194 e113 BNZ 0x31bc if (error_byte) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c return; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -00316c 0e01 MOVLW 0x1 if (Index > (SL_STORAGE_SIZE - 1)) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -00316e 50db MOVF 0xdb,0x0,0x0 -003170 081f SUBLW 0x1f -003172 e203 BC 0x317a +003196 0e01 MOVLW 0x1 if (Index > (SL_STORAGE_SIZE - 1)) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +003198 50db MOVF 0xdb,0x0,0x0 +00319a 081f SUBLW 0x1f +00319c e203 BC 0x31a4 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -003174 52de MOVF 0xde,0x1,0x0 Index = (SL_STORAGE_SIZE - 1); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -003176 0e1f MOVLW 0x1f -003178 6edd MOVWF 0xdd,0x0 +00319e 52de MOVF 0xde,0x1,0x0 Index = (SL_STORAGE_SIZE - 1); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +0031a0 0e1f MOVLW 0x1f +0031a2 6edd MOVWF 0xdd,0x0 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -00317a ec99 CALL 0x3d32,0x0 ebb_print_uint(gSL_Storage[Index]); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -00317c f01e -00317e cfef MOVFF 0xfef,0x33 -003180 f033 -003182 ec13 CALL 0x4026,0x0 -003184 f020 -0036d8 6a35 CLRF 0x35,0x0 -0036da 6a36 CLRF 0x36,0x0 -0036dc c033 MOVFF 0x33,0xfe6 -0036de ffe6 -0036e0 ef23 GOTO 0x4046 -0036e2 f020 -004026 6a34 CLRF 0x34,0x0 -004028 ec6c CALL 0x36d8,0x0 -00402a f01b -00402c ef97 GOTO 0x372e -00402e f01b -003186 010b MOVLB 0xb if (!bittstzero(gStandardizedCommandFormat)) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -003188 b184 BTFSC 0x84,0x0,0x1 -00318a d002 BRA 0x3190 +0031a4 eca9 CALL 0x3d52,0x0 ebb_print_uint(gSL_Storage[Index]); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +0031a6 f01e +0031a8 cfef MOVFF 0xfef,0x47 +0031aa f047 +0031ac ec24 CALL 0x4048,0x0 +0031ae f020 +0036fe 6a49 CLRF 0x49,0x0 +003700 6a4a CLRF 0x4a,0x0 +003702 c047 MOVFF 0x47,0xfe6 +003704 ffe6 +003706 ef34 GOTO 0x4068 +003708 f020 +004048 6a48 CLRF 0x48,0x0 +00404a ec7f CALL 0x36fe,0x0 +00404c f01b +00404e efaa GOTO 0x3754 +004050 f01b +0031b0 0101 MOVLB 0x1 if (!bittstzero(gStandardizedCommandFormat)) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +0031b2 b1be BTFSC 0xbe,0x0,0x1 +0031b4 d002 BRA 0x31ba { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -00318c ec32 CALL 0x3a64,0x0 print_line_ending(kLE_NORM); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -00318e f01d +0031b6 ec56 CALL 0x3aac,0x0 print_line_ending(kLE_NORM); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +0031b8 f01d } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -003190 db03 RCALL 0x3798 print_line_ending(kLE_OK_NORM); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -003192 0e02 MOVLW 0x2 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -003194 5ce1 SUBWF 0xe1,0x0,0x0 -003196 e202 BC 0x319c -003198 6ae1 CLRF 0xe1,0x0 -00319a 52e5 MOVF 0xe5,0x1,0x0 -00319c d2cd BRA 0x3738 +0031ba db01 RCALL 0x37be print_line_ending(kLE_OK_NORM); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +0031bc 0e02 MOVLW 0x2 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +0031be 5ce1 SUBWF 0xe1,0x0,0x0 +0031c0 e202 BC 0x31c6 +0031c2 6ae1 CLRF 0xe1,0x0 +0031c4 52e5 MOVF 0xe5,0x1,0x0 +0031c6 d2cb BRA 0x375e C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // Query Button C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // Usage: QB C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c @@ -14329,43 +14360,43 @@ Address Value Disassembly Source // OK C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c void parse_QB_packet(void) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -00319e ec0f CALL 0x401e,0x0 print_command(FALSE, TRUE); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0031a0 f020 +0031c8 ec20 CALL 0x4040,0x0 print_command(FALSE, TRUE); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +0031ca f020 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0031a2 5007 MOVF 0x7,0x0,0x0 ebb_print_uint(ButtonPushed); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0031a4 6e33 MOVWF 0x33,0x0 -0031a6 6a34 CLRF 0x34,0x0 -0031a8 6a35 CLRF 0x35,0x0 -0031aa 6a36 CLRF 0x36,0x0 -0031ac 6ee6 MOVWF 0xe6,0x0 -0031ae ec23 CALL 0x4046,0x0 -0031b0 f020 -0031b2 dabd RCALL 0x372e -00372e ec6c CALL 0x86d8,0x0 -003730 f043 -003732 52e5 MOVF 0xe5,0x1,0x0 -003734 ef30 GOTO 0x4060 -003736 f020 -004046 c034 MOVFF 0x34,0xfe6 -004048 ffe6 -00404a c035 MOVFF 0x35,0xfe6 -00404c ffe6 -00404e c036 MOVFF 0x36,0xfe6 -004050 ffe6 -004052 0012 RETURN 0x0 -0031b4 010b MOVLB 0xb if (!bittstzero(gStandardizedCommandFormat)) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0031b6 b184 BTFSC 0x84,0x0,0x1 -0031b8 d002 BRA 0x31be +0031cc 5007 MOVF 0x7,0x0,0x0 ebb_print_uint(ButtonPushed); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +0031ce 6e47 MOVWF 0x47,0x0 +0031d0 6a48 CLRF 0x48,0x0 +0031d2 6a49 CLRF 0x49,0x0 +0031d4 6a4a CLRF 0x4a,0x0 +0031d6 6ee6 MOVWF 0xe6,0x0 +0031d8 ec34 CALL 0x4068,0x0 +0031da f020 +0031dc dabb RCALL 0x3754 +003754 ec7a CALL 0x86f4,0x0 +003756 f043 +003758 52e5 MOVF 0xe5,0x1,0x0 +00375a ef41 GOTO 0x4082 +00375c f020 +004068 c048 MOVFF 0x48,0xfe6 +00406a ffe6 +00406c c049 MOVFF 0x49,0xfe6 +00406e ffe6 +004070 c04a MOVFF 0x4a,0xfe6 +004072 ffe6 +004074 0012 RETURN 0x0 +0031de 0101 MOVLB 0x1 if (!bittstzero(gStandardizedCommandFormat)) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +0031e0 b1be BTFSC 0xbe,0x0,0x1 +0031e2 d002 BRA 0x31e8 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0031ba ec32 CALL 0x3a64,0x0 print_line_ending(kLE_NORM); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0031bc f01d +0031e4 ec56 CALL 0x3aac,0x0 print_line_ending(kLE_NORM); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +0031e6 f01d } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0031be b007 BTFSC 0x7,0x0,0x0 if (bittstzero(ButtonPushed)) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +0031e8 b007 BTFSC 0x7,0x0,0x0 if (bittstzero(ButtonPushed)) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0031c0 9007 BCF 0x7,0x0,0x0 bitclrzero(ButtonPushed); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +0031ea 9007 BCF 0x7,0x0,0x0 bitclrzero(ButtonPushed); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0031c2 efcc GOTO 0x3798 print_line_ending(kLE_OK_NORM); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0031c4 f01b +0031ec efdf GOTO 0x37be print_line_ending(kLE_OK_NORM); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +0031ee f01b } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // Query Current C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c @@ -14384,34 +14415,34 @@ Address Value Disassembly Source // Since access to ISR_A_FIFO[] is not protected in any way from ISR and C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // mainline code accessing at the same time, we will just wait for C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // the cycle of ADC readings to finish before we spit out our value. C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0031c6 bc9d BTFSC 0x9d,0x6,0x0 while (PIE1bits.ADIE); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0031c8 d7fe BRA 0x31c6 +0031f0 bc9d BTFSC 0x9d,0x6,0x0 while (PIE1bits.ADIE); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +0031f2 d7fe BRA 0x31f0 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // Print out our results C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0031ca ec0f CALL 0x401e,0x0 print_command(FALSE, TRUE); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0031cc f020 -0031ce c100 MOVFF 0x100,0x33 ebb_print_int(ISR_A_FIFO[0]); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0031d0 f033 -0031d2 c101 MOVFF 0x101,0x34 -0031d4 f034 -0031d6 ecd4 CALL 0x3fa8,0x0 -0031d8 f01f +0031f4 ec20 CALL 0x4040,0x0 print_command(FALSE, TRUE); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +0031f6 f020 +0031f8 c100 MOVFF 0x100,0x47 ebb_print_int(ISR_A_FIFO[0]); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +0031fa f047 +0031fc c101 MOVFF 0x101,0x48 +0031fe f048 +003200 ece5 CALL 0x3fca,0x0 +003202 f01f ebb_print_char(','); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0031da c116 MOVFF 0x116,0x33 ebb_print_int(ISR_A_FIFO[11]); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0031dc f033 -0031de c117 MOVFF 0x117,0x34 -0031e0 f034 -0031e2 da7a RCALL 0x36d8 -0031e4 da9f RCALL 0x3724 -0031e6 010b MOVLB 0xb if (!bittstzero(gStandardizedCommandFormat)) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0031e8 b184 BTFSC 0x84,0x0,0x1 -0031ea d002 BRA 0x31f0 +003204 c116 MOVFF 0x116,0x47 ebb_print_int(ISR_A_FIFO[11]); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +003206 f047 +003208 c117 MOVFF 0x117,0x48 +00320a f048 +00320c da78 RCALL 0x36fe +00320e da9d RCALL 0x374a +003210 0101 MOVLB 0x1 if (!bittstzero(gStandardizedCommandFormat)) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +003212 b1be BTFSC 0xbe,0x0,0x1 +003214 d002 BRA 0x321a { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0031ec ec32 CALL 0x3a64,0x0 print_line_ending(kLE_NORM); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0031ee f01d +003216 ec56 CALL 0x3aac,0x0 print_line_ending(kLE_NORM); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +003218 f01d } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0031f0 efcc GOTO 0x3798 print_line_ending(kLE_OK_NORM); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0031f2 f01b +00321a efdf GOTO 0x37be print_line_ending(kLE_OK_NORM); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +00321c f01b } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // Query General C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c @@ -14428,87 +14459,87 @@ Address Value Disassembly Source // Bit 6 : Power Lost (1 = V+ went below g_PowerMonitorThresholdADC, 0 = it did not) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // Bit 7 : gLimitSwitchTriggered C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // Just like the QB command, the PRG button status is cleared (after being printed) if pressed since last QB/QG command C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0031f4 ece9 CALL 0x41d2,0x0 void parse_QG_packet(void) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0031f6 f020 +00321e ecfa CALL 0x41f4,0x0 void parse_QG_packet(void) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +003220 f020 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0031f8 d8d2 RCALL 0x339e UINT8 result = process_QM(); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0031fa 6edf MOVWF 0xdf,0x0 +003222 d8d2 RCALL 0x33c8 UINT8 result = process_QM(); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +003224 6edf MOVWF 0xdf,0x0 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0031fc ec0f CALL 0x401e,0x0 print_command(FALSE, TRUE); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0031fe f020 +003226 ec20 CALL 0x4040,0x0 print_command(FALSE, TRUE); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +003228 f020 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // process_QM() gives us the low 4 bits of our output result. C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -003200 0e0f MOVLW 0xf result = result & 0x0F; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -003202 14df ANDWF 0xdf,0x0,0x0 -003204 6edf MOVWF 0xdf,0x0 +00322a 0e0f MOVLW 0xf result = result & 0x0F; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +00322c 14df ANDWF 0xdf,0x0,0x0 +00322e 6edf MOVWF 0xdf,0x0 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -003206 010b MOVLB 0xb if (PenState) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -003208 515a MOVF 0x5a,0x0,0x1 -00320a e003 BZ 0x3212 +003230 0101 MOVLB 0x1 if (PenState) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +003232 51b4 MOVF 0xb4,0x0,0x1 +003234 e003 BZ 0x323c { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -00320c 0e10 MOVLW 0x10 result = result | (1 << 4); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -00320e 10df IORWF 0xdf,0x0,0x0 -003210 6edf MOVWF 0xdf,0x0 +003236 0e10 MOVLW 0x10 result = result | (1 << 4); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +003238 10df IORWF 0xdf,0x0,0x0 +00323a 6edf MOVWF 0xdf,0x0 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -003212 a007 BTFSS 0x7,0x0,0x0 if (bittstzero(ButtonPushed)) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -003214 d003 BRA 0x321c +00323c a007 BTFSS 0x7,0x0,0x0 if (bittstzero(ButtonPushed)) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +00323e d003 BRA 0x3246 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -003216 0e20 MOVLW 0x20 result = result | (1 << 5); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -003218 10df IORWF 0xdf,0x0,0x0 -00321a 6edf MOVWF 0xdf,0x0 +003240 0e20 MOVLW 0x20 result = result | (1 << 5); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +003242 10df IORWF 0xdf,0x0,0x0 +003244 6edf MOVWF 0xdf,0x0 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -00321c 0100 MOVLB 0x0 if (g_PowerDropDetected) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -00321e 51a7 MOVF 0xa7,0x0,0x1 -003220 e004 BZ 0x322a +003246 0100 MOVLB 0x0 if (g_PowerDropDetected) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +003248 51a7 MOVF 0xa7,0x0,0x1 +00324a e004 BZ 0x3254 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -003222 0e40 MOVLW 0x40 result = result | (1 << 6); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -003224 10df IORWF 0xdf,0x0,0x0 -003226 6edf MOVWF 0xdf,0x0 -003228 6ba7 CLRF 0xa7,0x1 g_PowerDropDetected = FALSE; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +00324c 0e40 MOVLW 0x40 result = result | (1 << 6); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +00324e 10df IORWF 0xdf,0x0,0x0 +003250 6edf MOVWF 0xdf,0x0 +003252 6ba7 CLRF 0xa7,0x1 g_PowerDropDetected = FALSE; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -00322a a00e BTFSS 0xe,0x0,0x0 if (bittstzero(gLimitSwitchTriggered)) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -00322c d003 BRA 0x3234 +003254 a00e BTFSS 0xe,0x0,0x0 if (bittstzero(gLimitSwitchTriggered)) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +003256 d003 BRA 0x325e { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -00322e 0e80 MOVLW 0x80 result = result | (1 << 7); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -003230 10df IORWF 0xdf,0x0,0x0 -003232 6edf MOVWF 0xdf,0x0 +003258 0e80 MOVLW 0x80 result = result | (1 << 7); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +00325a 10df IORWF 0xdf,0x0,0x0 +00325c 6edf MOVWF 0xdf,0x0 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -003234 0e02 MOVLW 0x2 ebb_print_hex(result, 2); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -003236 6ee6 MOVWF 0xe6,0x0 -003238 cfdf MOVFF 0xfdf,0x33 -00323a f033 -00323c 6a34 CLRF 0x34,0x0 -00323e da4c RCALL 0x36d8 -003240 ec32 CALL 0x8664,0x0 -003242 f043 -003244 6e37 MOVWF 0x37,0x0 -003246 0e05 MOVLW 0x5 -003248 5ee1 SUBWF 0xe1,0x1,0x0 -00324a 5037 MOVF 0x37,0x0,0x0 -00324c ec32 CALL 0x3a64,0x0 print_line_ending(kLE_NORM); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -00324e f01d -003a64 0e01 MOVLW 0x1 -003a66 6ee6 MOVWF 0xe6,0x0 -003a68 d3b0 BRA 0x41ca -0041ca ec22 CALL 0x5244,0x0 -0041cc f029 -0041ce 52e5 MOVF 0xe5,0x1,0x0 -0041d0 0012 RETURN 0x0 +00325e 0e02 MOVLW 0x2 ebb_print_hex(result, 2); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +003260 6ee6 MOVWF 0xe6,0x0 +003262 cfdf MOVFF 0xfdf,0x47 +003264 f047 +003266 6a48 CLRF 0x48,0x0 +003268 da4a RCALL 0x36fe +00326a ec40 CALL 0x8680,0x0 +00326c f043 +00326e 6e4b MOVWF 0x4b,0x0 +003270 0e05 MOVLW 0x5 +003272 5ee1 SUBWF 0xe1,0x1,0x0 +003274 504b MOVF 0x4b,0x0,0x0 +003276 ec56 CALL 0x3aac,0x0 print_line_ending(kLE_NORM); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +003278 f01d +003aac 0e01 MOVLW 0x1 +003aae 6ee6 MOVWF 0xe6,0x0 +003ab0 d39d BRA 0x41ec +0041ec ec30 CALL 0x5260,0x0 +0041ee f029 +0041f0 52e5 MOVF 0xe5,0x1,0x0 +0041f2 0012 RETURN 0x0 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // Reset the button pushed flag C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -003250 b007 BTFSC 0x7,0x0,0x0 if (bittstzero(ButtonPushed)) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +00327a b007 BTFSC 0x7,0x0,0x0 if (bittstzero(ButtonPushed)) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -003252 9007 BCF 0x7,0x0,0x0 bitclrzero(ButtonPushed); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +00327c 9007 BCF 0x7,0x0,0x0 bitclrzero(ButtonPushed); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -003254 ef30 GOTO 0x3a60 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -003256 f01d -003a60 52e5 MOVF 0xe5,0x1,0x0 -003a62 d3af BRA 0x41c2 -0041c2 52e5 MOVF 0xe5,0x1,0x0 -0041c4 cfe7 MOVFF 0xfe7,0xfd9 -0041c6 ffd9 -0041c8 0012 RETURN 0x0 +00327e ef54 GOTO 0x3aa8 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +003280 f01d +003aa8 52e5 MOVF 0xe5,0x1,0x0 +003aaa d39c BRA 0x41e4 +0041e4 52e5 MOVF 0xe5,0x1,0x0 +0041e6 cfe7 MOVFF 0xfe7,0xfd9 +0041e8 ffd9 +0041ea 0012 RETURN 0x0 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // Set Engraver C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // Usage: SE,,, C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c @@ -14523,397 +14554,397 @@ Address Value Disassembly Source // Timer2 and ECCP1 is engraver PWM C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // Timer3 and ECCP2 is RC servo2 output C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // Timer4 is 1ms ISR C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -003258 ec7b CALL 0x40f6,0x0 void parse_SE_packet(void) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -00325a f020 +003282 ec8c CALL 0x4118,0x0 void parse_SE_packet(void) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +003284 f020 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c UINT8 State = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c UINT16 Power = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -00325c 0e03 MOVLW 0x3 UINT8 SEUseMotionQueue = FALSE; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -00325e 6adb CLRF 0xdb,0x0 +003286 0e03 MOVLW 0x3 UINT8 SEUseMotionQueue = FALSE; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +003288 6adb CLRF 0xdb,0x0 ExtractReturnType PowerExtract; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -003260 ec71 CALL 0x42e2,0x0 print_command(FALSE, FALSE); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -003262 f021 -0036e4 6ae6 CLRF 0xe6,0x0 -0036e6 ec04 CALL 0x5208,0x0 -0036e8 f029 -0036ea 52e5 MOVF 0xe5,0x1,0x0 -0036ec 52e5 MOVF 0xe5,0x1,0x0 -0036ee 0012 RETURN 0x0 -003eaa da2e RCALL 0x4308 -0042e2 dde3 RCALL 0x3eaa +00328a ec82 CALL 0x4304,0x0 print_command(FALSE, FALSE); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +00328c f021 +00370a 6ae6 CLRF 0xe6,0x0 +00370c ec12 CALL 0x5224,0x0 +00370e f029 +003710 52e5 MOVF 0xe5,0x1,0x0 +003712 52e5 MOVF 0xe5,0x1,0x0 +003714 0012 RETURN 0x0 +003eca da2c RCALL 0x4324 +004304 dde2 RCALL 0x3eca C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // Extract each of the values. C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0039b0 6ae6 CLRF 0xe6,0x0 extract_number(kUCHAR, &State, kREQUIRED); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0039b2 cfd9 MOVFF 0xfd9,0xfe6 -0039b4 ffe6 -0039b6 cfda MOVFF 0xfda,0xfe6 -0039b8 ffe6 -0039ba 0012 RETURN 0x0 -003eac dd81 RCALL 0x39b0 -003eae 0e01 MOVLW 0x1 -003eb0 ef91 GOTO 0x3522 -003eb2 f01a -003264 0e03 MOVLW 0x3 PowerExtract = extract_number(kUINT, &Power, kOPTIONAL); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -003266 ecdd CALL 0x41ba,0x0 -003268 f020 -003862 0e01 MOVLW 0x1 -003864 6ee6 MOVWF 0xe6,0x0 -003866 50d9 MOVF 0xd9,0x0,0x0 -003868 0f01 ADDLW 0x1 -00386a ef80 GOTO 0x4100 -00386c f020 -004100 6ee6 MOVWF 0xe6,0x0 -004102 0e00 MOVLW 0x0 -004104 20da ADDWFC 0xda,0x0,0x0 -004106 6ee6 MOVWF 0xe6,0x0 -004108 0012 RETURN 0x0 -0041ba ec91 CALL 0x3522,0x0 -0041bc f01a -0041be ef71 GOTO 0x3ce2 -0041c0 f01e -0042e4 ef31 GOTO 0x3862 -0042e6 f01c -00326a ec53 CALL 0x42a6,0x0 extract_number(kUCHAR, &SEUseMotionQueue, kOPTIONAL); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -00326c f021 -00326e ec0a CALL 0x4014,0x0 -003270 f020 -003522 6ee6 MOVWF 0xe6,0x0 -003524 ec5e CALL 0x62bc,0x0 -003526 f031 -003528 52e5 MOVF 0xe5,0x1,0x0 -00352a ef30 GOTO 0x4060 -00352c f020 -004014 ec91 CALL 0x3522,0x0 -004016 f01a +0039d6 6ae6 CLRF 0xe6,0x0 extract_number(kUCHAR, &State, kREQUIRED); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +0039d8 cfd9 MOVFF 0xfd9,0xfe6 +0039da ffe6 +0039dc cfda MOVFF 0xfda,0xfe6 +0039de ffe6 +0039e0 0012 RETURN 0x0 +003ecc dd84 RCALL 0x39d6 +003ece 0e01 MOVLW 0x1 +003ed0 efa4 GOTO 0x3548 +003ed2 f01a +00328e 0e03 MOVLW 0x3 PowerExtract = extract_number(kUINT, &Power, kOPTIONAL); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +003290 ecee CALL 0x41dc,0x0 +003292 f020 +003888 0e01 MOVLW 0x1 +00388a 6ee6 MOVWF 0xe6,0x0 +00388c 50d9 MOVF 0xd9,0x0,0x0 +00388e 0f01 ADDLW 0x1 +003890 ef91 GOTO 0x4122 +003892 f020 +004122 6ee6 MOVWF 0xe6,0x0 +004124 0e00 MOVLW 0x0 +004126 20da ADDWFC 0xda,0x0,0x0 +004128 6ee6 MOVWF 0xe6,0x0 +00412a 0012 RETURN 0x0 +0041dc eca4 CALL 0x3548,0x0 +0041de f01a +0041e0 ef71 GOTO 0x3ce2 +0041e2 f01e +004306 ef44 GOTO 0x3888 +004308 f01c +003294 ec64 CALL 0x42c8,0x0 extract_number(kUCHAR, &SEUseMotionQueue, kOPTIONAL); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +003296 f021 +003298 ec1b CALL 0x4036,0x0 +00329a f020 +003548 6ee6 MOVWF 0xe6,0x0 +00354a ec6c CALL 0x62d8,0x0 +00354c f031 +00354e 52e5 MOVF 0xe5,0x1,0x0 +003550 ef41 GOTO 0x4082 +003552 f020 +004036 eca4 CALL 0x3548,0x0 +004038 f01a C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // Bail if we got a conversion error C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -003272 e001 BZ 0x3276 if (error_byte) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -003274 d08e BRA 0x3392 -004018 0100 MOVLB 0x0 -00401a 5197 MOVF 0x97,0x0,0x1 -00401c 0012 RETURN 0x0 +00329c e001 BZ 0x32a0 if (error_byte) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +00329e d08e BRA 0x33bc +00403a 0100 MOVLB 0x0 +00403c 5197 MOVF 0x97,0x0,0x1 +00403e 0012 RETURN 0x0 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c return; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // Limit check C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -003276 dad4 RCALL 0x3820 if (Power > 1023u) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -003278 0eff MOVLW 0xff -00327a 80d8 BSF 0xd8,0x0,0x0 -00327c 54ee SUBFWB 0xee,0x0,0x0 -00327e 0e03 MOVLW 0x3 -003280 54ed SUBFWB 0xed,0x0,0x0 -003282 e205 BC 0x328e +0032a0 dad2 RCALL 0x3846 if (Power > 1023u) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +0032a2 0eff MOVLW 0xff +0032a4 80d8 BSF 0xd8,0x0,0x0 +0032a6 54ee SUBFWB 0xee,0x0,0x0 +0032a8 0e03 MOVLW 0x3 +0032aa 54ed SUBFWB 0xed,0x0,0x0 +0032ac e205 BC 0x32b8 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -003284 0e01 MOVLW 0x1 Power = 1023; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -003286 68db SETF 0xdb,0x0 -003288 0e03 MOVLW 0x3 -00328a ecfb CALL 0x3df6,0x0 -00328c f01e +0032ae 0e01 MOVLW 0x1 Power = 1023; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +0032b0 68db SETF 0xdb,0x0 +0032b2 0e03 MOVLW 0x3 +0032b4 ec0b CALL 0x3e16,0x0 +0032b6 f01f } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -00328e 50df MOVF 0xdf,0x0,0x0 if (State > 1u) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -003290 0801 SUBLW 0x1 -003292 e202 BC 0x3298 +0032b8 50df MOVF 0xdf,0x0,0x0 if (State > 1u) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +0032ba 0801 SUBLW 0x1 +0032bc e202 BC 0x32c2 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -003294 0e01 MOVLW 0x1 State = 1; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -003296 6edf MOVWF 0xdf,0x0 +0032be 0e01 MOVLW 0x1 State = 1; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +0032c0 6edf MOVWF 0xdf,0x0 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -003298 0e03 MOVLW 0x3 if (SEUseMotionQueue > 1u) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -00329a 50db MOVF 0xdb,0x0,0x0 -00329c 0801 SUBLW 0x1 -00329e e202 BC 0x32a4 +0032c2 0e03 MOVLW 0x3 if (SEUseMotionQueue > 1u) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +0032c4 50db MOVF 0xdb,0x0,0x0 +0032c6 0801 SUBLW 0x1 +0032c8 e202 BC 0x32ce { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0032a0 ec4d CALL 0x3a9a,0x0 SEUseMotionQueue = 1; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0032a2 f01d +0032ca ec71 CALL 0x3ae2,0x0 SEUseMotionQueue = 1; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +0032cc f01d } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // Set to %50 if no Power parameter specified, otherwise use parameter C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0032a4 04df DECF 0xdf,0x0,0x0 if (State == 1u && PowerExtract == kEXTRACT_MISSING_PARAMETER) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0032a6 e109 BNZ 0x32ba -0032a8 0e04 MOVLW 0x4 -0032aa 50db MOVF 0xdb,0x0,0x0 -0032ac 0803 SUBLW 0x3 -0032ae e105 BNZ 0x32ba +0032ce 04df DECF 0xdf,0x0,0x0 if (State == 1u && PowerExtract == kEXTRACT_MISSING_PARAMETER) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +0032d0 e109 BNZ 0x32e4 +0032d2 0e04 MOVLW 0x4 +0032d4 50db MOVF 0xdb,0x0,0x0 +0032d6 0803 SUBLW 0x3 +0032d8 e105 BNZ 0x32e4 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0032b0 010b MOVLB 0xb StoredEngraverPower = 512; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0032b2 6b80 CLRF 0x80,0x1 -0032b4 0e02 MOVLW 0x2 -0032b6 6f81 MOVWF 0x81,0x1 +0032da 0101 MOVLB 0x1 StoredEngraverPower = 512; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +0032dc 6bba CLRF 0xba,0x1 +0032de 0e02 MOVLW 0x2 +0032e0 6fbb MOVWF 0xbb,0x1 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0032b8 d006 BRA 0x32c6 else C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +0032e2 d006 BRA 0x32f0 else C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0032ba 0e01 MOVLW 0x1 StoredEngraverPower = Power; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0032bc cfdb MOVFF 0xfdb,0xb80 -0032be fb80 -0032c0 0e02 MOVLW 0x2 -0032c2 cfdb MOVFF 0xfdb,0xb81 -0032c4 fb81 +0032e4 0e01 MOVLW 0x1 StoredEngraverPower = Power; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +0032e6 cfdb MOVFF 0xfdb,0x1ba +0032e8 f1ba +0032ea 0e02 MOVLW 0x2 +0032ec cfdb MOVFF 0xfdb,0x1bb +0032ee f1bb } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // If we're not on, then turn us on C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0032c6 b4ca BTFSC 0xca,0x2,0x0 if (T2CONbits.TMR2ON != 1u) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0032c8 d015 BRA 0x32f4 +0032f0 b4ca BTFSC 0xca,0x2,0x0 if (T2CONbits.TMR2ON != 1u) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +0032f2 d015 BRA 0x331e { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // Set up PWM for Engraver control C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // We will use ECCP1 and Timer2 for the engraver PWM output on RB3 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // Our PWM will operate at about 40Khz. C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // Set our reload value C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0032ca 68cb SETF 0xcb,0x0 PR2 = 0xFF; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +0032f4 68cb SETF 0xcb,0x0 PR2 = 0xFF; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // Initialize Timer2 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // The prescaler will be at 1 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0032cc 0efc MOVLW 0xfc T2CONbits.T2CKPS = 0b00; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0032ce 14ca ANDWF 0xca,0x0,0x0 -0032d0 0900 IORLW 0x0 -0032d2 6eca MOVWF 0xca,0x0 +0032f6 0efc MOVLW 0xfc T2CONbits.T2CKPS = 0b00; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +0032f8 14ca ANDWF 0xca,0x0,0x0 +0032fa 0900 IORLW 0x0 +0032fc 6eca MOVWF 0xca,0x0 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // Do not generate an interrupt C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0032d4 929d BCF 0x9d,0x1,0x0 PIE1bits.TMR2IE = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +0032fe 929d BCF 0x9d,0x1,0x0 PIE1bits.TMR2IE = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0032d6 010f MOVLB 0xf TCLKCONbits.T3CCP1 = 1; // ECCP1 uses Timer1/2 and ECCP2 uses Timer3/4 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0032d8 8152 BSF 0x52,0x0,0x1 -0032da 9352 BCF 0x52,0x1,0x1 TCLKCONbits.T3CCP2 = 0; // ECCP1 uses Timer1/2 and ECCP2 uses Timer3/4 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +003300 010f MOVLB 0xf TCLKCONbits.T3CCP1 = 1; // ECCP1 uses Timer1/2 and ECCP2 uses Timer3/4 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +003302 8152 BSF 0x52,0x0,0x1 +003304 9352 BCF 0x52,0x1,0x1 TCLKCONbits.T3CCP2 = 0; // ECCP1 uses Timer1/2 and ECCP2 uses Timer3/4 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0032dc 0ef0 MOVLW 0xf0 CCP1CONbits.CCP1M = 0b1100; // Set EECP1 as PWM mode C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0032de 14ba ANDWF 0xba,0x0,0x0 -0032e0 090c IORLW 0xc -0032e2 6eba MOVWF 0xba,0x0 -0032e4 0e3f MOVLW 0x3f CCP1CONbits.P1M = 0b00; // Enhanced PWM mode: single output C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0032e6 14ba ANDWF 0xba,0x0,0x0 -0032e8 0900 IORLW 0x0 -0032ea 6eba MOVWF 0xba,0x0 +003306 0ef0 MOVLW 0xf0 CCP1CONbits.CCP1M = 0b1100; // Set EECP1 as PWM mode C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +003308 14ba ANDWF 0xba,0x0,0x0 +00330a 090c IORLW 0xc +00330c 6eba MOVWF 0xba,0x0 +00330e 0e3f MOVLW 0x3f CCP1CONbits.P1M = 0b00; // Enhanced PWM mode: single output C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +003310 14ba ANDWF 0xba,0x0,0x0 +003312 0900 IORLW 0x0 +003314 6eba MOVWF 0xba,0x0 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // Set up output routing to go to RB3 (RP6) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0032ec 010e MOVLB 0xe RPOR6 = 14; // 14 is CCP1/P1A - ECCP1 PWM Output Channel A C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0032ee 0e0e MOVLW 0xe -0032f0 6fcc MOVWF 0xcc,0x1 +003316 010e MOVLB 0xe RPOR6 = 14; // 14 is CCP1/P1A - ECCP1 PWM Output Channel A C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +003318 0e0e MOVLW 0xe +00331a 6fcc MOVWF 0xcc,0x1 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0032f2 84ca BSF 0xca,0x2,0x0 T2CONbits.TMR2ON = 1; // Turn it on C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +00331c 84ca BSF 0xca,0x2,0x0 T2CONbits.TMR2ON = 1; // Turn it on C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // Acting on the state is only done if the SE command is not put on the motion queue C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0032f4 0e03 MOVLW 0x3 if (!SEUseMotionQueue) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0032f6 50db MOVF 0xdb,0x0,0x0 -0032f8 e12a BNZ 0x334e +00331e 0e03 MOVLW 0x3 if (!SEUseMotionQueue) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +003320 50db MOVF 0xdb,0x0,0x0 +003322 e12a BNZ 0x3378 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // Now act on the State C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0032fa 50df MOVF 0xdf,0x0,0x0 if (State) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0032fc e023 BZ 0x3344 +003324 50df MOVF 0xdf,0x0,0x0 if (State) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +003326 e023 BZ 0x336e { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // Set RB3 to StoredEngraverPower C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0032fe cb80 MOVFF 0xb80,0x33 CCPR1L = StoredEngraverPower >> 2; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -003300 f033 -003302 cb81 MOVFF 0xb81,0x34 -003304 f034 -003306 90d8 BCF 0xd8,0x0,0x0 -003308 3234 RRCF 0x34,0x1,0x0 -00330a 3233 RRCF 0x33,0x1,0x0 -00330c 90d8 BCF 0xd8,0x0,0x0 -00330e 3234 RRCF 0x34,0x1,0x0 -003310 3233 RRCF 0x33,0x1,0x0 -003312 5033 MOVF 0x33,0x0,0x0 -003314 6ebb MOVWF 0xbb,0x0 -003316 cb80 MOVFF 0xb80,0x35 CCP1CON = (CCP1CON & 0b11001111) | ((StoredEngraverPower << 4) & 0b00110000); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -003318 f035 -00331a cb81 MOVFF 0xb81,0x36 -00331c f036 -00331e 0e04 MOVLW 0x4 -003320 90d8 BCF 0xd8,0x0,0x0 -003322 3635 RLCF 0x35,0x1,0x0 -003324 3636 RLCF 0x36,0x1,0x0 -003326 04e8 DECF 0xe8,0x0,0x0 -003328 e1fb BNZ 0x3320 -00332a 0e30 MOVLW 0x30 -00332c 1635 ANDWF 0x35,0x1,0x0 -00332e 0e00 MOVLW 0x0 -003330 1636 ANDWF 0x36,0x1,0x0 -003332 0ecf MOVLW 0xcf -003334 14ba ANDWF 0xba,0x0,0x0 -003336 0100 MOVLB 0x0 -003338 1035 IORWF 0x35,0x0,0x0 -00333a 6e33 MOVWF 0x33,0x0 -00333c c036 MOVFF 0x36,0x34 -00333e f034 -003340 50e8 MOVF 0xe8,0x0,0x0 +003328 c1ba MOVFF 0x1ba,0x47 CCPR1L = StoredEngraverPower >> 2; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +00332a f047 +00332c c1bb MOVFF 0x1bb,0x48 +00332e f048 +003330 90d8 BCF 0xd8,0x0,0x0 +003332 3248 RRCF 0x48,0x1,0x0 +003334 3247 RRCF 0x47,0x1,0x0 +003336 90d8 BCF 0xd8,0x0,0x0 +003338 3248 RRCF 0x48,0x1,0x0 +00333a 3247 RRCF 0x47,0x1,0x0 +00333c 5047 MOVF 0x47,0x0,0x0 +00333e 6ebb MOVWF 0xbb,0x0 +003340 c1ba MOVFF 0x1ba,0x49 CCP1CON = (CCP1CON & 0b11001111) | ((StoredEngraverPower << 4) & 0b00110000); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +003342 f049 +003344 c1bb MOVFF 0x1bb,0x4a +003346 f04a +003348 0e04 MOVLW 0x4 +00334a 90d8 BCF 0xd8,0x0,0x0 +00334c 3649 RLCF 0x49,0x1,0x0 +00334e 364a RLCF 0x4a,0x1,0x0 +003350 04e8 DECF 0xe8,0x0,0x0 +003352 e1fb BNZ 0x334a +003354 0e30 MOVLW 0x30 +003356 1649 ANDWF 0x49,0x1,0x0 +003358 0e00 MOVLW 0x0 +00335a 164a ANDWF 0x4a,0x1,0x0 +00335c 0ecf MOVLW 0xcf +00335e 14ba ANDWF 0xba,0x0,0x0 +003360 0100 MOVLB 0x0 +003362 1049 IORWF 0x49,0x0,0x0 +003364 6e47 MOVWF 0x47,0x0 +003366 c04a MOVFF 0x4a,0x48 +003368 f048 +00336a 50e8 MOVF 0xe8,0x0,0x0 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -003342 d003 BRA 0x334a else C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +00336c d003 BRA 0x3374 else C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // Set RB3 to low by setting PWM duty cycle to zero C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -003344 6abb CLRF 0xbb,0x0 CCPR1L = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -003346 0ecf MOVLW 0xcf CCP1CON = (CCP1CON & 0b11001111); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -003348 14ba ANDWF 0xba,0x0,0x0 -00334a 6eba MOVWF 0xba,0x0 +00336e 6abb CLRF 0xbb,0x0 CCPR1L = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +003370 0ecf MOVLW 0xcf CCP1CON = (CCP1CON & 0b11001111); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +003372 14ba ANDWF 0xba,0x0,0x0 +003374 6eba MOVWF 0xba,0x0 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -00334c d021 BRA 0x3390 else C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +003376 d021 BRA 0x33ba else C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // Trial: Spin here until there's space in the FIFO C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -00334e 5018 MOVF 0x18,0x0,0x0 while(gFIFOLength >= gCurrentFIFOLength) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -003350 5c14 SUBWF 0x14,0x0,0x0 -003352 e2fd BC 0x334e +003378 5018 MOVF 0x18,0x0,0x0 while(gFIFOLength >= gCurrentFIFOLength) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +00337a 5c14 SUBWF 0x14,0x0,0x0 +00337c e2fd BC 0x3378 ; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // Set up the motion queue command C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -003354 5015 MOVF 0x15,0x0,0x0 FIFOPtr[gFIFOIn].SEPower = StoredEngraverPower; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -003356 ec52 CALL 0x3ea4,0x0 -003358 f01f -00335a 0e2d MOVLW 0x2d -00335c da11 RCALL 0x3780 -00335e cb80 MOVFF 0xb80,0xfee -003360 ffee -003362 cb81 MOVFF 0xb81,0xfed -003364 ffed -003366 da83 RCALL 0x386e FIFOPtr[gFIFOIn].DelayCounter = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -003368 0e02 MOVLW 0x2 -00336a da0a RCALL 0x3780 -00336c 6aee CLRF 0xee,0x0 -00336e 6aee CLRF 0xee,0x0 -003370 6aee CLRF 0xee,0x0 -003372 6aee CLRF 0xee,0x0 -003374 da7c RCALL 0x386e FIFOPtr[gFIFOIn].SEState = State; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -003376 0e06 MOVLW 0x6 -003378 da03 RCALL 0x3780 -00337a cfdf MOVFF 0xfdf,0xfef -00337c ffef -003780 26e9 ADDWF 0xe9,0x1,0x0 -003782 0e00 MOVLW 0x0 -003784 22ea ADDWFC 0xea,0x1,0x0 -003786 0012 RETURN 0x0 -00337e da77 RCALL 0x386e FIFOPtr[gFIFOIn].Command = COMMAND_SE_BIT; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -003380 0e04 MOVLW 0x4 -003382 6eef MOVWF 0xef,0x0 -00386e 5015 MOVF 0x15,0x0,0x0 -003870 ef6c GOTO 0x40d8 -003872 f020 +00337e 5015 MOVF 0x15,0x0,0x0 FIFOPtr[gFIFOIn].SEPower = StoredEngraverPower; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +003380 ec62 CALL 0x3ec4,0x0 +003382 f01f +003384 0e2d MOVLW 0x2d +003386 da0f RCALL 0x37a6 +003388 c1ba MOVFF 0x1ba,0xfee +00338a ffee +00338c c1bb MOVFF 0x1bb,0xfed +00338e ffed +003390 da81 RCALL 0x3894 FIFOPtr[gFIFOIn].DelayCounter = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +003392 0e02 MOVLW 0x2 +003394 da08 RCALL 0x37a6 +003396 6aee CLRF 0xee,0x0 +003398 6aee CLRF 0xee,0x0 +00339a 6aee CLRF 0xee,0x0 +00339c 6aee CLRF 0xee,0x0 +00339e da7a RCALL 0x3894 FIFOPtr[gFIFOIn].SEState = State; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +0033a0 0e06 MOVLW 0x6 +0033a2 da01 RCALL 0x37a6 +0033a4 cfdf MOVFF 0xfdf,0xfef +0033a6 ffef +0037a6 26e9 ADDWF 0xe9,0x1,0x0 +0037a8 0e00 MOVLW 0x0 +0037aa 22ea ADDWFC 0xea,0x1,0x0 +0037ac 0012 RETURN 0x0 +0033a8 da75 RCALL 0x3894 FIFOPtr[gFIFOIn].Command = COMMAND_SE_BIT; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +0033aa 0e04 MOVLW 0x4 +0033ac 6eef MOVWF 0xef,0x0 +003894 5015 MOVF 0x15,0x0,0x0 +003896 ef7d GOTO 0x40fa +003898 f020 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -003384 2a15 INCF 0x15,0x1,0x0 gFIFOIn++; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -003386 5018 MOVF 0x18,0x0,0x0 if (gFIFOIn >= gCurrentFIFOLength) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -003388 5c15 SUBWF 0x15,0x0,0x0 -00338a e301 BNC 0x338e +0033ae 2a15 INCF 0x15,0x1,0x0 gFIFOIn++; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +0033b0 5018 MOVF 0x18,0x0,0x0 if (gFIFOIn >= gCurrentFIFOLength) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +0033b2 5c15 SUBWF 0x15,0x0,0x0 +0033b4 e301 BNC 0x33b8 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -00338c 6a15 CLRF 0x15,0x0 gFIFOIn = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +0033b6 6a15 CLRF 0x15,0x0 gFIFOIn = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -00338e 2a14 INCF 0x14,0x1,0x0 gFIFOLength++; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +0033b8 2a14 INCF 0x14,0x1,0x0 gFIFOLength++; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -003390 da03 RCALL 0x3798 print_line_ending(kLE_OK_NORM); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -003392 0e05 MOVLW 0x5 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -003394 5ce1 SUBWF 0xe1,0x0,0x0 -003396 e202 BC 0x339c -003398 6ae1 CLRF 0xe1,0x0 -00339a 52e5 MOVF 0xe5,0x1,0x0 -00339c d1cd BRA 0x3738 +0033ba da01 RCALL 0x37be print_line_ending(kLE_OK_NORM); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +0033bc 0e05 MOVLW 0x5 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +0033be 5ce1 SUBWF 0xe1,0x0,0x0 +0033c0 e202 BC 0x33c6 +0033c2 6ae1 CLRF 0xe1,0x0 +0033c4 52e5 MOVF 0xe5,0x1,0x0 +0033c6 d1cb BRA 0x375e C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // Do the work of the QM command so we can use this same code for QM and C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // for QG commands. C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -00339e ec80 CALL 0x4300,0x0 UINT8 process_QM(void) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0033a0 f021 -0033a2 dae2 RCALL 0x3968 +0033c8 ec8e CALL 0x431c,0x0 UINT8 process_QM(void) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +0033ca f021 +0033cc dae0 RCALL 0x398e { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c UINT8 CommandExecuting = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c UINT8 Motor1Running = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c UINT8 Motor2Running = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0033a4 0e03 MOVLW 0x3 UINT8 FIFOStatus = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0033a6 6adb CLRF 0xdb,0x0 +0033ce 0e03 MOVLW 0x3 UINT8 FIFOStatus = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +0033d0 6adb CLRF 0xdb,0x0 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // Need to turn off high priority interrupts briefly here to read out value that ISR uses C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0033a8 9ef2 BCF 0xf2,0x7,0x0 INTCONbits.GIEH = 0; // Turn high priority interrupts off C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +0033d2 9ef2 BCF 0xf2,0x7,0x0 INTCONbits.GIEH = 0; // Turn high priority interrupts off C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // Create our output values to print back to the PC C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0033aa 0101 MOVLB 0x1 if (CurrentCommand.DelayCounter != 0u) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0033ac ec62 CALL 0x3cc4,0x0 -0033ae f01e -0033b0 e002 BZ 0x33b6 +0033d4 0101 MOVLB 0x1 if (CurrentCommand.DelayCounter != 0u) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +0033d6 ec62 CALL 0x3cc4,0x0 +0033d8 f01e +0033da e002 BZ 0x33e0 003cc4 5182 MOVF 0x82,0x0,0x1 003cc6 1183 IORWF 0x83,0x0,0x1 003cc8 1184 IORWF 0x84,0x0,0x1 003cca 1185 IORWF 0x85,0x0,0x1 003ccc 0012 RETURN 0x0 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0033b2 0e01 MOVLW 0x1 CommandExecuting = 1; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0033b4 6edf MOVWF 0xdf,0x0 +0033dc 0e01 MOVLW 0x1 CommandExecuting = 1; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +0033de 6edf MOVWF 0xdf,0x0 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0033b6 5180 MOVF 0x80,0x0,0x1 if (CurrentCommand.Command != COMMAND_NONE_BIT) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0033b8 e002 BZ 0x33be +0033e0 5180 MOVF 0x80,0x0,0x1 if (CurrentCommand.Command != COMMAND_NONE_BIT) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +0033e2 e002 BZ 0x33e8 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0033ba 0e01 MOVLW 0x1 CommandExecuting = 1; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0033bc 6edf MOVWF 0xdf,0x0 +0033e4 0e01 MOVLW 0x1 CommandExecuting = 1; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +0033e6 6edf MOVWF 0xdf,0x0 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0033be 5014 MOVF 0x14,0x0,0x0 if (gFIFOLength) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0033c0 e006 BZ 0x33ce +0033e8 5014 MOVF 0x14,0x0,0x0 if (gFIFOLength) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +0033ea e006 BZ 0x33f8 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0033c2 0e01 MOVLW 0x1 CommandExecuting = 1; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0033c4 6edf MOVWF 0xdf,0x0 -0033c6 6ef3 MOVWF 0xf3,0x0 FIFOStatus = 1; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0033c8 0e03 MOVLW 0x3 -0033ca cff3 MOVFF 0xff3,0xfdb -0033cc ffdb +0033ec 0e01 MOVLW 0x1 CommandExecuting = 1; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +0033ee 6edf MOVWF 0xdf,0x0 +0033f0 6ef3 MOVWF 0xf3,0x0 FIFOStatus = 1; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +0033f2 0e03 MOVLW 0x3 +0033f4 cff3 MOVFF 0xff3,0xfdb +0033f6 ffdb } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0033ce 50df MOVF 0xdf,0x0,0x0 if (CommandExecuting && CurrentCommand.Steps[0] != 0u) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0033d0 e005 BZ 0x33dc -0033d2 dba7 RCALL 0x3b22 -0033d4 e003 BZ 0x33dc -003b22 518f MOVF 0x8f,0x0,0x1 -003b24 1190 IORWF 0x90,0x0,0x1 -003b26 1191 IORWF 0x91,0x0,0x1 -003b28 1192 IORWF 0x92,0x0,0x1 -003b2a 0012 RETURN 0x0 +0033f8 50df MOVF 0xdf,0x0,0x0 if (CommandExecuting && CurrentCommand.Steps[0] != 0u) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +0033fa e005 BZ 0x3406 +0033fc dbb6 RCALL 0x3b6a +0033fe e003 BZ 0x3406 +003b6a 518f MOVF 0x8f,0x0,0x1 +003b6c 1190 IORWF 0x90,0x0,0x1 +003b6e 1191 IORWF 0x91,0x0,0x1 +003b70 1192 IORWF 0x92,0x0,0x1 +003b72 0012 RETURN 0x0 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0033d6 52de MOVF 0xde,0x1,0x0 Motor1Running = 1; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0033d8 0e01 MOVLW 0x1 -0033da 6edd MOVWF 0xdd,0x0 +003400 52de MOVF 0xde,0x1,0x0 Motor1Running = 1; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +003402 0e01 MOVLW 0x1 +003404 6edd MOVWF 0xdd,0x0 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0033dc 50df MOVF 0xdf,0x0,0x0 if (CommandExecuting && CurrentCommand.Steps[1] != 0u) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0033de e006 BZ 0x33ec -0033e0 ec5d CALL 0x3cba,0x0 -0033e2 f01e -0033e4 e003 BZ 0x33ec +003406 50df MOVF 0xdf,0x0,0x0 if (CommandExecuting && CurrentCommand.Steps[1] != 0u) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +003408 e006 BZ 0x3416 +00340a ec5d CALL 0x3cba,0x0 +00340c f01e +00340e e003 BZ 0x3416 003cba 5193 MOVF 0x93,0x0,0x1 003cbc 1194 IORWF 0x94,0x0,0x1 003cbe 1195 IORWF 0x95,0x0,0x1 003cc0 1196 IORWF 0x96,0x0,0x1 003cc2 0012 RETURN 0x0 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0033e6 0e01 MOVLW 0x1 Motor2Running = 1; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0033e8 ecfb CALL 0x3df6,0x0 -0033ea f01e +003410 0e01 MOVLW 0x1 Motor2Running = 1; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +003412 ec0b CALL 0x3e16,0x0 +003414 f01f } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // Re-enable interrupts C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0033ec 8ef2 BSF 0xf2,0x7,0x0 INTCONbits.GIEH = 1; // Turn high priority interrupts on C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +003416 8ef2 BSF 0xf2,0x7,0x0 INTCONbits.GIEH = 1; // Turn high priority interrupts on C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0033ee 0e03 MOVLW 0x3 return ((CommandExecuting << 3) | (Motor1Running << 2) | (Motor2Running << 1) | FIFOStatus); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0033f0 cfdb MOVFF 0xfdb,0xfe6 -0033f2 ffe6 -0033f4 0e02 MOVLW 0x2 -0033f6 50db MOVF 0xdb,0x0,0x0 -0033f8 24e8 ADDWF 0xe8,0x0,0x0 -0033fa 6e34 MOVWF 0x34,0x0 -0033fc 0e01 MOVLW 0x1 -0033fe 50db MOVF 0xdb,0x0,0x0 -003400 0d04 MULLW 0x4 -003402 cff3 MOVFF 0xff3,0x33 -003404 f033 -003406 50df MOVF 0xdf,0x0,0x0 -003408 0d08 MULLW 0x8 -00340a 50f3 MOVF 0xf3,0x0,0x0 -00340c 1033 IORWF 0x33,0x0,0x0 -00340e 1034 IORWF 0x34,0x0,0x0 -003410 52e5 MOVF 0xe5,0x1,0x0 -003412 10e7 IORWF 0xe7,0x0,0x0 -003414 6e33 MOVWF 0x33,0x0 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -003416 0e04 MOVLW 0x4 -003418 5ce1 SUBWF 0xe1,0x0,0x0 -00341a e202 BC 0x3420 -00341c 6ae1 CLRF 0xe1,0x0 -00341e 52e5 MOVF 0xe5,0x1,0x0 -003420 6ee1 MOVWF 0xe1,0x0 -003422 5033 MOVF 0x33,0x0,0x0 -003424 efe1 GOTO 0x41c2 -003426 f020 +003418 0e03 MOVLW 0x3 return ((CommandExecuting << 3) | (Motor1Running << 2) | (Motor2Running << 1) | FIFOStatus); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +00341a cfdb MOVFF 0xfdb,0xfe6 +00341c ffe6 +00341e 0e02 MOVLW 0x2 +003420 50db MOVF 0xdb,0x0,0x0 +003422 24e8 ADDWF 0xe8,0x0,0x0 +003424 6e48 MOVWF 0x48,0x0 +003426 0e01 MOVLW 0x1 +003428 50db MOVF 0xdb,0x0,0x0 +00342a 0d04 MULLW 0x4 +00342c cff3 MOVFF 0xff3,0x47 +00342e f047 +003430 50df MOVF 0xdf,0x0,0x0 +003432 0d08 MULLW 0x8 +003434 50f3 MOVF 0xf3,0x0,0x0 +003436 1047 IORWF 0x47,0x0,0x0 +003438 1048 IORWF 0x48,0x0,0x0 +00343a 52e5 MOVF 0xe5,0x1,0x0 +00343c 10e7 IORWF 0xe7,0x0,0x0 +00343e 6e47 MOVWF 0x47,0x0 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +003440 0e04 MOVLW 0x4 +003442 5ce1 SUBWF 0xe1,0x0,0x0 +003444 e202 BC 0x344a +003446 6ae1 CLRF 0xe1,0x0 +003448 52e5 MOVF 0xe5,0x1,0x0 +00344a 6ee1 MOVWF 0xe1,0x0 +00344c 5047 MOVF 0x47,0x0,0x0 +00344e eff2 GOTO 0x41e4 +003450 f020 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // QM command C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // For Query Motor - returns the current status of each motor C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c @@ -14928,123 +14959,123 @@ Address Value Disassembly Source // As of version 2.4.4, there is now a fourth parameter at the end of the reply packet. C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // QM,,,, C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // Where is either 1 (if there are any commands in the FIFO) or 0 (if the FIFO is empty) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -003428 ec7b CALL 0x40f6,0x0 void parse_QM_packet(void) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -00342a f020 -003968 ec74 CALL 0x42e8,0x0 -0040f6 ec9f -0040f8 f01b WORD2 0x1b -0040fa 0e05 MOVLW 0x5 -0040fc efb4 GOTO 0x3968 +003452 ec8c CALL 0x4118,0x0 void parse_QM_packet(void) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +003454 f020 +00398e ec85 CALL 0x430a,0x0 +004118 ecb2 +00411a f01b WORD2 0x1b +00411c 0e05 MOVLW 0x5 +00411e efc7 GOTO 0x398e { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -00396a f021 UINT8 CommandExecuting = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0040fe f01c WORD2 0x1c +003990 f021 UINT8 CommandExecuting = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +004120 f01c WORD2 0x1c UINT8 Motor1Running = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -00396c 0e02 MOVLW 0x2 UINT8 Motor2Running = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -00396e 6adb CLRF 0xdb,0x0 -003970 0012 RETURN 0x0 -00342c 0e03 MOVLW 0x3 UINT8 FIFOStatus = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -00342e 6adb CLRF 0xdb,0x0 -003430 dfb6 RCALL 0x339e UINT8 result = process_QM(); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -003432 ec71 CALL 0x3ce2,0x0 -003434 f01e +003992 0e02 MOVLW 0x2 UINT8 Motor2Running = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +003994 6adb CLRF 0xdb,0x0 +003996 0012 RETURN 0x0 +003456 0e03 MOVLW 0x3 UINT8 FIFOStatus = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +003458 6adb CLRF 0xdb,0x0 +00345a dfb6 RCALL 0x33c8 UINT8 result = process_QM(); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +00345c ec71 CALL 0x3ce2,0x0 +00345e f01e 003ce2 6ee7 MOVWF 0xe7,0x0 003ce4 0e04 MOVLW 0x4 003ce6 cfe7 MOVFF 0xfe7,0xfdb 003ce8 ffdb 003cea 0012 RETURN 0x0 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -003436 0e01 MOVLW 0x1 print_command(TRUE, TRUE); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -003438 6ee6 MOVWF 0xe6,0x0 -00343a 6ee6 MOVWF 0xe6,0x0 -00343c ec04 CALL 0x5208,0x0 -00343e f029 -003440 52e5 MOVF 0xe5,0x1,0x0 -003442 52e5 MOVF 0xe5,0x1,0x0 +003460 0e01 MOVLW 0x1 print_command(TRUE, TRUE); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +003462 6ee6 MOVWF 0xe6,0x0 +003464 6ee6 MOVWF 0xe6,0x0 +003466 ec12 CALL 0x5224,0x0 +003468 f029 +00346a 52e5 MOVF 0xe5,0x1,0x0 +00346c 52e5 MOVF 0xe5,0x1,0x0 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -003444 0e04 MOVLW 0x4 if (result & 0x01) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -003446 b0db BTFSC 0xdb,0x0,0x0 +00346e 0e04 MOVLW 0x4 if (result & 0x01) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +003470 b0db BTFSC 0xdb,0x0,0x0 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -003448 db28 RCALL 0x3a9a FIFOStatus = 1; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -003a9a 0e01 MOVLW 0x1 -003a9c 6ef3 MOVWF 0xf3,0x0 -003a9e 0e03 MOVLW 0x3 -003aa0 cff3 MOVFF 0xff3,0xfdb -003aa2 ffdb -003aa4 0012 RETURN 0x0 +003472 db37 RCALL 0x3ae2 FIFOStatus = 1; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +003ae2 0e01 MOVLW 0x1 +003ae4 6ef3 MOVWF 0xf3,0x0 +003ae6 0e03 MOVLW 0x3 +003ae8 cff3 MOVFF 0xff3,0xfdb +003aea ffdb +003aec 0012 RETURN 0x0 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -00344a 0e04 MOVLW 0x4 if (result & 0x02) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -00344c a2db BTFSS 0xdb,0x1,0x0 -00344e d003 BRA 0x3456 +003474 0e04 MOVLW 0x4 if (result & 0x02) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +003476 a2db BTFSS 0xdb,0x1,0x0 +003478 d003 BRA 0x3480 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -003450 0e01 MOVLW 0x1 Motor2Running = 1; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -003452 ecfb CALL 0x3df6,0x0 -003454 f01e -003df6 6ef3 MOVWF 0xf3,0x0 -003df8 0e02 MOVLW 0x2 -003dfa cff3 MOVFF 0xff3,0xfdb -003dfc ffdb -003dfe 0012 RETURN 0x0 +00347a 0e01 MOVLW 0x1 Motor2Running = 1; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +00347c ec0b CALL 0x3e16,0x0 +00347e f01f +003e16 6ef3 MOVWF 0xf3,0x0 +003e18 0e02 MOVLW 0x2 +003e1a cff3 MOVFF 0xff3,0xfdb +003e1c ffdb +003e1e 0012 RETURN 0x0 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -003456 0e04 MOVLW 0x4 if (result & 0x04) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -003458 a4db BTFSS 0xdb,0x2,0x0 -00345a d003 BRA 0x3462 +003480 0e04 MOVLW 0x4 if (result & 0x04) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +003482 a4db BTFSS 0xdb,0x2,0x0 +003484 d003 BRA 0x348c { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -00345c 52de MOVF 0xde,0x1,0x0 Motor1Running = 1; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -00345e 0e01 MOVLW 0x1 -003460 6edd MOVWF 0xdd,0x0 +003486 52de MOVF 0xde,0x1,0x0 Motor1Running = 1; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +003488 0e01 MOVLW 0x1 +00348a 6edd MOVWF 0xdd,0x0 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -003462 0e04 MOVLW 0x4 if (result & 0x08) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -003464 a6db BTFSS 0xdb,0x3,0x0 -003466 d002 BRA 0x346c +00348c 0e04 MOVLW 0x4 if (result & 0x08) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +00348e a6db BTFSS 0xdb,0x3,0x0 +003490 d002 BRA 0x3496 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -003468 0e01 MOVLW 0x1 CommandExecuting = 1; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -00346a 6edf MOVWF 0xdf,0x0 +003492 0e01 MOVLW 0x1 CommandExecuting = 1; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +003494 6edf MOVWF 0xdf,0x0 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -00346c cfdf MOVFF 0xfdf,0x33 ebb_print_int(CommandExecuting); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -00346e f033 -003470 6a34 CLRF 0x34,0x0 -003472 ecd4 CALL 0x3fa8,0x0 -003474 f01f -0039c8 0e2c MOVLW 0x2c ebb_print_char(','); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0039ca 6ee6 MOVWF 0xe6,0x0 -0039cc ecb4 CALL 0x4b68,0x0 -0039ce f025 -0039d0 52e5 MOVF 0xe5,0x1,0x0 -0039d2 0012 RETURN 0x0 -003476 0e01 MOVLW 0x1 ebb_print_int(Motor1Running); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -003478 cfdb MOVFF 0xfdb,0x33 -00347a f033 -00347c 6a34 CLRF 0x34,0x0 -00347e ecd4 CALL 0x3fa8,0x0 -003480 f01f +003496 cfdf MOVFF 0xfdf,0x47 ebb_print_int(CommandExecuting); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +003498 f047 +00349a 6a48 CLRF 0x48,0x0 +00349c ece5 CALL 0x3fca,0x0 +00349e f01f +0039ee 0e2c MOVLW 0x2c ebb_print_char(','); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +0039f0 6ee6 MOVWF 0xe6,0x0 +0039f2 ecc2 CALL 0x4b84,0x0 +0039f4 f025 +0039f6 52e5 MOVF 0xe5,0x1,0x0 +0039f8 0012 RETURN 0x0 +0034a0 0e01 MOVLW 0x1 ebb_print_int(Motor1Running); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +0034a2 cfdb MOVFF 0xfdb,0x47 +0034a4 f047 +0034a6 6a48 CLRF 0x48,0x0 +0034a8 ece5 CALL 0x3fca,0x0 +0034aa f01f ebb_print_char(','); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -003482 0e02 MOVLW 0x2 ebb_print_int(Motor2Running); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -003484 cfdb MOVFF 0xfdb,0x33 -003486 f033 -003488 6a34 CLRF 0x34,0x0 -00348a ecd4 CALL 0x3fa8,0x0 -00348c f01f -003fa8 ec6c CALL 0x36d8,0x0 -003faa f01b -003fac ec92 CALL 0x3724,0x0 -003fae f01b -003fb0 efe4 GOTO 0x39c8 ebb_print_char(','); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -003fb2 f01c -00348e 0e03 MOVLW 0x3 ebb_print_int(FIFOStatus); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -003490 cfdb MOVFF 0xfdb,0x33 -003492 f033 -003494 6a34 CLRF 0x34,0x0 -003496 d920 RCALL 0x36d8 -003498 ec6d CALL 0x42da,0x0 -00349a f021 +0034ac 0e02 MOVLW 0x2 ebb_print_int(Motor2Running); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +0034ae cfdb MOVFF 0xfdb,0x47 +0034b0 f047 +0034b2 6a48 CLRF 0x48,0x0 +0034b4 ece5 CALL 0x3fca,0x0 +0034b6 f01f +003fca ec7f CALL 0x36fe,0x0 +003fcc f01b +003fce eca5 CALL 0x374a,0x0 +003fd0 f01b +003fd2 eff7 GOTO 0x39ee ebb_print_char(','); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +003fd4 f01c +0034b8 0e03 MOVLW 0x3 ebb_print_int(FIFOStatus); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +0034ba cfdb MOVFF 0xfdb,0x47 +0034bc f047 +0034be 6a48 CLRF 0x48,0x0 +0034c0 d91e RCALL 0x36fe +0034c2 ec7e CALL 0x42fc,0x0 +0034c4 f021 print_line_ending(kLE_REV); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -00349c 0e05 MOVLW 0x5 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -00349e 5ce1 SUBWF 0xe1,0x0,0x0 -0034a0 e202 BC 0x34a6 -0034a2 6ae1 CLRF 0xe1,0x0 -0034a4 52e5 MOVF 0xe5,0x1,0x0 -0034a6 d148 BRA 0x3738 +0034c6 0e05 MOVLW 0x5 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +0034c8 5ce1 SUBWF 0xe1,0x0,0x0 +0034ca e202 BC 0x34d0 +0034cc 6ae1 CLRF 0xe1,0x0 +0034ce 52e5 MOVF 0xe5,0x1,0x0 +0034d0 d146 BRA 0x375e C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // QS command C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // For Query Step position - returns the current x and y global step positions C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c @@ -15054,115 +15085,114 @@ Address Value Disassembly Source // where: C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // : signed 32 bit value, current global motor 1 step position C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // : signed 32 bit value, current global motor 2 step position C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0034a8 d94a RCALL 0x373e void parse_QS_packet(void) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0034aa 0e08 MOVLW 0x8 -0034ac 26e1 ADDWF 0xe1,0x1,0x0 +0034d2 d948 RCALL 0x3764 void parse_QS_packet(void) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +0034d4 0e08 MOVLW 0x8 +0034d6 26e1 ADDWF 0xe1,0x1,0x0 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c INT32 step1, step2; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0034ae ec0f CALL 0x401e,0x0 print_command(FALSE, TRUE); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0034b0 f020 -00401e 0e01 MOVLW 0x1 -004020 6ee6 MOVWF 0xe6,0x0 -004022 ef72 GOTO 0x36e4 -004024 f01b +0034d8 ec20 CALL 0x4040,0x0 print_command(FALSE, TRUE); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +0034da f020 +004040 0e01 MOVLW 0x1 +004042 6ee6 MOVWF 0xe6,0x0 +004044 ef85 GOTO 0x370a +004046 f01b C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // Need to turn off high priority interrupts briefly here to read out value that ISR uses C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0034b2 9ef2 BCF 0xf2,0x7,0x0 INTCONbits.GIEH = 0; // Turn high priority interrupts off C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +0034dc 9ef2 BCF 0xf2,0x7,0x0 INTCONbits.GIEH = 0; // Turn high priority interrupts off C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // Make a local copy of the things we care about C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0034b4 c01b MOVFF 0x1b,0xfdf step1 = globalStepCounter1; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0034b6 ffdf -0034b8 0e01 MOVLW 0x1 -0034ba c01c MOVFF 0x1c,0xfdb -0034bc ffdb -0034be 0e02 MOVLW 0x2 -0034c0 c01d MOVFF 0x1d,0xfdb -0034c2 ffdb -0034c4 0e03 MOVLW 0x3 -0034c6 c01e MOVFF 0x1e,0xfdb -0034c8 ffdb -0034ca 0e04 MOVLW 0x4 step2 = globalStepCounter2; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0034cc c01f MOVFF 0x1f,0xfdb -0034ce ffdb -0034d0 0e05 MOVLW 0x5 -0034d2 c020 MOVFF 0x20,0xfdb -0034d4 ffdb -0034d6 0e06 MOVLW 0x6 -0034d8 c021 MOVFF 0x21,0xfdb -0034da ffdb -0034dc 0e07 MOVLW 0x7 -0034de c022 MOVFF 0x22,0xfdb -0034e0 ffdb +0034de c01b MOVFF 0x1b,0xfdf step1 = globalStepCounter1; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +0034e0 ffdf +0034e2 0e01 MOVLW 0x1 +0034e4 c01c MOVFF 0x1c,0xfdb +0034e6 ffdb +0034e8 0e02 MOVLW 0x2 +0034ea c01d MOVFF 0x1d,0xfdb +0034ec ffdb +0034ee 0e03 MOVLW 0x3 +0034f0 c01e MOVFF 0x1e,0xfdb +0034f2 ffdb +0034f4 0e04 MOVLW 0x4 step2 = globalStepCounter2; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +0034f6 c01f MOVFF 0x1f,0xfdb +0034f8 ffdb +0034fa 0e05 MOVLW 0x5 +0034fc c020 MOVFF 0x20,0xfdb +0034fe ffdb +003500 0e06 MOVLW 0x6 +003502 c021 MOVFF 0x21,0xfdb +003504 ffdb +003506 0e07 MOVLW 0x7 +003508 c022 MOVFF 0x22,0xfdb +00350a ffdb C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // Re-enable interrupts C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0034e2 8ef2 BSF 0xf2,0x7,0x0 INTCONbits.GIEH = 1; // Turn high priority interrupts on C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +00350c 8ef2 BSF 0xf2,0x7,0x0 INTCONbits.GIEH = 1; // Turn high priority interrupts on C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0034e4 cfd9 MOVFF 0xfd9,0xfe9 ebb_print_int(step1); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0034e6 ffe9 -0034e8 ecfa CALL 0x3ff4,0x0 -0034ea f01f -003ff4 cfda MOVFF 0xfda,0xfea -003ff6 ffea -003ff8 cfee MOVFF 0xfee,0xfe6 -003ffa ffe6 -003ffc cfee MOVFF 0xfee,0xfe6 -003ffe ffe6 -004000 cfee MOVFF 0xfee,0xfe6 -004002 ffe6 -004004 cfef MOVFF 0xfef,0xfe6 -004006 ffe6 -004008 ef92 GOTO 0x3724 -00400a f01b -0034ec da6d RCALL 0x39c8 ebb_print_char(','); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0034ee 50d9 MOVF 0xd9,0x0,0x0 ebb_print_int(step2); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0034f0 0f04 ADDLW 0x4 -0034f2 6ee9 MOVWF 0xe9,0x0 -0034f4 ecfa CALL 0x3ff4,0x0 -0034f6 f01f -003724 ec88 CALL 0x8710,0x0 -003726 f043 -003728 52e5 MOVF 0xe5,0x1,0x0 -00372a ef30 GOTO 0x4060 -00372c f020 -0034f8 010b MOVLB 0xb if (!bittstzero(gStandardizedCommandFormat)) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0034fa a184 BTFSS 0x84,0x0,0x1 +00350e cfd9 MOVFF 0xfd9,0xfe9 ebb_print_int(step1); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +003510 ffe9 +003512 ec0b CALL 0x4016,0x0 +003514 f020 +004016 cfda MOVFF 0xfda,0xfea +004018 ffea +00401a cfee MOVFF 0xfee,0xfe6 +00401c ffe6 +00401e cfee MOVFF 0xfee,0xfe6 +004020 ffe6 +004022 cfee MOVFF 0xfee,0xfe6 +004024 ffe6 +004026 cfef MOVFF 0xfef,0xfe6 +004028 ffe6 +00402a efa5 GOTO 0x374a +00402c f01b +003516 da6b RCALL 0x39ee ebb_print_char(','); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +003518 50d9 MOVF 0xd9,0x0,0x0 ebb_print_int(step2); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +00351a 0f04 ADDLW 0x4 +00351c 6ee9 MOVWF 0xe9,0x0 +00351e ec0b CALL 0x4016,0x0 +003520 f020 +00374a ec96 CALL 0x872c,0x0 +00374c f043 +00374e 52e5 MOVF 0xe5,0x1,0x0 +003750 ef41 GOTO 0x4082 +003752 f020 +003522 0101 MOVLB 0x1 if (!bittstzero(gStandardizedCommandFormat)) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +003524 a1be BTFSS 0xbe,0x0,0x1 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0034fc d945 RCALL 0x3788 print_line_ending(kLE_REV); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -003788 0e02 MOVLW 0x2 -00378a 6ee6 MOVWF 0xe6,0x0 -00378c efe5 GOTO 0x41ca -00378e f020 +003526 d943 RCALL 0x37ae print_line_ending(kLE_REV); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +0037ae 0e02 MOVLW 0x2 +0037b0 6ee6 MOVWF 0xe6,0x0 +0037b2 eff6 GOTO 0x41ec +0037b4 f020 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -0034fe d94c RCALL 0x3798 print_line_ending(kLE_OK_NORM); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -003500 0e08 MOVLW 0x8 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -003502 5ce1 SUBWF 0xe1,0x0,0x0 -003504 e202 BC 0x350a -003506 6ae1 CLRF 0xe1,0x0 -003508 52e5 MOVF 0xe5,0x1,0x0 -00350a d116 BRA 0x3738 -003738 6ee1 MOVWF 0xe1,0x0 -00373a efe1 GOTO 0x41c2 -00373c f020 +003528 d94a RCALL 0x37be print_line_ending(kLE_OK_NORM); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +00352a 0e08 MOVLW 0x8 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +00352c 5ce1 SUBWF 0xe1,0x0,0x0 +00352e e202 BC 0x3534 +003530 6ae1 CLRF 0xe1,0x0 +003532 52e5 MOVF 0xe5,0x1,0x0 +003534 d114 BRA 0x375e +00375e 6ee1 MOVWF 0xe1,0x0 +003760 eff2 GOTO 0x41e4 +003762 f020 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // Perform the actual clearing of the step counters (used from several places) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c void clear_StepCounters(void) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // Need to turn off high priority interrupts briefly here to read out value that ISR uses C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -00350c 9ef2 BCF 0xf2,0x7,0x0 INTCONbits.GIEH = 0; // Turn high priority interrupts off C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +003536 9ef2 BCF 0xf2,0x7,0x0 INTCONbits.GIEH = 0; // Turn high priority interrupts off C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // Clear out the global step counters C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -00350e db2a RCALL 0x3b64 globalStepCounter1 = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +003538 da60 RCALL 0x39fa globalStepCounter1 = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c globalStepCounter2 = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // Clear both step accumulators as well C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -003510 0101 MOVLB 0x1 acc_union[0].value = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -003512 db31 RCALL 0x3b76 + acc_union[0].value = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c acc_union[1].value = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // Re-enable interrupts C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -003514 8ef2 BSF 0xf2,0x7,0x0 INTCONbits.GIEH = 1; // Turn high priority interrupts on C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -003516 0012 RETURN 0x0 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +00353a 8ef2 BSF 0xf2,0x7,0x0 INTCONbits.GIEH = 1; // Turn high priority interrupts on C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +00353c 0012 RETURN 0x0 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // CS command C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c // For Clear Stepper position - zeros out both step1 and step2 global positions C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c @@ -15172,16 +15202,16 @@ Address Value Disassembly Source // Note, as of 2.7.0 this also clears out the step accumulators as well C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c void parse_CS_packet(void) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -003518 ec84 CALL 0x4308,0x0 print_command(FALSE, FALSE); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -00351a f021 +00353e ec92 CALL 0x4324,0x0 print_command(FALSE, FALSE); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +003540 f021 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -00351c dff7 RCALL 0x350c clear_StepCounters(); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +003542 dff9 RCALL 0x3536 clear_StepCounters(); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -00351e efcc GOTO 0x3798 print_line_ending(kLE_OK_NORM); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c -003520 f01b -003798 6ae6 CLRF 0xe6,0x0 -00379a efe5 GOTO 0x41ca -00379c f020 +003544 efdf GOTO 0x37be print_line_ending(kLE_OK_NORM); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c +003546 f01b +0037be 6ae6 CLRF 0xe6,0x0 +0037c0 eff6 GOTO 0x41ec +0037c2 f020 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb.c /********************************************************************* C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c * C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c @@ -15310,7 +15340,7 @@ Address Value Disassembly Source #pragma code REMAPPED_RESET_VECTOR = REMAPPED_RESET_VECTOR_ADDRESS C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c void _reset (void) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c -001000 ef77 GOTO 0x90ee _asm goto _startup _endasm C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c +001000 ef85 GOTO 0x910a _asm goto _startup _endasm C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c 001002 f048 001004 0012 RETURN 0x0 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c #endif C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c @@ -15323,7 +15353,7 @@ Address Value Disassembly Source #pragma code REMAPPED_LOW_INTERRUPT_VECTOR = REMAPPED_LOW_INTERRUPT_VECTOR_ADDRESS C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c void Remapped_Low_ISR (void) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c -001018 efa9 GOTO 0x4352 _asm goto low_ISR _endasm C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c +001018 efb7 GOTO 0x436e _asm goto low_ISR _endasm C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c 00101a f021 00101c 0012 RETURN 0x0 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c @@ -15346,12 +15376,12 @@ Address Value Disassembly Source *****************************************************************************/ C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c void main(void) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c -008a38 ec64 CALL 0x46c8,0x0 fill_stack(); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c -008a3a f023 +008a54 ec72 CALL 0x46e4,0x0 fill_stack(); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c +008a56 f023 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c -008a3c d805 RCALL 0x8a48 InitializeSystem(); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c +008a58 d805 RCALL 0x8a64 InitializeSystem(); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c -008a46 d7fb BRA 0x8a3e while(1) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c +008a62 d7fb BRA 0x8a5a while(1) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c #if defined(USB_INTERRUPT) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c if(USB_BUS_SENSE && (USBGetDeviceState() == DETACHED_STATE)) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c @@ -15361,8 +15391,8 @@ Address Value Disassembly Source #endif C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c #if defined(USB_POLLING) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c // Check bus status and service USB interrupts. C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c -008a3e ecbc CALL 0x6d78,0x0 USBDeviceTasks(); // Interrupt or polling method. If using polling, must call C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c -008a40 f036 +008a5a ecca CALL 0x6d94,0x0 USBDeviceTasks(); // Interrupt or polling method. If using polling, must call C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c +008a5c f036 // this function periodically. This function will take care C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c // of processing and responding to SETUP transactions C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c // (such as during the enumeration process when you first C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c @@ -15377,8 +15407,8 @@ Address Value Disassembly Source #endif C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c // Application-specific tasks. C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c // Application related code may be added here, or in the ProcessIO() function. C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c -008a42 ec9c CALL 0x4938,0x0 ProcessIO(); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c -008a44 f024 +008a5e ecaa CALL 0x4954,0x0 ProcessIO(); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c +008a60 f024 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c @@ -15402,24 +15432,24 @@ Address Value Disassembly Source * C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c * Note: None C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c *****************************************************************************/ C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c -008a48 cfd9 MOVFF 0xfd9,0xfe6 static void InitializeSystem(void) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c -008a4a ffe6 -008a4c cfe1 MOVFF 0xfe1,0xfd9 -008a4e ffd9 -008a50 0e02 MOVLW 0x2 -008a52 26e1 ADDWF 0xe1,0x1,0x0 +008a64 cfd9 MOVFF 0xfd9,0xfe6 static void InitializeSystem(void) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c +008a66 ffe6 +008a68 cfe1 MOVFF 0xfe1,0xfd9 +008a6a ffd9 +008a6c 0e02 MOVLW 0x2 +008a6e 26e1 ADDWF 0xe1,0x1,0x0 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c unsigned int pll_startup_counter; //Used for software delay while PLL is starting up C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c // Configure all I/O pins to use digital input buffers. The PIC18F87J50 Family devices C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c // use the ANCONx registers to control this, which is different from other devices which C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c // use the ADCON1 register for this purpose. C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c -008a54 010f MOVLB 0xf ANCON0 = 0xFF; // Default all pins to digital C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c -008a56 6948 SETF 0x48,0x1 -008a58 6949 SETF 0x49,0x1 ANCON1 = 0xFF; // Default all pins to digital C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c +008a70 010f MOVLB 0xf ANCON0 = 0xFF; // Default all pins to digital C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c +008a72 6948 SETF 0x48,0x1 +008a74 6949 SETF 0x49,0x1 ANCON1 = 0xFF; // Default all pins to digital C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c -008a5a 0e60 MOVLW 0x60 OSCCON = 0x60; // Clock switch to primary clock source. May not have been running C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c -008a5c 6ed3 MOVWF 0xd3,0x0 +008a76 0e60 MOVLW 0x60 OSCCON = 0x60; // Clock switch to primary clock source. May not have been running C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c +008a78 6ed3 MOVWF 0xd3,0x0 // from this if the bootloader is called from the application firmware. C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c // On the PIC18F46J50 Family of USB microcontrollers, the PLL will not power up and be enabled C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c @@ -15429,22 +15459,22 @@ Address Value Disassembly Source // operation. On these devices, user firmware needs to manually set the OSCTUNE bit to C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c // power up the PLL. C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c -008a5e 8c9b BSF 0x9b,0x6,0x0 OSCTUNEbits.PLLEN = 1; // Enable the PLL and wait 2+ms until the PLL locks before enabling USB module C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c -008a60 0e58 MOVLW 0x58 pll_startup_counter = 600; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c -008a62 6ede MOVWF 0xde,0x0 -008a64 0e02 MOVLW 0x2 -008a66 6edd MOVWF 0xdd,0x0 -008a68 cfdf MOVFF 0xfdf,0x33 while(pll_startup_counter--) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c -008a6a f033 -008a6c 06df DECF 0xdf,0x1,0x0 -008a6e 0e01 MOVLW 0x1 -008a70 cfdb MOVFF 0xfdb,0x34 -008a72 f034 -008a74 e201 BC 0x8a78 -008a76 06db DECF 0xdb,0x1,0x0 -008a78 5033 MOVF 0x33,0x0,0x0 -008a7a 1034 IORWF 0x34,0x0,0x0 -008a7c e1f5 BNZ 0x8a68 +008a7a 8c9b BSF 0x9b,0x6,0x0 OSCTUNEbits.PLLEN = 1; // Enable the PLL and wait 2+ms until the PLL locks before enabling USB module C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c +008a7c 0e58 MOVLW 0x58 pll_startup_counter = 600; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c +008a7e 6ede MOVWF 0xde,0x0 +008a80 0e02 MOVLW 0x2 +008a82 6edd MOVWF 0xdd,0x0 +008a84 cfdf MOVFF 0xfdf,0x47 while(pll_startup_counter--) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c +008a86 f047 +008a88 06df DECF 0xdf,0x1,0x0 +008a8a 0e01 MOVLW 0x1 +008a8c cfdb MOVFF 0xfdb,0x48 +008a8e f048 +008a90 e201 BC 0x8a94 +008a92 06db DECF 0xdb,0x1,0x0 +008a94 5047 MOVF 0x47,0x0,0x0 +008a96 1048 IORWF 0x48,0x0,0x0 +008a98 e1f5 BNZ 0x8a84 ; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c // Device switches over automatically to PLL output after PLL is locked and ready. C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c @@ -15466,7 +15496,7 @@ Address Value Disassembly Source // sense feature by making sure "USE_USB_BUS_SENSE_IO" has been defined in the C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c // HardwareProfile.h file. C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c #if defined(USE_USB_BUS_SENSE_IO) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c -008a7e 8e94 BSF 0x94,0x7,0x0 tris_usb_bus_sense = INPUT_PIN; // See HardwareProfile.h C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c +008a9a 8e94 BSF 0x94,0x7,0x0 tris_usb_bus_sense = INPUT_PIN; // See HardwareProfile.h C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c #endif C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c // If the host PC sends a GetStatus (device) request, the firmware must respond C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c @@ -15484,22 +15514,22 @@ Address Value Disassembly Source #if defined(USE_SELF_POWER_SENSE_IO) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c tris_self_power = INPUT_PIN; // See HardwareProfile.h C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c #endif C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c -008a80 ecd6 CALL 0x47ac,0x0 UserInit(); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c -008a82 f023 +008a9c ece4 CALL 0x47c8,0x0 UserInit(); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c +008a9e f023 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c -008a84 ec56 CALL 0x6cac,0x0 USBDeviceInit(); // usb_device.c. Initializes USB module SFRs and firmware C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c -008a86 f036 +008aa0 ec64 CALL 0x6cc8,0x0 USBDeviceInit(); // usb_device.c. Initializes USB module SFRs and firmware C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c +008aa2 f036 // variables to known states. C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c -008a88 0e02 MOVLW 0x2 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c -008a8a 5ce1 SUBWF 0xe1,0x0,0x0 -008a8c e202 BC 0x8a92 -008a8e 6ae1 CLRF 0xe1,0x0 -008a90 52e5 MOVF 0xe5,0x1,0x0 -008a92 6ee1 MOVWF 0xe1,0x0 -008a94 52e5 MOVF 0xe5,0x1,0x0 -008a96 cfe7 MOVFF 0xfe7,0xfd9 -008a98 ffd9 -008a9a 0012 RETURN 0x0 +008aa4 0e02 MOVLW 0x2 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c +008aa6 5ce1 SUBWF 0xe1,0x0,0x0 +008aa8 e202 BC 0x8aae +008aaa 6ae1 CLRF 0xe1,0x0 +008aac 52e5 MOVF 0xe5,0x1,0x0 +008aae 6ee1 MOVWF 0xe1,0x0 +008ab0 52e5 MOVF 0xe5,0x1,0x0 +008ab2 cfe7 MOVFF 0xfe7,0xfd9 +008ab4 ffd9 +008ab6 0012 RETURN 0x0 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c // ****************************************************************************************************** C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c // ************** USB Callback Functions **************************************************************** C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c @@ -15555,7 +15585,7 @@ Address Value Disassembly Source #if defined(__C30__) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c USBSleepOnSuspend(); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c #endif C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c -008a9c 0012 RETURN 0x0 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c +008ab8 0012 RETURN 0x0 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c /****************************************************************************** C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c * Function: void USBCBWakeFromSuspend(void) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c @@ -15588,7 +15618,7 @@ Address Value Disassembly Source // packets. In order to do this, the USB module must receive proper C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c // clocking (IE: 48MHz clock must be available to SIE for full speed USB C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c // operation). C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c -008a9e 0012 RETURN 0x0 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c +008aba 0012 RETURN 0x0 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c /******************************************************************** C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c * Function: void USBCB_SOF_Handler(void) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c @@ -15612,7 +15642,7 @@ Address Value Disassembly Source { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c // No need to clear UIRbits.SOFIF to 0 here. C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c // Callback caller is already doing that. C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c -008aa0 0012 RETURN 0x0 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c +008abc 0012 RETURN 0x0 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c /******************************************************************* C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c * Function: void USBCBErrorHandler(void) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c @@ -15651,7 +15681,7 @@ Address Value Disassembly Source C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c // Nevertheless, this callback function is provided, such as C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c // for debugging purposes. C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c -008aa2 0012 RETURN 0x0 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c +008abe 0012 RETURN 0x0 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c /******************************************************************* C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c * Function: void USBCBCheckOtherReq(void) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c @@ -15683,8 +15713,8 @@ Address Value Disassembly Source *******************************************************************/ C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c void USBCBCheckOtherReq(void) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c -008aa4 ef32 GOTO 0x8264 USBCheckCDCRequest(); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c -008aa6 f041 +008ac0 ef40 GOTO 0x8280 USBCheckCDCRequest(); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c +008ac2 f041 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c /******************************************************************* C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c @@ -15709,7 +15739,7 @@ Address Value Disassembly Source void USBCBStdSetDscHandler(void) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c // Must claim session ownership if supporting this request C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c -008aa8 0012 RETURN 0x0 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c +008ac4 0012 RETURN 0x0 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c /******************************************************************* C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c * Function: void USBCBInitEP(void) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c @@ -15733,8 +15763,8 @@ Address Value Disassembly Source *******************************************************************/ C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c void USBCBInitEP(void) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c -008aaa ef80 GOTO 0x8300 CDCInitEP(); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c -008aac f041 +008ac6 ef8e GOTO 0x831c CDCInitEP(); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c +008ac8 f041 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c /******************************************************************** C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c @@ -15837,23 +15867,23 @@ Address Value Disassembly Source // properties page for the USB device, power management tab, the C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c // "Allow this device to bring the computer out of standby." check box C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c // should be checked). C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c -008aae 0101 MOVLB 0x1 if (USBGetRemoteWakeupStatus() == TRUE) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c -008ab0 05e6 DECF 0xe6,0x0,0x1 -008ab2 e11e BNZ 0x8af0 +008aca 0105 MOVLB 0x5 if (USBGetRemoteWakeupStatus() == TRUE) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c +008acc 05cb DECF 0xcb,0x0,0x1 +008ace e11e BNZ 0x8b0c { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c // Verify that the USB bus is in fact suspended, before we send C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c // remote wakeup signaling. C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c -008ab4 0101 MOVLB 0x1 if (USBIsBusSuspended() == TRUE) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c -008ab6 05e7 DECF 0xe7,0x0,0x1 -008ab8 e11b BNZ 0x8af0 +008ad0 0105 MOVLB 0x5 if (USBIsBusSuspended() == TRUE) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c +008ad2 05cc DECF 0xcc,0x0,0x1 +008ad4 e11b BNZ 0x8b0c { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c USBMaskInterrupts(); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c // Clock switch to settings consistent with normal USB operation. C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c -008aba dff1 RCALL 0x8a9e USBCBWakeFromSuspend(); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c -008abc 9265 BCF 0x65,0x1,0x0 USBSuspendControl = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c -008abe 0101 MOVLB 0x1 USBBusIsSuspended = FALSE; // So we don't execute this code again, C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c -008ac0 6be7 CLRF 0xe7,0x1 +008ad6 dff1 RCALL 0x8aba USBCBWakeFromSuspend(); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c +008ad8 9265 BCF 0x65,0x1,0x0 USBSuspendControl = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c +008ada 0105 MOVLB 0x5 USBBusIsSuspended = FALSE; // So we don't execute this code again, C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c +008adc 6bcc CLRF 0xcc,0x1 // until a new suspend condition is detected. C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c // Section 7.1.7.7 of the USB 2.0 specifications indicates a USB C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c @@ -15862,40 +15892,40 @@ Address Value Disassembly Source // gets met, is to add a 2ms+ blocking delay here (2ms plus at C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c // least 3ms from bus idle to USBIsBusSuspended() == TRUE, yields C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c // 5ms+ total delay since start of idle). C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c -008ac2 0102 MOVLB 0x2 delay_count = 3600U; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c -008ac4 0e10 MOVLW 0x10 -008ac6 6ffe MOVWF 0xfe,0x1 -008ac8 0e0e MOVLW 0xe -008aca 6fff MOVWF 0xff,0x1 +008ade 0102 MOVLB 0x2 delay_count = 3600U; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c +008ae0 0e10 MOVLW 0x10 +008ae2 6ffe MOVWF 0xfe,0x1 +008ae4 0e0e MOVLW 0xe +008ae6 6fff MOVWF 0xff,0x1 do C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c -008acc 07fe DECF 0xfe,0x1,0x1 delay_count--; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c -008ace 0e00 MOVLW 0x0 -008ad0 5bff SUBWFB 0xff,0x1,0x1 -008ad2 51fe MOVF 0xfe,0x0,0x1 }while(delay_count); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c -008ad4 11ff IORWF 0xff,0x0,0x1 -008ad6 e1fa BNZ 0x8acc +008ae8 07fe DECF 0xfe,0x1,0x1 delay_count--; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c +008aea 0e00 MOVLW 0x0 +008aec 5bff SUBWFB 0xff,0x1,0x1 +008aee 51fe MOVF 0xfe,0x0,0x1 }while(delay_count); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c +008af0 11ff IORWF 0xff,0x0,0x1 +008af2 e1fa BNZ 0x8ae8 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c // Now drive the resume K-state signaling onto the USB bus. C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c -008ad8 8465 BSF 0x65,0x2,0x0 USBResumeControl = 1; // Start RESUME signaling C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c -008ada 0e08 MOVLW 0x8 delay_count = 1800U; // Set RESUME line for 1-13 ms C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c -008adc 6ffe MOVWF 0xfe,0x1 -008ade 0e07 MOVLW 0x7 -008ae0 6fff MOVWF 0xff,0x1 +008af4 8465 BSF 0x65,0x2,0x0 USBResumeControl = 1; // Start RESUME signaling C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c +008af6 0e08 MOVLW 0x8 delay_count = 1800U; // Set RESUME line for 1-13 ms C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c +008af8 6ffe MOVWF 0xfe,0x1 +008afa 0e07 MOVLW 0x7 +008afc 6fff MOVWF 0xff,0x1 do C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c -008ae2 07fe DECF 0xfe,0x1,0x1 delay_count--; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c -008ae4 0e00 MOVLW 0x0 -008ae6 5bff SUBWFB 0xff,0x1,0x1 -008ae8 51fe MOVF 0xfe,0x0,0x1 }while(delay_count); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c -008aea 11ff IORWF 0xff,0x0,0x1 -008aec e1fa BNZ 0x8ae2 -008aee 9465 BCF 0x65,0x2,0x0 USBResumeControl = 0; // Finished driving resume signaling C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c +008afe 07fe DECF 0xfe,0x1,0x1 delay_count--; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c +008b00 0e00 MOVLW 0x0 +008b02 5bff SUBWFB 0xff,0x1,0x1 +008b04 51fe MOVF 0xfe,0x0,0x1 }while(delay_count); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c +008b06 11ff IORWF 0xff,0x0,0x1 +008b08 e1fa BNZ 0x8afe +008b0a 9465 BCF 0x65,0x2,0x0 USBResumeControl = 0; // Finished driving resume signaling C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c USBUnmaskInterrupts(); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c -008af0 0012 RETURN 0x0 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c +008b0c 0012 RETURN 0x0 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c /******************************************************************* C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c * Function: void USBCBEP0DataReceived(void) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c @@ -15948,87 +15978,87 @@ Address Value Disassembly Source * C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c * Note: None C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c *******************************************************************/ C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c -008af2 cfd9 MOVFF 0xfd9,0xfe6 BOOL USER_USB_CALLBACK_EVENT_HANDLER(USB_EVENT event, void *pdata, WORD size) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c -008af4 ffe6 -008af6 cfe1 MOVFF 0xfe1,0xfd9 -008af8 ffd9 +008b0e cfd9 MOVFF 0xfd9,0xfe6 BOOL USER_USB_CALLBACK_EVENT_HANDLER(USB_EVENT event, void *pdata, WORD size) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c +008b10 ffe6 +008b12 cfe1 MOVFF 0xfe1,0xfd9 +008b14 ffd9 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c -008afa 0efd MOVLW 0xfd switch(event) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c -008afc cfdb MOVFF 0xfdb,0x2b -008afe f02b -008b00 0efe MOVLW 0xfe -008b02 cfdb MOVFF 0xfdb,0x2c -008b04 f02c -008b06 0e05 MOVLW 0x5 -008b08 182b XORWF 0x2b,0x0,0x0 -008b0a e101 BNZ 0x8b0e -008b0c 502c MOVF 0x2c,0x0,0x0 -008b0e e036 BZ 0x8b7c -008b10 68e8 SETF 0xe8,0x0 -008b12 182b XORWF 0x2b,0x0,0x0 -008b14 e102 BNZ 0x8b1a -008b16 0e7f MOVLW 0x7f -008b18 182c XORWF 0x2c,0x0,0x0 -008b1a e02f BZ 0x8b7a -008b1c 0e03 MOVLW 0x3 -008b1e 182b XORWF 0x2b,0x0,0x0 -008b20 e101 BNZ 0x8b24 -008b22 502c MOVF 0x2c,0x0,0x0 -008b24 e028 BZ 0x8b76 -008b26 0e02 MOVLW 0x2 -008b28 182b XORWF 0x2b,0x0,0x0 -008b2a e101 BNZ 0x8b2e -008b2c 502c MOVF 0x2c,0x0,0x0 -008b2e e021 BZ 0x8b72 -008b30 0e01 MOVLW 0x1 -008b32 182b XORWF 0x2b,0x0,0x0 -008b34 e101 BNZ 0x8b38 -008b36 502c MOVF 0x2c,0x0,0x0 -008b38 e01a BZ 0x8b6e -008b3a 0e74 MOVLW 0x74 -008b3c 182b XORWF 0x2b,0x0,0x0 -008b3e e101 BNZ 0x8b42 -008b40 502c MOVF 0x2c,0x0,0x0 -008b42 e013 BZ 0x8b6a -008b44 0e75 MOVLW 0x75 -008b46 182b XORWF 0x2b,0x0,0x0 -008b48 e101 BNZ 0x8b4c -008b4a 502c MOVF 0x2c,0x0,0x0 -008b4c e00c BZ 0x8b66 -008b4e 0e73 MOVLW 0x73 -008b50 182b XORWF 0x2b,0x0,0x0 -008b52 e101 BNZ 0x8b56 -008b54 502c MOVF 0x2c,0x0,0x0 -008b56 e005 BZ 0x8b62 -008b58 0e72 MOVLW 0x72 -008b5a 182b XORWF 0x2b,0x0,0x0 -008b5c e10f BNZ 0x8b7c -008b5e 502c MOVF 0x2c,0x0,0x0 -008b60 d00d BRA 0x8b7c +008b16 0efd MOVLW 0xfd switch(event) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c +008b18 cfdb MOVFF 0xfdb,0x3f +008b1a f03f +008b1c 0efe MOVLW 0xfe +008b1e cfdb MOVFF 0xfdb,0x40 +008b20 f040 +008b22 0e05 MOVLW 0x5 +008b24 183f XORWF 0x3f,0x0,0x0 +008b26 e101 BNZ 0x8b2a +008b28 5040 MOVF 0x40,0x0,0x0 +008b2a e036 BZ 0x8b98 +008b2c 68e8 SETF 0xe8,0x0 +008b2e 183f XORWF 0x3f,0x0,0x0 +008b30 e102 BNZ 0x8b36 +008b32 0e7f MOVLW 0x7f +008b34 1840 XORWF 0x40,0x0,0x0 +008b36 e02f BZ 0x8b96 +008b38 0e03 MOVLW 0x3 +008b3a 183f XORWF 0x3f,0x0,0x0 +008b3c e101 BNZ 0x8b40 +008b3e 5040 MOVF 0x40,0x0,0x0 +008b40 e028 BZ 0x8b92 +008b42 0e02 MOVLW 0x2 +008b44 183f XORWF 0x3f,0x0,0x0 +008b46 e101 BNZ 0x8b4a +008b48 5040 MOVF 0x40,0x0,0x0 +008b4a e021 BZ 0x8b8e +008b4c 0e01 MOVLW 0x1 +008b4e 183f XORWF 0x3f,0x0,0x0 +008b50 e101 BNZ 0x8b54 +008b52 5040 MOVF 0x40,0x0,0x0 +008b54 e01a BZ 0x8b8a +008b56 0e74 MOVLW 0x74 +008b58 183f XORWF 0x3f,0x0,0x0 +008b5a e101 BNZ 0x8b5e +008b5c 5040 MOVF 0x40,0x0,0x0 +008b5e e013 BZ 0x8b86 +008b60 0e75 MOVLW 0x75 +008b62 183f XORWF 0x3f,0x0,0x0 +008b64 e101 BNZ 0x8b68 +008b66 5040 MOVF 0x40,0x0,0x0 +008b68 e00c BZ 0x8b82 +008b6a 0e73 MOVLW 0x73 +008b6c 183f XORWF 0x3f,0x0,0x0 +008b6e e101 BNZ 0x8b72 +008b70 5040 MOVF 0x40,0x0,0x0 +008b72 e005 BZ 0x8b7e +008b74 0e72 MOVLW 0x72 +008b76 183f XORWF 0x3f,0x0,0x0 +008b78 e10f BNZ 0x8b98 +008b7a 5040 MOVF 0x40,0x0,0x0 +008b7c d00d BRA 0x8b98 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c case EVENT_TRANSFER: C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c // Add application specific callback task or callback function here if desired. C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c break; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c case EVENT_SOF: C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c -008b62 df9e RCALL 0x8aa0 USBCB_SOF_Handler(); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c -008b64 d00b BRA 0x8b7c break; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c +008b7e df9e RCALL 0x8abc USBCB_SOF_Handler(); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c +008b80 d00b BRA 0x8b98 break; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c case EVENT_SUSPEND: C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c -008b66 df9a RCALL 0x8a9c USBCBSuspend(); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c -008b68 d009 BRA 0x8b7c break; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c +008b82 df9a RCALL 0x8ab8 USBCBSuspend(); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c +008b84 d009 BRA 0x8b98 break; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c case EVENT_RESUME: C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c -008b6a df99 RCALL 0x8a9e USBCBWakeFromSuspend(); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c -008b6c d007 BRA 0x8b7c break; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c +008b86 df99 RCALL 0x8aba USBCBWakeFromSuspend(); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c +008b88 d007 BRA 0x8b98 break; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c case EVENT_CONFIGURED: C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c -008b6e df9d RCALL 0x8aaa USBCBInitEP(); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c -008b70 d005 BRA 0x8b7c break; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c +008b8a df9d RCALL 0x8ac6 USBCBInitEP(); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c +008b8c d005 BRA 0x8b98 break; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c case EVENT_SET_DESCRIPTOR: C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c -008b72 df9a RCALL 0x8aa8 USBCBStdSetDscHandler(); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c -008b74 d003 BRA 0x8b7c break; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c +008b8e df9a RCALL 0x8ac4 USBCBStdSetDscHandler(); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c +008b90 d003 BRA 0x8b98 break; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c case EVENT_EP0_REQUEST: C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c -008b76 df96 RCALL 0x8aa4 USBCBCheckOtherReq(); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c -008b78 d001 BRA 0x8b7c break; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c +008b92 df96 RCALL 0x8ac0 USBCBCheckOtherReq(); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c +008b94 d001 BRA 0x8b98 break; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c case EVENT_BUS_ERROR: C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c -008b7a df93 RCALL 0x8aa2 USBCBErrorHandler(); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c +008b96 df93 RCALL 0x8abe USBCBErrorHandler(); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c break; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c case EVENT_TRANSFER_TERMINATED: C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c // Add application specific callback task or callback function here if desired. C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c @@ -16043,11 +16073,11 @@ Address Value Disassembly Source default: C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c break; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c -008b7c 0e01 MOVLW 0x1 return TRUE; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c -008b7e 52e5 MOVF 0xe5,0x1,0x0 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c -008b80 cfe7 MOVFF 0xfe7,0xfd9 -008b82 ffd9 -008b84 0012 RETURN 0x0 +008b98 0e01 MOVLW 0x1 return TRUE; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c +008b9a 52e5 MOVF 0xe5,0x1,0x0 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c +008b9c cfe7 MOVFF 0xfe7,0xfd9 +008b9e ffd9 +008ba0 0012 RETURN 0x0 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c /** EOF main.c ***************************************************************/ C:\Projects\EggBot_GH\EBB_firmware\app.X\source\main.c /********************************************************************* C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c @@ -16226,120 +16256,120 @@ Address Value Disassembly Source * C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c * Put a call to this function inside the UserInit() call in UBW.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c */ C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c -007e7a d9cf RCALL 0x821a void RCServo2_Init(void) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c -007e7c 52e6 MOVF 0xe6,0x1,0x0 +007e96 d9cf RCALL 0x8236 void RCServo2_Init(void) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c +007e98 52e6 MOVF 0xe6,0x1,0x0 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c unsigned char i; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c -007e7e 0100 MOVLB 0x0 gRC2msCounter = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c -007e80 6b60 CLRF 0x60,0x1 -007e82 6b7d CLRF 0x7d,0x1 gRC2Ptr = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c +007e9a 0100 MOVLB 0x0 gRC2msCounter = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c +007e9c 6b60 CLRF 0x60,0x1 +007e9e 6b7d CLRF 0x7d,0x1 gRC2Ptr = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c -007e84 6adf CLRF 0xdf,0x0 for (i=0; i < MAX_RC2_SERVOS; i++) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c -007e86 0e04 MOVLW 0x4 -007e88 5cdf SUBWF 0xdf,0x0,0x0 -007e8a e214 BC 0x7eb4 -007eb0 2adf INCF 0xdf,0x1,0x0 -007eb2 d7e9 BRA 0x7e86 +007ea0 6adf CLRF 0xdf,0x0 for (i=0; i < MAX_RC2_SERVOS; i++) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c +007ea2 0e04 MOVLW 0x4 +007ea4 5cdf SUBWF 0xdf,0x0,0x0 +007ea6 e214 BC 0x7ed0 +007ecc 2adf INCF 0xdf,0x1,0x0 +007ece d7e9 BRA 0x7ea2 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c -007e8c d9c0 RCALL 0x820e gRC2Value[i] = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c -007e8e 0e61 MOVLW 0x61 -007e90 26e9 ADDWF 0xe9,0x1,0x0 -007e92 0e00 MOVLW 0x0 -007e94 d9cf RCALL 0x8234 -007e96 50df MOVF 0xdf,0x0,0x0 gRC2RPn[i] = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c -007e98 d9ae RCALL 0x81f6 -007e9a 6aef CLRF 0xef,0x0 -007e9c d9b8 RCALL 0x820e gRC2Target[i] = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c -007e9e 0e6d MOVLW 0x6d -007ea0 26e9 ADDWF 0xe9,0x1,0x0 -007ea2 0e00 MOVLW 0x0 -007ea4 d9c7 RCALL 0x8234 -007ea6 d9b3 RCALL 0x820e gRC2Rate[i] = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c -007ea8 0e75 MOVLW 0x75 -007eaa 26e9 ADDWF 0xe9,0x1,0x0 -007eac 0e00 MOVLW 0x0 -007eae d9c2 RCALL 0x8234 -00820e 6aea CLRF 0xea,0x0 -008210 34df RLCF 0xdf,0x0,0x0 -008212 0bfe ANDLW 0xfe -008214 36ea RLCF 0xea,0x1,0x0 -008216 6ee9 MOVWF 0xe9,0x0 -008218 0012 RETURN 0x0 +007ea8 d9c0 RCALL 0x822a gRC2Value[i] = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c +007eaa 0e61 MOVLW 0x61 +007eac 26e9 ADDWF 0xe9,0x1,0x0 +007eae 0e00 MOVLW 0x0 +007eb0 d9cf RCALL 0x8250 +007eb2 50df MOVF 0xdf,0x0,0x0 gRC2RPn[i] = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c +007eb4 d9ae RCALL 0x8212 +007eb6 6aef CLRF 0xef,0x0 +007eb8 d9b8 RCALL 0x822a gRC2Target[i] = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c +007eba 0e6d MOVLW 0x6d +007ebc 26e9 ADDWF 0xe9,0x1,0x0 +007ebe 0e00 MOVLW 0x0 +007ec0 d9c7 RCALL 0x8250 +007ec2 d9b3 RCALL 0x822a gRC2Rate[i] = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c +007ec4 0e75 MOVLW 0x75 +007ec6 26e9 ADDWF 0xe9,0x1,0x0 +007ec8 0e00 MOVLW 0x0 +007eca d9c2 RCALL 0x8250 +00822a 6aea CLRF 0xea,0x0 +00822c 34df RLCF 0xdf,0x0,0x0 +00822e 0bfe ANDLW 0xfe +008230 36ea RLCF 0xea,0x1,0x0 +008232 6ee9 MOVWF 0xe9,0x0 +008234 0012 RETURN 0x0 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c // Initialize the RPOR pointer C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c -007eb4 0100 MOVLB 0x0 gRC2RPORPtr = &RPOR0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c -007eb6 0ec6 MOVLW 0xc6 -007eb8 6f80 MOVWF 0x80,0x1 -007eba 0e0e MOVLW 0xe -007ebc 6f81 MOVWF 0x81,0x1 +007ed0 0100 MOVLB 0x0 gRC2RPORPtr = &RPOR0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c +007ed2 0ec6 MOVLW 0xc6 +007ed4 6f80 MOVWF 0x80,0x1 +007ed6 0e0e MOVLW 0xe +007ed8 6f81 MOVWF 0x81,0x1 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c // Set up TIMER3 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c -007ebe 0e3f MOVLW 0x3f T3CONbits.TMR3CS = 0b00; // Use Fosc/4 as input C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c -007ec0 1479 ANDWF 0x79,0x0,0x0 -007ec2 0900 IORLW 0x0 -007ec4 6e79 MOVWF 0x79,0x0 -007ec6 0ecf MOVLW 0xcf T3CONbits.T3CKPS = 0b00; // Prescale is 1:1 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c -007ec8 1479 ANDWF 0x79,0x0,0x0 -007eca 0900 IORLW 0x0 -007ecc 6e79 MOVWF 0x79,0x0 -007ece 8279 BSF 0x79,0x1,0x0 T3CONbits.RD16 = 1; // Enable 16 bit mode C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c -007ed0 6a7b CLRF 0x7b,0x0 TMR3H = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c -007ed2 6a7a CLRF 0x7a,0x0 TMR3L = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c -007ed4 9079 BCF 0x79,0x0,0x0 T3CONbits.TMR3ON = 0; // Keep timer off for now C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c +007eda 0e3f MOVLW 0x3f T3CONbits.TMR3CS = 0b00; // Use Fosc/4 as input C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c +007edc 1479 ANDWF 0x79,0x0,0x0 +007ede 0900 IORLW 0x0 +007ee0 6e79 MOVWF 0x79,0x0 +007ee2 0ecf MOVLW 0xcf T3CONbits.T3CKPS = 0b00; // Prescale is 1:1 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c +007ee4 1479 ANDWF 0x79,0x0,0x0 +007ee6 0900 IORLW 0x0 +007ee8 6e79 MOVWF 0x79,0x0 +007eea 8279 BSF 0x79,0x1,0x0 T3CONbits.RD16 = 1; // Enable 16 bit mode C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c +007eec 6a7b CLRF 0x7b,0x0 TMR3H = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c +007eee 6a7a CLRF 0x7a,0x0 TMR3L = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c +007ef0 9079 BCF 0x79,0x0,0x0 T3CONbits.TMR3ON = 0; // Keep timer off for now C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c -007ed6 010f MOVLB 0xf TCLKCONbits.T3CCP1 = 1; // ECCP1 uses Timer1/2 and ECCP2 uses Timer3/4 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c -007ed8 8152 BSF 0x52,0x0,0x1 -007eda 9352 BCF 0x52,0x1,0x1 TCLKCONbits.T3CCP2 = 0; // ECCP1 uses Timer1/2 and ECCP2 uses Timer3/4 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c +007ef2 010f MOVLB 0xf TCLKCONbits.T3CCP1 = 1; // ECCP1 uses Timer1/2 and ECCP2 uses Timer3/4 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c +007ef4 8152 BSF 0x52,0x0,0x1 +007ef6 9352 BCF 0x52,0x1,0x1 TCLKCONbits.T3CCP2 = 0; // ECCP1 uses Timer1/2 and ECCP2 uses Timer3/4 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c -007edc 0ef0 MOVLW 0xf0 CCP2CONbits.CCP2M = 0b1001; // Set EECP2 as compare, clear output on match C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c -007ede 14b4 ANDWF 0xb4,0x0,0x0 -007ee0 0909 IORLW 0x9 -007ee2 6eb4 MOVWF 0xb4,0x0 +007ef8 0ef0 MOVLW 0xf0 CCP2CONbits.CCP2M = 0b1001; // Set EECP2 as compare, clear output on match C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c +007efa 14b4 ANDWF 0xb4,0x0,0x0 +007efc 0909 IORLW 0x9 +007efe 6eb4 MOVWF 0xb4,0x0 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c // We start out with 8 slots because that is good for RC servos (3ms * 8 = 24ms) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c -007ee4 0100 MOVLB 0x0 gRC2Slots = INITAL_RC2_SLOTS; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c -007ee6 0e04 MOVLW 0x4 -007ee8 6f7e MOVWF 0x7e,0x1 +007f00 0100 MOVLB 0x0 gRC2Slots = INITAL_RC2_SLOTS; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c +007f02 0e04 MOVLW 0x4 +007f04 6f7e MOVWF 0x7e,0x1 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c // We start out with 3ms slot duration because it's good for RC servos C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c -007eea 0e03 MOVLW 0x3 gRC2SlotMS = 3; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c -007eec 6f7f MOVWF 0x7f,0x1 +007f06 0e03 MOVLW 0x3 gRC2SlotMS = 3; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c +007f08 6f7f MOVWF 0x7f,0x1 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c // Start with some reasonable default values for min and max C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c -007eee 0ec6 MOVLW 0xc6 g_servo2_max = 15302; // max = down (SC,5,15302) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c -007ef0 6f82 MOVWF 0x82,0x1 -007ef2 0e3b MOVLW 0x3b -007ef4 6f83 MOVWF 0x83,0x1 -007ef6 0e25 MOVLW 0x25 g_servo2_min = 22565; // min = up (SC,4,22565) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c -007ef8 6f84 MOVWF 0x84,0x1 -007efa 0e58 MOVLW 0x58 -007efc 6f85 MOVWF 0x85,0x1 +007f0a 0ec6 MOVLW 0xc6 g_servo2_max = 15302; // max = down (SC,5,15302) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c +007f0c 6f82 MOVWF 0x82,0x1 +007f0e 0e3b MOVLW 0x3b +007f10 6f83 MOVWF 0x83,0x1 +007f12 0e25 MOVLW 0x25 g_servo2_min = 22565; // min = up (SC,4,22565) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c +007f14 6f84 MOVWF 0x84,0x1 +007f16 0e58 MOVLW 0x58 +007f18 6f85 MOVWF 0x85,0x1 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c -007efe 0e04 MOVLW 0x4 g_servo2_RPn = DEFAULT_EBB_SERVO_RPN; // Always start out with RP4 as the output (just for this test version of code) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c -007f00 6f8a MOVWF 0x8a,0x1 +007f1a 0e04 MOVLW 0x4 g_servo2_RPn = DEFAULT_EBB_SERVO_RPN; // Always start out with RP4 as the output (just for this test version of code) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c +007f1c 6f8a MOVWF 0x8a,0x1 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c -007f02 0e90 MOVLW 0x90 g_servo2_rate_up = 400; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c -007f04 6f86 MOVWF 0x86,0x1 -007f06 0e01 MOVLW 0x1 -007f08 6f87 MOVWF 0x87,0x1 -007f0a 0e90 MOVLW 0x90 g_servo2_rate_down = 400; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c -007f0c 6f88 MOVWF 0x88,0x1 -007f0e 0e01 MOVLW 0x1 -007f10 6f89 MOVWF 0x89,0x1 -007f12 0e00 MOVLW 0x0 process_SP(PEN_UP, 0); // Start servo up C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c -007f14 6ee6 MOVWF 0xe6,0x0 -007f16 6ae6 CLRF 0xe6,0x0 -007f18 0e01 MOVLW 0x1 -007f1a 6ee6 MOVWF 0xe6,0x0 -007f1c ecc5 CALL 0x2f8a,0x0 -007f1e f017 -007f20 52e5 MOVF 0xe5,0x1,0x0 -007f22 52e5 MOVF 0xe5,0x1,0x0 -007f24 52e5 MOVF 0xe5,0x1,0x0 -007f26 9689 BCF 0x89,0x3,0x0 RCServoPowerIO = RCSERVO_POWER_OFF; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c -007f28 52e5 MOVF 0xe5,0x1,0x0 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c -007f2a d17c BRA 0x8224 +007f1e 0e90 MOVLW 0x90 g_servo2_rate_up = 400; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c +007f20 6f86 MOVWF 0x86,0x1 +007f22 0e01 MOVLW 0x1 +007f24 6f87 MOVWF 0x87,0x1 +007f26 0e90 MOVLW 0x90 g_servo2_rate_down = 400; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c +007f28 6f88 MOVWF 0x88,0x1 +007f2a 0e01 MOVLW 0x1 +007f2c 6f89 MOVWF 0x89,0x1 +007f2e 0e00 MOVLW 0x0 process_SP(PEN_UP, 0); // Start servo up C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c +007f30 6ee6 MOVWF 0xe6,0x0 +007f32 6ae6 CLRF 0xe6,0x0 +007f34 0e01 MOVLW 0x1 +007f36 6ee6 MOVWF 0xe6,0x0 +007f38 ecda CALL 0x2fb4,0x0 +007f3a f017 +007f3c 52e5 MOVF 0xe5,0x1,0x0 +007f3e 52e5 MOVF 0xe5,0x1,0x0 +007f40 52e5 MOVF 0xe5,0x1,0x0 +007f42 9689 BCF 0x89,0x3,0x0 RCServoPowerIO = RCSERVO_POWER_OFF; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c +007f44 52e5 MOVF 0xe5,0x1,0x0 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c +007f46 d17c BRA 0x8240 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c // Return the current channel that is associated with the PPS output pin C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c // RPn. If there is no channel yet assigned for this RPn, then pick the C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c @@ -16347,32 +16377,32 @@ Address Value Disassembly Source // (which is considered an error.) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c // Remember, channels are from 1 through 8 (Normally - can be increased with C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c // SC,8 command). Channel 0 is the 'error' channel. C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c -007f2c d976 RCALL 0x821a UINT8 RCServo2_get_channel_from_RPn(UINT8 RPn) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c -007f2e 52e6 MOVF 0xe6,0x1,0x0 -00821a cfd9 MOVFF 0xfd9,0xfe6 -00821c ffe6 -00821e cfe1 MOVFF 0xfe1,0xfd9 -008220 ffd9 -008222 0012 RETURN 0x0 +007f48 d976 RCALL 0x8236 UINT8 RCServo2_get_channel_from_RPn(UINT8 RPn) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c +007f4a 52e6 MOVF 0xe6,0x1,0x0 +008236 cfd9 MOVFF 0xfd9,0xfe6 +008238 ffe6 +00823a cfe1 MOVFF 0xfe1,0xfd9 +00823c ffd9 +00823e 0012 RETURN 0x0 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c UINT8 i; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c // Search through the existing channels, and see if our RPn is there C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c -007f30 6adf CLRF 0xdf,0x0 for (i=0; i < MAX_RC2_SERVOS; i++) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c -007f32 0e04 MOVLW 0x4 -007f34 5cdf SUBWF 0xdf,0x0,0x0 -007f36 e20a BC 0x7f4c -007f48 2adf INCF 0xdf,0x1,0x0 -007f4a d7f3 BRA 0x7f32 +007f4c 6adf CLRF 0xdf,0x0 for (i=0; i < MAX_RC2_SERVOS; i++) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c +007f4e 0e04 MOVLW 0x4 +007f50 5cdf SUBWF 0xdf,0x0,0x0 +007f52 e20a BC 0x7f68 +007f64 2adf INCF 0xdf,0x1,0x0 +007f66 d7f3 BRA 0x7f4e { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c -007f38 50df MOVF 0xdf,0x0,0x0 if (gRC2RPn[i] == RPn) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c -007f3a d95d RCALL 0x81f6 -007f3c cfef MOVFF 0xfef,0x33 -007f3e f033 -007f40 0efe MOVLW 0xfe -007f42 50db MOVF 0xdb,0x0,0x0 -007f44 5c33 SUBWF 0x33,0x0,0x0 -007f46 e00a BZ 0x7f5c +007f54 50df MOVF 0xdf,0x0,0x0 if (gRC2RPn[i] == RPn) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c +007f56 d95d RCALL 0x8212 +007f58 cfef MOVFF 0xfef,0x47 +007f5a f047 +007f5c 0efe MOVLW 0xfe +007f5e 50db MOVF 0xdb,0x0,0x0 +007f60 5c47 SUBWF 0x47,0x0,0x0 +007f62 e00a BZ 0x7f78 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c // Found it! Return the channel number C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c return (i + 1); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c @@ -16380,28 +16410,28 @@ Address Value Disassembly Source } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c // We have not found it, so we need to allocate a new channel for this RPn C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c -007f4c 6adf CLRF 0xdf,0x0 for (i=0; i < MAX_RC2_SERVOS; i++) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c -007f4e 0e04 MOVLW 0x4 -007f50 5cdf SUBWF 0xdf,0x0,0x0 -007f52 e208 BC 0x7f64 -007f60 2adf INCF 0xdf,0x1,0x0 -007f62 d7f5 BRA 0x7f4e +007f68 6adf CLRF 0xdf,0x0 for (i=0; i < MAX_RC2_SERVOS; i++) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c +007f6a 0e04 MOVLW 0x4 +007f6c 5cdf SUBWF 0xdf,0x0,0x0 +007f6e e208 BC 0x7f80 +007f7c 2adf INCF 0xdf,0x1,0x0 +007f7e d7f5 BRA 0x7f6a { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c -007f54 50df MOVF 0xdf,0x0,0x0 if (gRC2RPn[i] == 0u) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c -007f56 d94f RCALL 0x81f6 -007f58 50ef MOVF 0xef,0x0,0x0 -007f5a e102 BNZ 0x7f60 +007f70 50df MOVF 0xdf,0x0,0x0 if (gRC2RPn[i] == 0u) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c +007f72 d94f RCALL 0x8212 +007f74 50ef MOVF 0xef,0x0,0x0 +007f76 e102 BNZ 0x7f7c { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c // Found one that's free! Return the channel number C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c -007f5c 28df INCF 0xdf,0x0,0x0 return (i + 1u); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c -007f5e d003 BRA 0x7f66 +007f78 28df INCF 0xdf,0x0,0x0 return (i + 1u); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c +007f7a d003 BRA 0x7f82 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c // We do not have room for another channel, so return an error C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c -007f64 0e00 MOVLW 0x0 return 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c -007f66 52e5 MOVF 0xe5,0x1,0x0 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c -007f68 d15d BRA 0x8224 +007f80 0e00 MOVLW 0x0 return 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c +007f82 52e5 MOVF 0xe5,0x1,0x0 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c +007f84 d15d BRA 0x8240 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c // Servo method 2 enable command C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c // S2,,,, C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c @@ -16412,123 +16442,123 @@ Address Value Disassembly Source // is the rate to change (optional, defaults to 0 = instant) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c // is the number of milliseconds to delay the start of the next command C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c // (optional, defaults to 0 = instant) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c -007f6a d957 RCALL 0x821a void RCServo2_S2_command (void) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c -007f6c 0e07 MOVLW 0x7 -007f6e 26e1 ADDWF 0xe1,0x1,0x0 +007f86 d957 RCALL 0x8236 void RCServo2_S2_command (void) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c +007f88 0e07 MOVLW 0x7 +007f8a 26e1 ADDWF 0xe1,0x1,0x0 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c -007f70 6ade CLRF 0xde,0x0 UINT16 Duration = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c -007f72 6add CLRF 0xdd,0x0 -007f74 0e02 MOVLW 0x2 UINT8 Pin = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c -007f76 6adb CLRF 0xdb,0x0 -007f78 0e03 MOVLW 0x3 UINT16 Rate = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c -007f7a 6adb CLRF 0xdb,0x0 -007f7c 0e04 MOVLW 0x4 -007f7e 6adb CLRF 0xdb,0x0 -007f80 0e05 MOVLW 0x5 UINT16 Delay = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c -007f82 6adb CLRF 0xdb,0x0 -007f84 0e06 MOVLW 0x6 -007f86 6adb CLRF 0xdb,0x0 +007f8c 6ade CLRF 0xde,0x0 UINT16 Duration = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c +007f8e 6add CLRF 0xdd,0x0 +007f90 0e02 MOVLW 0x2 UINT8 Pin = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c +007f92 6adb CLRF 0xdb,0x0 +007f94 0e03 MOVLW 0x3 UINT16 Rate = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c +007f96 6adb CLRF 0xdb,0x0 +007f98 0e04 MOVLW 0x4 +007f9a 6adb CLRF 0xdb,0x0 +007f9c 0e05 MOVLW 0x5 UINT16 Delay = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c +007f9e 6adb CLRF 0xdb,0x0 +007fa0 0e06 MOVLW 0x6 +007fa2 6adb CLRF 0xdb,0x0 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c // Extract each of the values. C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c -007f88 0e01 MOVLW 0x1 extract_number (kUINT, &Duration, kOPTIONAL); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c -007f8a 6ee6 MOVWF 0xe6,0x0 -007f8c cfd9 MOVFF 0xfd9,0xfe6 -007f8e ffe6 -007f90 cfda MOVFF 0xfda,0xfe6 -007f92 ffe6 -007f94 0e03 MOVLW 0x3 -007f96 d922 RCALL 0x81dc -007f98 0f02 ADDLW 0x2 extract_number (kUCHAR, &Pin, kOPTIONAL); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c -007f9a d950 RCALL 0x823c -007f9c 0e01 MOVLW 0x1 -007f9e d91e RCALL 0x81dc -007fa0 0f03 ADDLW 0x3 extract_number (kUINT, &Rate, kOPTIONAL); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c -007fa2 d94c RCALL 0x823c -007fa4 0e03 MOVLW 0x3 -007fa6 d91a RCALL 0x81dc -0081dc d834 RCALL 0x8246 -007fa8 0f05 ADDLW 0x5 extract_number (kUINT, &Delay, kOPTIONAL); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c -007faa d948 RCALL 0x823c -007fac 0e03 MOVLW 0x3 -007fae d94b RCALL 0x8246 -0081de 0e01 MOVLW 0x1 -0081e0 6ee6 MOVWF 0xe6,0x0 -0081e2 50d9 MOVF 0xd9,0x0,0x0 -0081e4 0012 RETURN 0x0 -00823c 6ee6 MOVWF 0xe6,0x0 -00823e 0e00 MOVLW 0x0 -008240 20da ADDWFC 0xda,0x0,0x0 -008242 6ee6 MOVWF 0xe6,0x0 -008244 0012 RETURN 0x0 -008246 6ee6 MOVWF 0xe6,0x0 -008248 ec5e CALL 0x62bc,0x0 -00824a f031 -00824c 52e5 MOVF 0xe5,0x1,0x0 -00824e 52e5 MOVF 0xe5,0x1,0x0 -008250 52e5 MOVF 0xe5,0x1,0x0 -008252 52e5 MOVF 0xe5,0x1,0x0 -008254 0012 RETURN 0x0 +007fa4 0e01 MOVLW 0x1 extract_number (kUINT, &Duration, kOPTIONAL); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c +007fa6 6ee6 MOVWF 0xe6,0x0 +007fa8 cfd9 MOVFF 0xfd9,0xfe6 +007faa ffe6 +007fac cfda MOVFF 0xfda,0xfe6 +007fae ffe6 +007fb0 0e03 MOVLW 0x3 +007fb2 d922 RCALL 0x81f8 +007fb4 0f02 ADDLW 0x2 extract_number (kUCHAR, &Pin, kOPTIONAL); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c +007fb6 d950 RCALL 0x8258 +007fb8 0e01 MOVLW 0x1 +007fba d91e RCALL 0x81f8 +007fbc 0f03 ADDLW 0x3 extract_number (kUINT, &Rate, kOPTIONAL); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c +007fbe d94c RCALL 0x8258 +007fc0 0e03 MOVLW 0x3 +007fc2 d91a RCALL 0x81f8 +0081f8 d834 RCALL 0x8262 +007fc4 0f05 ADDLW 0x5 extract_number (kUINT, &Delay, kOPTIONAL); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c +007fc6 d948 RCALL 0x8258 +007fc8 0e03 MOVLW 0x3 +007fca d94b RCALL 0x8262 +0081fa 0e01 MOVLW 0x1 +0081fc 6ee6 MOVWF 0xe6,0x0 +0081fe 50d9 MOVF 0xd9,0x0,0x0 +008200 0012 RETURN 0x0 +008258 6ee6 MOVWF 0xe6,0x0 +00825a 0e00 MOVLW 0x0 +00825c 20da ADDWFC 0xda,0x0,0x0 +00825e 6ee6 MOVWF 0xe6,0x0 +008260 0012 RETURN 0x0 +008262 6ee6 MOVWF 0xe6,0x0 +008264 ec6c CALL 0x62d8,0x0 +008266 f031 +008268 52e5 MOVF 0xe5,0x1,0x0 +00826a 52e5 MOVF 0xe5,0x1,0x0 +00826c 52e5 MOVF 0xe5,0x1,0x0 +00826e 52e5 MOVF 0xe5,0x1,0x0 +008270 0012 RETURN 0x0 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c -007fb0 6ae6 CLRF 0xe6,0x0 print_command(FALSE, FALSE); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c -007fb2 6ae6 CLRF 0xe6,0x0 -007fb4 ec04 CALL 0x5208,0x0 -007fb6 f029 -007fb8 52e5 MOVF 0xe5,0x1,0x0 -007fba 52e5 MOVF 0xe5,0x1,0x0 +007fcc 6ae6 CLRF 0xe6,0x0 print_command(FALSE, FALSE); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c +007fce 6ae6 CLRF 0xe6,0x0 +007fd0 ec12 CALL 0x5224,0x0 +007fd2 f029 +007fd4 52e5 MOVF 0xe5,0x1,0x0 +007fd6 52e5 MOVF 0xe5,0x1,0x0 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c // Bail if we got a conversion error C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c -007fbc 0100 MOVLB 0x0 if (error_byte) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c -007fbe 5197 MOVF 0x97,0x0,0x1 -007fc0 e122 BNZ 0x8006 +007fd8 0100 MOVLB 0x0 if (error_byte) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c +007fda 5197 MOVF 0x97,0x0,0x1 +007fdc e122 BNZ 0x8022 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c return; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c -007fc2 0e02 MOVLW 0x2 if (Pin > 24u) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c -007fc4 50db MOVF 0xdb,0x0,0x0 -007fc6 0818 SUBLW 0x18 -007fc8 e202 BC 0x7fce +007fde 0e02 MOVLW 0x2 if (Pin > 24u) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c +007fe0 50db MOVF 0xdb,0x0,0x0 +007fe2 0818 SUBLW 0x18 +007fe4 e202 BC 0x7fea { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c -007fca 8d97 BSF 0x97,0x6,0x1 bitset (error_byte, kERROR_BYTE_PARAMETER_OUTSIDE_LIMIT); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c -007fcc d01c BRA 0x8006 return; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c +007fe6 8d97 BSF 0x97,0x6,0x1 bitset (error_byte, kERROR_BYTE_PARAMETER_OUTSIDE_LIMIT); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c +007fe8 d01c BRA 0x8022 return; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c -007fce 0e05 MOVLW 0x5 RCServo2_Move(Duration, Pin, Rate, Delay); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c -007fd0 cfdb MOVFF 0xfdb,0xfe6 -007fd2 ffe6 -007fd4 0e06 MOVLW 0x6 -007fd6 cfdb MOVFF 0xfdb,0xfe6 -007fd8 ffe6 -007fda 0e03 MOVLW 0x3 -007fdc cfdb MOVFF 0xfdb,0xfe6 -007fde ffe6 -007fe0 0e04 MOVLW 0x4 -007fe2 cfdb MOVFF 0xfdb,0xfe6 -007fe4 ffe6 -007fe6 0e02 MOVLW 0x2 -007fe8 cfdb MOVFF 0xfdb,0xfe6 -007fea ffe6 -007fec cfde MOVFF 0xfde,0xfe6 +007fea 0e05 MOVLW 0x5 RCServo2_Move(Duration, Pin, Rate, Delay); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c +007fec cfdb MOVFF 0xfdb,0xfe6 007fee ffe6 -007ff0 cfdd MOVFF 0xfdd,0xfe6 -007ff2 ffe6 -007ff4 d80f RCALL 0x8014 -007ff6 6e33 MOVWF 0x33,0x0 -007ff8 0e07 MOVLW 0x7 -007ffa 5ee1 SUBWF 0xe1,0x1,0x0 -007ffc 5033 MOVF 0x33,0x0,0x0 +007ff0 0e06 MOVLW 0x6 +007ff2 cfdb MOVFF 0xfdb,0xfe6 +007ff4 ffe6 +007ff6 0e03 MOVLW 0x3 +007ff8 cfdb MOVFF 0xfdb,0xfe6 +007ffa ffe6 +007ffc 0e04 MOVLW 0x4 +007ffe cfdb MOVFF 0xfdb,0xfe6 +008000 ffe6 +008002 0e02 MOVLW 0x2 +008004 cfdb MOVFF 0xfdb,0xfe6 +008006 ffe6 +008008 cfde MOVFF 0xfde,0xfe6 +00800a ffe6 +00800c cfdd MOVFF 0xfdd,0xfe6 +00800e ffe6 +008010 d80f RCALL 0x8030 +008012 6e47 MOVWF 0x47,0x0 +008014 0e07 MOVLW 0x7 +008016 5ee1 SUBWF 0xe1,0x1,0x0 +008018 5047 MOVF 0x47,0x0,0x0 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c -007ffe 6ae6 CLRF 0xe6,0x0 print_line_ending(kLE_OK_NORM); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c -008000 ec22 CALL 0x5244,0x0 -008002 f029 -008004 52e5 MOVF 0xe5,0x1,0x0 -008006 0e07 MOVLW 0x7 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c -008008 5ce1 SUBWF 0xe1,0x0,0x0 -00800a e202 BC 0x8010 -00800c 6ae1 CLRF 0xe1,0x0 -00800e 52e5 MOVF 0xe5,0x1,0x0 -008010 6ee1 MOVWF 0xe1,0x0 -008012 d108 BRA 0x8224 +00801a 6ae6 CLRF 0xe6,0x0 print_line_ending(kLE_OK_NORM); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c +00801c ec30 CALL 0x5260,0x0 +00801e f029 +008020 52e5 MOVF 0xe5,0x1,0x0 +008022 0e07 MOVLW 0x7 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c +008024 5ce1 SUBWF 0xe1,0x0,0x0 +008026 e202 BC 0x802c +008028 6ae1 CLRF 0xe1,0x0 +00802a 52e5 MOVF 0xe5,0x1,0x0 +00802c 6ee1 MOVWF 0xe1,0x0 +00802e d108 BRA 0x8240 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c // Function to set up an RC Servo move. Takes Duration, RPn, and Rate C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c // and adds them to the motion control fifo. C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c @@ -16548,9 +16578,9 @@ Address Value Disassembly Source // Another thing we do here is to make sure that the proper pin is an output, C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c // And, if this is the first time we're starting up the channel, make sure that C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c // it starts out low. C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c -008014 d902 RCALL 0x821a UINT8 RCServo2_Move( C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c -008016 0e02 MOVLW 0x2 -008018 26e1 ADDWF 0xe1,0x1,0x0 +008030 d902 RCALL 0x8236 UINT8 RCServo2_Move( C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c +008032 0e02 MOVLW 0x2 +008034 26e1 ADDWF 0xe1,0x1,0x0 UINT16 Position, C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c UINT8 RPn, C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c UINT16 Rate, C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c @@ -16563,321 +16593,321 @@ Address Value Disassembly Source // Get the channel that's already assigned to the RPn, or assign a new one C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c // if possible. If this returns zero, then do nothing as we're out of C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c // channels. C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c -00801a 0efc MOVLW 0xfc Channel = RCServo2_get_channel_from_RPn(RPn); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c -00801c cfdb MOVFF 0xfdb,0xfe6 -00801e ffe6 -008020 df85 RCALL 0x7f2c -008022 52e5 MOVF 0xe5,0x1,0x0 -008024 6ee7 MOVWF 0xe7,0x0 -008026 0e01 MOVLW 0x1 -008028 cfe7 MOVFF 0xfe7,0xfdb -00802a ffdb +008036 0efc MOVLW 0xfc Channel = RCServo2_get_channel_from_RPn(RPn); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c +008038 cfdb MOVFF 0xfdb,0xfe6 +00803a ffe6 +00803c df85 RCALL 0x7f48 +00803e 52e5 MOVF 0xe5,0x1,0x0 +008040 6ee7 MOVWF 0xe7,0x0 +008042 0e01 MOVLW 0x1 +008044 cfe7 MOVFF 0xfe7,0xfdb +008046 ffdb C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c // Error out if there were no available channels left C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c -00802c 50db MOVF 0xdb,0x0,0x0 if (Channel == 0u) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c -00802e e102 BNZ 0x8034 +008048 50db MOVF 0xdb,0x0,0x0 if (Channel == 0u) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c +00804a e102 BNZ 0x8050 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c -008030 0e00 MOVLW 0x0 return 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c -008032 d0c7 BRA 0x81c2 +00804c 0e00 MOVLW 0x0 return 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c +00804e d0c7 BRA 0x81de } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c // If Duration is zero, then caller wants to shut down this channel C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c -008034 50d9 MOVF 0xd9,0x0,0x0 if (0u == Position) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c -008036 0ffd ADDLW 0xfd -008038 6ee9 MOVWF 0xe9,0x0 -00803a 0eff MOVLW 0xff -00803c 20da ADDWFC 0xda,0x0,0x0 -00803e 6eea MOVWF 0xea,0x0 -008040 50ee MOVF 0xee,0x0,0x0 -008042 10ed IORWF 0xed,0x0,0x0 -008044 e11f BNZ 0x8084 +008050 50d9 MOVF 0xd9,0x0,0x0 if (0u == Position) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c +008052 0ffd ADDLW 0xfd +008054 6ee9 MOVWF 0xe9,0x0 +008056 0eff MOVLW 0xff +008058 20da ADDWFC 0xda,0x0,0x0 +00805a 6eea MOVWF 0xea,0x0 +00805c 50ee MOVF 0xee,0x0,0x0 +00805e 10ed IORWF 0xed,0x0,0x0 +008060 e11f BNZ 0x80a0 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c // Turn off the PPS routing to the pin C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c -008046 0e01 MOVLW 0x1 *(gRC2RPORPtr + gRC2RPn[Channel - 1]) = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c -008048 04db DECF 0xdb,0x0,0x0 -00804a d8d5 RCALL 0x81f6 -00804c 50ef MOVF 0xef,0x0,0x0 -00804e 0100 MOVLB 0x0 -008050 6aea CLRF 0xea,0x0 -008052 2580 ADDWF 0x80,0x0,0x1 -008054 6ee9 MOVWF 0xe9,0x0 -008056 5181 MOVF 0x81,0x0,0x1 -008058 22ea ADDWFC 0xea,0x1,0x0 -00805a 6aef CLRF 0xef,0x0 -00805c d8c4 RCALL 0x81e6 gRC2Rate[Channel - 1] = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c -00805e 0e75 MOVLW 0x75 -008060 26e9 ADDWF 0xe9,0x1,0x0 -008062 0e00 MOVLW 0x0 -008064 d8e7 RCALL 0x8234 -008066 d8bf RCALL 0x81e6 gRC2Target[Channel - 1] = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c -008068 0e6d MOVLW 0x6d -00806a 26e9 ADDWF 0xe9,0x1,0x0 -00806c 0e00 MOVLW 0x0 -00806e d8e2 RCALL 0x8234 -008070 0e01 MOVLW 0x1 gRC2RPn[Channel - 1] = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c -008072 04db DECF 0xdb,0x0,0x0 -008074 d8c0 RCALL 0x81f6 +008062 0e01 MOVLW 0x1 *(gRC2RPORPtr + gRC2RPn[Channel - 1]) = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c +008064 04db DECF 0xdb,0x0,0x0 +008066 d8d5 RCALL 0x8212 +008068 50ef MOVF 0xef,0x0,0x0 +00806a 0100 MOVLB 0x0 +00806c 6aea CLRF 0xea,0x0 +00806e 2580 ADDWF 0x80,0x0,0x1 +008070 6ee9 MOVWF 0xe9,0x0 +008072 5181 MOVF 0x81,0x0,0x1 +008074 22ea ADDWFC 0xea,0x1,0x0 008076 6aef CLRF 0xef,0x0 -0081f6 6aea CLRF 0xea,0x0 -0081f8 0f69 ADDLW 0x69 -0081fa 6ee9 MOVWF 0xe9,0x0 -0081fc 0e00 MOVLW 0x0 -0081fe 22ea ADDWFC 0xea,0x1,0x0 -008200 0012 RETURN 0x0 -008078 d8b6 RCALL 0x81e6 gRC2Value[Channel - 1] = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c -00807a 0e61 MOVLW 0x61 +008078 d8c4 RCALL 0x8202 gRC2Rate[Channel - 1] = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c +00807a 0e75 MOVLW 0x75 00807c 26e9 ADDWF 0xe9,0x1,0x0 00807e 0e00 MOVLW 0x0 -008080 d8d9 RCALL 0x8234 -008234 22ea ADDWFC 0xea,0x1,0x0 -008236 6aee CLRF 0xee,0x0 -008238 6aed CLRF 0xed,0x0 -00823a 0012 RETURN 0x0 +008080 d8e7 RCALL 0x8250 +008082 d8bf RCALL 0x8202 gRC2Target[Channel - 1] = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c +008084 0e6d MOVLW 0x6d +008086 26e9 ADDWF 0xe9,0x1,0x0 +008088 0e00 MOVLW 0x0 +00808a d8e2 RCALL 0x8250 +00808c 0e01 MOVLW 0x1 gRC2RPn[Channel - 1] = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c +00808e 04db DECF 0xdb,0x0,0x0 +008090 d8c0 RCALL 0x8212 +008092 6aef CLRF 0xef,0x0 +008212 6aea CLRF 0xea,0x0 +008214 0f69 ADDLW 0x69 +008216 6ee9 MOVWF 0xe9,0x0 +008218 0e00 MOVLW 0x0 +00821a 22ea ADDWFC 0xea,0x1,0x0 +00821c 0012 RETURN 0x0 +008094 d8b6 RCALL 0x8202 gRC2Value[Channel - 1] = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c +008096 0e61 MOVLW 0x61 +008098 26e9 ADDWF 0xe9,0x1,0x0 +00809a 0e00 MOVLW 0x0 +00809c d8d9 RCALL 0x8250 +008250 22ea ADDWFC 0xea,0x1,0x0 +008252 6aee CLRF 0xee,0x0 +008254 6aed CLRF 0xed,0x0 +008256 0012 RETURN 0x0 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c -008082 d09d BRA 0x81be else C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c +00809e d09d BRA 0x81da else C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c // If we have a valid channel, and RPn, then make the move C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c -008084 0e01 MOVLW 0x1 if ((Channel - 1) < gRC2Slots && RPn <= 24u) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c -008086 04db DECF 0xdb,0x0,0x0 -008088 6e33 MOVWF 0x33,0x0 -00808a 0100 MOVLB 0x0 -00808c 517e MOVF 0x7e,0x0,0x1 -00808e 5c33 SUBWF 0x33,0x0,0x0 -008090 e301 BNC 0x8094 -008092 d095 BRA 0x81be -008094 0efc MOVLW 0xfc -008096 50db MOVF 0xdb,0x0,0x0 -008098 0818 SUBLW 0x18 -00809a e201 BC 0x809e -00809c d090 BRA 0x81be +0080a0 0e01 MOVLW 0x1 if ((Channel - 1) < gRC2Slots && RPn <= 24u) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c +0080a2 04db DECF 0xdb,0x0,0x0 +0080a4 6e47 MOVWF 0x47,0x0 +0080a6 0100 MOVLB 0x0 +0080a8 517e MOVF 0x7e,0x0,0x1 +0080aa 5c47 SUBWF 0x47,0x0,0x0 +0080ac e301 BNC 0x80b0 +0080ae d095 BRA 0x81da +0080b0 0efc MOVLW 0xfc +0080b2 50db MOVF 0xdb,0x0,0x0 +0080b4 0818 SUBLW 0x18 +0080b6 e201 BC 0x80ba +0080b8 d090 BRA 0x81da { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c // As a special case, if the pin is the same as the pin C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c // used for the solenoid, then turn off the solenoid function C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c // so that we can output PWM on that pin C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c -00809e 0efc MOVLW 0xfc if (RPn == PEN_UP_DOWN_RPN) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c -0080a0 50db MOVF 0xdb,0x0,0x0 -0080a2 0807 SUBLW 0x7 -0080a4 e102 BNZ 0x80aa +0080ba 0efc MOVLW 0xfc if (RPn == PEN_UP_DOWN_RPN) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c +0080bc 50db MOVF 0xdb,0x0,0x0 +0080be 0807 SUBLW 0x7 +0080c0 e102 BNZ 0x80c6 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c -0080a6 010b MOVLB 0xb gUseSolenoid = FALSE; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c -0080a8 6b82 CLRF 0x82,0x1 +0080c2 0101 MOVLB 0x1 gUseSolenoid = FALSE; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c +0080c4 6bbc CLRF 0xbc,0x1 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c // Is this the first time we've used this channel? C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c -0080aa d89d RCALL 0x81e6 if (gRC2Value[Channel - 1] == 0u) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c -0080ac 0e61 MOVLW 0x61 -0080ae 26e9 ADDWF 0xe9,0x1,0x0 -0080b0 0e00 MOVLW 0x0 -0080b2 22ea ADDWFC 0xea,0x1,0x0 -0080b4 50ee MOVF 0xee,0x0,0x0 -0080b6 10ed IORWF 0xed,0x0,0x0 -0080b8 e110 BNZ 0x80da -0081e6 0e01 MOVLW 0x1 -0081e8 04db DECF 0xdb,0x0,0x0 -0081ea 6ee9 MOVWF 0xe9,0x0 -0081ec 6aea CLRF 0xea,0x0 -0081ee 90d8 BCF 0xd8,0x0,0x0 -0081f0 36e9 RLCF 0xe9,0x1,0x0 -0081f2 36ea RLCF 0xea,0x1,0x0 -0081f4 0012 RETURN 0x0 +0080c6 d89d RCALL 0x8202 if (gRC2Value[Channel - 1] == 0u) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c +0080c8 0e61 MOVLW 0x61 +0080ca 26e9 ADDWF 0xe9,0x1,0x0 +0080cc 0e00 MOVLW 0x0 +0080ce 22ea ADDWFC 0xea,0x1,0x0 +0080d0 50ee MOVF 0xee,0x0,0x0 +0080d2 10ed IORWF 0xed,0x0,0x0 +0080d4 e110 BNZ 0x80f6 +008202 0e01 MOVLW 0x1 +008204 04db DECF 0xdb,0x0,0x0 +008206 6ee9 MOVWF 0xe9,0x0 +008208 6aea CLRF 0xea,0x0 +00820a 90d8 BCF 0xd8,0x0,0x0 +00820c 36e9 RLCF 0xe9,0x1,0x0 +00820e 36ea RLCF 0xea,0x1,0x0 +008210 0012 RETURN 0x0 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c // Make sure the pin is set as an output, or this won't do much good C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c -0080ba 6ae6 CLRF 0xe6,0x0 SetPinTRISFromRPn(RPn, OUTPUT_PIN); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c -0080bc 0efc MOVLW 0xfc -0080be cfdb MOVFF 0xfdb,0xfe6 -0080c0 ffe6 -0080c2 eca3 CALL 0x6746,0x0 -0080c4 f033 -0080c6 52e5 MOVF 0xe5,0x1,0x0 -0080c8 52e5 MOVF 0xe5,0x1,0x0 +0080d6 6ae6 CLRF 0xe6,0x0 SetPinTRISFromRPn(RPn, OUTPUT_PIN); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c +0080d8 0efc MOVLW 0xfc +0080da cfdb MOVFF 0xfdb,0xfe6 +0080dc ffe6 +0080de ecb1 CALL 0x6762,0x0 +0080e0 f033 +0080e2 52e5 MOVF 0xe5,0x1,0x0 +0080e4 52e5 MOVF 0xe5,0x1,0x0 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c // For v2.1.5, found bug where if a pin is HIGH when we start doing C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c // RC output, the output is totally messed up. So make sure to set C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c // the pin low first. C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c -0080ca 6ae6 CLRF 0xe6,0x0 SetPinLATFromRPn(RPn, 0); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c -0080cc 0efc MOVLW 0xfc -0080ce cfdb MOVFF 0xfdb,0xfe6 -0080d0 ffe6 -0080d2 ec75 CALL 0x66ea,0x0 -0080d4 f033 -0080d6 52e5 MOVF 0xe5,0x1,0x0 -0080d8 52e5 MOVF 0xe5,0x1,0x0 +0080e6 6ae6 CLRF 0xe6,0x0 SetPinLATFromRPn(RPn, 0); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c +0080e8 0efc MOVLW 0xfc +0080ea cfdb MOVFF 0xfdb,0xfe6 +0080ec ffe6 +0080ee ec83 CALL 0x6706,0x0 +0080f0 f033 +0080f2 52e5 MOVF 0xe5,0x1,0x0 +0080f4 52e5 MOVF 0xe5,0x1,0x0 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c // Wait until we have a free spot in the FIFO, and add our new C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c // command in C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c -0080da 5018 MOVF 0x18,0x0,0x0 while(gFIFOLength >= gCurrentFIFOLength) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c -0080dc 5c14 SUBWF 0x14,0x0,0x0 -0080de e2fd BC 0x80da +0080f6 5018 MOVF 0x18,0x0,0x0 while(gFIFOLength >= gCurrentFIFOLength) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c +0080f8 5c14 SUBWF 0x14,0x0,0x0 +0080fa e2fd BC 0x80f6 ; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c // If the pin we're controlling is B1 (the normal servo output) then C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c // always make sure to turn power on and start the countdown timer C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c // for that servo port. (issue #144) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c -0080e0 0efc MOVLW 0xfc if (RPn == 4u) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c -0080e2 50db MOVF 0xdb,0x0,0x0 -0080e4 0804 SUBLW 0x4 -0080e6 e109 BNZ 0x80fa +0080fc 0efc MOVLW 0xfc if (RPn == 4u) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c +0080fe 50db MOVF 0xdb,0x0,0x0 +008100 0804 SUBLW 0x4 +008102 e109 BNZ 0x8116 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c -0080e8 8689 BSF 0x89,0x3,0x0 RCServoPowerIO = RCSERVO_POWER_ON; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c -0080ea c0d5 MOVFF 0xd5,0xd1 gRCServoPoweroffCounterMS = gRCServoPoweroffCounterReloadMS; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c -0080ec f0d1 -0080ee c0d6 MOVFF 0xd6,0xd2 -0080f0 f0d2 -0080f2 c0d7 MOVFF 0xd7,0xd3 -0080f4 f0d3 -0080f6 c0d8 MOVFF 0xd8,0xd4 -0080f8 f0d4 +008104 8689 BSF 0x89,0x3,0x0 RCServoPowerIO = RCSERVO_POWER_ON; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c +008106 c0d5 MOVFF 0xd5,0xd1 gRCServoPoweroffCounterMS = gRCServoPoweroffCounterReloadMS; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c +008108 f0d1 +00810a c0d6 MOVFF 0xd6,0xd2 +00810c f0d2 +00810e c0d7 MOVFF 0xd7,0xd3 +008110 f0d3 +008112 c0d8 MOVFF 0xd8,0xd4 +008114 f0d4 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c // Now copy the values over into the FIFO element C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c -0080fa d883 RCALL 0x8202 FIFOPtr[gFIFOIn].Command = COMMAND_SERVO_MOVE_BIT; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c -0080fc 6eef MOVWF 0xef,0x0 -008202 5015 MOVF 0x15,0x0,0x0 -008204 0d2f MULLW 0x2f -008206 0100 MOVLB 0x0 -008208 d826 RCALL 0x8256 -00820a 0e02 MOVLW 0x2 -00820c 0012 RETURN 0x0 -0080fe 0ef8 MOVLW 0xf8 FIFOPtr[gFIFOIn].DelayCounter = HIGH_ISR_TICKS_PER_MS * (UINT32)Delay; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c -008100 cfdb MOVFF 0xfdb,0x33 -008102 f033 -008104 0ef9 MOVLW 0xf9 -008106 cfdb MOVFF 0xfdb,0x34 -008108 f034 -00810a 6a35 CLRF 0x35,0x0 -00810c 6a36 CLRF 0x36,0x0 -00810e 0e19 MOVLW 0x19 -008110 6e2e MOVWF 0x2e,0x0 -008112 6a2f CLRF 0x2f,0x0 -008114 6a30 CLRF 0x30,0x0 -008116 6a31 CLRF 0x31,0x0 -008118 c033 MOVFF 0x33,0x29 -00811a f029 -00811c c034 MOVFF 0x34,0x2a -00811e f02a -008120 c035 MOVFF 0x35,0x2b -008122 f02b -008124 c036 MOVFF 0x36,0x2c -008126 f02c -008128 ec66 CALL 0x8ecc,0x0 -00812a f047 -00812c c025 MOVFF 0x25,0x33 -00812e f033 -008130 c026 MOVFF 0x26,0x34 -008132 f034 -008134 c027 MOVFF 0x27,0x35 -008136 f035 -008138 c028 MOVFF 0x28,0x36 -00813a f036 -00813c d862 RCALL 0x8202 -00813e d876 RCALL 0x822c -008140 c025 MOVFF 0x25,0xfee -008142 ffee -008144 c034 MOVFF 0x34,0xfee -008146 ffee -008148 c035 MOVFF 0x35,0xfee -00814a ffee -00814c c036 MOVFF 0x36,0xfee -00814e ffee -008150 d841 RCALL 0x81d4 FIFOPtr[gFIFOIn].ServoChannel = Channel; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c -008152 0e2a MOVLW 0x2a -008154 d86b RCALL 0x822c -008156 0e01 MOVLW 0x1 -008158 cfdb MOVFF 0xfdb,0xfef -00815a ffef -00815c d83b RCALL 0x81d4 FIFOPtr[gFIFOIn].ServoRPn = RPn; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c -00815e 0e27 MOVLW 0x27 -008160 d865 RCALL 0x822c -008162 0efc MOVLW 0xfc -008164 cfdb MOVFF 0xfdb,0xfef -008166 ffef -008168 d835 RCALL 0x81d4 FIFOPtr[gFIFOIn].ServoPosition = Position; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c -00816a 0e28 MOVLW 0x28 -00816c d85f RCALL 0x822c -00816e 0efd MOVLW 0xfd -008170 cfdb MOVFF 0xfdb,0xfee -008172 ffee -008174 0efe MOVLW 0xfe -008176 cfdb MOVFF 0xfdb,0xfed -008178 ffed -00817a d82c RCALL 0x81d4 FIFOPtr[gFIFOIn].ServoRate = Rate; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c -00817c 0e2b MOVLW 0x2b -00817e d856 RCALL 0x822c -008180 0efa MOVLW 0xfa -008182 cfdb MOVFF 0xfdb,0xfee -008184 ffee -008186 0efb MOVLW 0xfb -008188 cfdb MOVFF 0xfdb,0xfed -00818a ffed +008116 d883 RCALL 0x821e FIFOPtr[gFIFOIn].Command = COMMAND_SERVO_MOVE_BIT; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c +008118 6eef MOVWF 0xef,0x0 +00821e 5015 MOVF 0x15,0x0,0x0 +008220 0d2f MULLW 0x2f +008222 0100 MOVLB 0x0 +008224 d826 RCALL 0x8272 +008226 0e02 MOVLW 0x2 +008228 0012 RETURN 0x0 +00811a 0ef8 MOVLW 0xf8 FIFOPtr[gFIFOIn].DelayCounter = HIGH_ISR_TICKS_PER_MS * (UINT32)Delay; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c +00811c cfdb MOVFF 0xfdb,0x47 +00811e f047 +008120 0ef9 MOVLW 0xf9 +008122 cfdb MOVFF 0xfdb,0x48 +008124 f048 +008126 6a49 CLRF 0x49,0x0 +008128 6a4a CLRF 0x4a,0x0 +00812a 0e19 MOVLW 0x19 +00812c 6e42 MOVWF 0x42,0x0 +00812e 6a43 CLRF 0x43,0x0 +008130 6a44 CLRF 0x44,0x0 +008132 6a45 CLRF 0x45,0x0 +008134 c047 MOVFF 0x47,0x3d +008136 f03d +008138 c048 MOVFF 0x48,0x3e +00813a f03e +00813c c049 MOVFF 0x49,0x3f +00813e f03f +008140 c04a MOVFF 0x4a,0x40 +008142 f040 +008144 ec74 CALL 0x8ee8,0x0 +008146 f047 +008148 c039 MOVFF 0x39,0x47 +00814a f047 +00814c c03a MOVFF 0x3a,0x48 +00814e f048 +008150 c03b MOVFF 0x3b,0x49 +008152 f049 +008154 c03c MOVFF 0x3c,0x4a +008156 f04a +008158 d862 RCALL 0x821e +00815a d876 RCALL 0x8248 +00815c c039 MOVFF 0x39,0xfee +00815e ffee +008160 c048 MOVFF 0x48,0xfee +008162 ffee +008164 c049 MOVFF 0x49,0xfee +008166 ffee +008168 c04a MOVFF 0x4a,0xfee +00816a ffee +00816c d841 RCALL 0x81f0 FIFOPtr[gFIFOIn].ServoChannel = Channel; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c +00816e 0e2a MOVLW 0x2a +008170 d86b RCALL 0x8248 +008172 0e01 MOVLW 0x1 +008174 cfdb MOVFF 0xfdb,0xfef +008176 ffef +008178 d83b RCALL 0x81f0 FIFOPtr[gFIFOIn].ServoRPn = RPn; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c +00817a 0e27 MOVLW 0x27 +00817c d865 RCALL 0x8248 +00817e 0efc MOVLW 0xfc +008180 cfdb MOVFF 0xfdb,0xfef +008182 ffef +008184 d835 RCALL 0x81f0 FIFOPtr[gFIFOIn].ServoPosition = Position; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c +008186 0e28 MOVLW 0x28 +008188 d85f RCALL 0x8248 +00818a 0efd MOVLW 0xfd +00818c cfdb MOVFF 0xfdb,0xfee +00818e ffee +008190 0efe MOVLW 0xfe +008192 cfdb MOVFF 0xfdb,0xfed +008194 ffed +008196 d82c RCALL 0x81f0 FIFOPtr[gFIFOIn].ServoRate = Rate; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c +008198 0e2b MOVLW 0x2b +00819a d856 RCALL 0x8248 +00819c 0efa MOVLW 0xfa +00819e cfdb MOVFF 0xfdb,0xfee +0081a0 ffee +0081a2 0efb MOVLW 0xfb +0081a4 cfdb MOVFF 0xfdb,0xfed +0081a6 ffed C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c // Check that DelayCounter doesn't have a crazy high value (this was C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c // being done in the ISR, now moved here for speed) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c -00818c d823 RCALL 0x81d4 if (FIFOPtr[gFIFOIn].DelayCounter > HIGH_ISR_TICKS_PER_MS * (UINT32)0x10000) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c -00818e 0e02 MOVLW 0x2 -008190 d84d RCALL 0x822c -008192 80d8 BSF 0xd8,0x0,0x0 -008194 54ee SUBFWB 0xee,0x0,0x0 -008196 0e00 MOVLW 0x0 -008198 54ee SUBFWB 0xee,0x0,0x0 -00819a 0e19 MOVLW 0x19 -00819c 54ee SUBFWB 0xee,0x0,0x0 -00819e 0e00 MOVLW 0x0 -0081a0 54ee SUBFWB 0xee,0x0,0x0 -0081a2 e207 BC 0x81b2 +0081a8 d823 RCALL 0x81f0 if (FIFOPtr[gFIFOIn].DelayCounter > HIGH_ISR_TICKS_PER_MS * (UINT32)0x10000) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c +0081aa 0e02 MOVLW 0x2 +0081ac d84d RCALL 0x8248 +0081ae 80d8 BSF 0xd8,0x0,0x0 +0081b0 54ee SUBFWB 0xee,0x0,0x0 +0081b2 0e00 MOVLW 0x0 +0081b4 54ee SUBFWB 0xee,0x0,0x0 +0081b6 0e19 MOVLW 0x19 +0081b8 54ee SUBFWB 0xee,0x0,0x0 +0081ba 0e00 MOVLW 0x0 +0081bc 54ee SUBFWB 0xee,0x0,0x0 +0081be e207 BC 0x81ce { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c // Ideally we would throw an error to the user here, but since we're in C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c // the helper function that's not so easy. So we just set the delay time C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c // to zero and hope they notice that their delays aren't doing anything. C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c -0081a4 d817 RCALL 0x81d4 FIFOPtr[gFIFOIn].DelayCounter = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c -0081a6 0e02 MOVLW 0x2 -0081a8 d841 RCALL 0x822c -0081aa 6aee CLRF 0xee,0x0 -0081ac 6aee CLRF 0xee,0x0 -0081ae 6aee CLRF 0xee,0x0 -0081b0 6aee CLRF 0xee,0x0 -0081d4 5015 MOVF 0x15,0x0,0x0 -0081d6 0d2f MULLW 0x2f -0081d8 ef2b GOTO 0x8256 -0081da f041 -00822c 26e9 ADDWF 0xe9,0x1,0x0 -00822e 0e00 MOVLW 0x0 -008230 22ea ADDWFC 0xea,0x1,0x0 -008232 0012 RETURN 0x0 -008256 51fa MOVF 0xfa,0x0,0x1 -008258 24f3 ADDWF 0xf3,0x0,0x0 -00825a 6ee9 MOVWF 0xe9,0x0 -00825c 51fb MOVF 0xfb,0x0,0x1 -00825e 20f4 ADDWFC 0xf4,0x0,0x0 -008260 6eea MOVWF 0xea,0x0 -008262 0012 RETURN 0x0 +0081c0 d817 RCALL 0x81f0 FIFOPtr[gFIFOIn].DelayCounter = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c +0081c2 0e02 MOVLW 0x2 +0081c4 d841 RCALL 0x8248 +0081c6 6aee CLRF 0xee,0x0 +0081c8 6aee CLRF 0xee,0x0 +0081ca 6aee CLRF 0xee,0x0 +0081cc 6aee CLRF 0xee,0x0 +0081f0 5015 MOVF 0x15,0x0,0x0 +0081f2 0d2f MULLW 0x2f +0081f4 ef39 GOTO 0x8272 +0081f6 f041 +008248 26e9 ADDWF 0xe9,0x1,0x0 +00824a 0e00 MOVLW 0x0 +00824c 22ea ADDWFC 0xea,0x1,0x0 +00824e 0012 RETURN 0x0 +008272 51fa MOVF 0xfa,0x0,0x1 +008274 24f3 ADDWF 0xf3,0x0,0x0 +008276 6ee9 MOVWF 0xe9,0x0 +008278 51fb MOVF 0xfb,0x0,0x1 +00827a 20f4 ADDWFC 0xf4,0x0,0x0 +00827c 6eea MOVWF 0xea,0x0 +00827e 0012 RETURN 0x0 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c -0081b2 2a15 INCF 0x15,0x1,0x0 gFIFOIn++; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c -0081b4 5018 MOVF 0x18,0x0,0x0 if (gFIFOIn >= gCurrentFIFOLength) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c -0081b6 5c15 SUBWF 0x15,0x0,0x0 -0081b8 e301 BNC 0x81bc +0081ce 2a15 INCF 0x15,0x1,0x0 gFIFOIn++; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c +0081d0 5018 MOVF 0x18,0x0,0x0 if (gFIFOIn >= gCurrentFIFOLength) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c +0081d2 5c15 SUBWF 0x15,0x0,0x0 +0081d4 e301 BNC 0x81d8 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c -0081ba 6a15 CLRF 0x15,0x0 gFIFOIn = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c +0081d6 6a15 CLRF 0x15,0x0 gFIFOIn = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c -0081bc 2a14 INCF 0x14,0x1,0x0 gFIFOLength++; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c +0081d8 2a14 INCF 0x14,0x1,0x0 gFIFOLength++; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c -0081be 0e01 MOVLW 0x1 return Channel; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c -0081c0 50db MOVF 0xdb,0x0,0x0 -0081c2 6e33 MOVWF 0x33,0x0 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c -0081c4 0e02 MOVLW 0x2 -0081c6 5ce1 SUBWF 0xe1,0x0,0x0 -0081c8 e202 BC 0x81ce -0081ca 6ae1 CLRF 0xe1,0x0 -0081cc 52e5 MOVF 0xe5,0x1,0x0 -0081ce 6ee1 MOVWF 0xe1,0x0 -0081d0 5033 MOVF 0x33,0x0,0x0 -0081d2 d028 BRA 0x8224 -008224 52e5 MOVF 0xe5,0x1,0x0 -008226 cfe7 MOVFF 0xfe7,0xfd9 -008228 ffd9 -00822a 0012 RETURN 0x0 +0081da 0e01 MOVLW 0x1 return Channel; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c +0081dc 50db MOVF 0xdb,0x0,0x0 +0081de 6e47 MOVWF 0x47,0x0 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\RCServo2.c +0081e0 0e02 MOVLW 0x2 +0081e2 5ce1 SUBWF 0xe1,0x0,0x0 +0081e4 e202 BC 0x81ea +0081e6 6ae1 CLRF 0xe1,0x0 +0081e8 52e5 MOVF 0xe5,0x1,0x0 +0081ea 6ee1 MOVWF 0xe1,0x0 +0081ec 5047 MOVF 0x47,0x0,0x0 +0081ee d028 BRA 0x8240 +008240 52e5 MOVF 0xe5,0x1,0x0 +008242 cfe7 MOVFF 0xfe7,0xfd9 +008244 ffd9 +008246 0012 RETURN 0x0 /********************************************************************* C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c * C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c * UBW Firmware C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c @@ -17161,122 +17191,122 @@ Address Value Disassembly Source #pragma code C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c #pragma interruptlow low_ISR C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004352 cfd8 MOVFF 0xfd8,0xfe4 void low_ISR(void) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004354 ffe4 -004356 cfe0 MOVFF 0xfe0,0xfe4 -004358 ffe4 -00435a 6ee4 MOVWF 0xe4,0x0 -00435c cfda MOVFF 0xfda,0xfe4 -00435e ffe4 -004360 cfe9 MOVFF 0xfe9,0xfe4 -004362 ffe4 -004364 cfea MOVFF 0xfea,0xfe4 -004366 ffe4 -004368 cff3 MOVFF 0xff3,0xfe4 -00436a ffe4 -00436c cff4 MOVFF 0xff4,0xfe4 -00436e ffe4 -004370 52e6 MOVF 0xe6,0x1,0x0 -004372 ec8b CALL 0x6b16,0x0 -004374 f035 +00436e cfd8 MOVFF 0xfd8,0xfe4 void low_ISR(void) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +004370 ffe4 +004372 cfe0 MOVFF 0xfe0,0xfe4 +004374 ffe4 +004376 6ee4 MOVWF 0xe4,0x0 +004378 cfda MOVFF 0xfda,0xfe4 +00437a ffe4 +00437c cfe9 MOVFF 0xfe9,0xfe4 +00437e ffe4 +004380 cfea MOVFF 0xfea,0xfe4 +004382 ffe4 +004384 cff3 MOVFF 0xff3,0xfe4 +004386 ffe4 +004388 cff4 MOVFF 0xff4,0xfe4 +00438a ffe4 +00438c 52e6 MOVF 0xe6,0x1,0x0 +00438e ec99 CALL 0x6b32,0x0 +004390 f035 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c UINT8 i; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // Do we have a Timer4 interrupt? (1ms rate) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004376 a6a4 BTFSS 0xa4,0x3,0x0 if (PIR3bits.TMR4IF) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004378 d141 BRA 0x45fc +004392 a6a4 BTFSS 0xa4,0x3,0x0 if (PIR3bits.TMR4IF) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +004394 d141 BRA 0x4618 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // Clear the interrupt C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00437a 96a4 BCF 0xa4,0x3,0x0 PIR3bits.TMR4IF = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +004396 96a4 BCF 0xa4,0x3,0x0 PIR3bits.TMR4IF = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // Handle RC servo pulse generation (for next pulse/channel) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // Always increment the gRCServo2msCounter C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00437c 0100 MOVLB 0x0 gRC2msCounter++; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00437e 2b60 INCF 0x60,0x1,0x1 +004398 0100 MOVLB 0x0 gRC2msCounter++; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +00439a 2b60 INCF 0x60,0x1,0x1 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004380 0100 MOVLB 0x0 if (gRC2msCounter >= gRC2SlotMS) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004382 517f MOVF 0x7f,0x0,0x1 -004384 0100 MOVLB 0x0 -004386 5d60 SUBWF 0x60,0x0,0x1 -004388 e201 BC 0x438c -00438a d09b BRA 0x44c2 +00439c 0100 MOVLB 0x0 if (gRC2msCounter >= gRC2SlotMS) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +00439e 517f MOVF 0x7f,0x0,0x1 +0043a0 0100 MOVLB 0x0 +0043a2 5d60 SUBWF 0x60,0x0,0x1 +0043a4 e201 BC 0x43a8 +0043a6 d09b BRA 0x44de { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // Clear the RC2 ms counter C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00438c 6b60 CLRF 0x60,0x1 gRC2msCounter = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0043a8 6b60 CLRF 0x60,0x1 gRC2msCounter = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // Turn off the PPS routing to the 'old' pin C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00438e 0100 MOVLB 0x0 *(gRC2RPORPtr + gRC2RPn[gRC2Ptr]) = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004390 eca4 CALL 0x6948,0x0 -004392 f034 -004394 6aef CLRF 0xef,0x0 -006948 517d MOVF 0x7d,0x0,0x1 -00694a 6aea CLRF 0xea,0x0 -00694c 0f69 ADDLW 0x69 -00694e 6ee9 MOVWF 0xe9,0x0 -006950 0e00 MOVLW 0x0 -006952 22ea ADDWFC 0xea,0x1,0x0 -006954 50ef MOVF 0xef,0x0,0x0 -006956 0100 MOVLB 0x0 -006958 6aea CLRF 0xea,0x0 -00695a 2580 ADDWF 0x80,0x0,0x1 -00695c 6ee9 MOVWF 0xe9,0x0 -00695e 5181 MOVF 0x81,0x0,0x1 -006960 22ea ADDWFC 0xea,0x1,0x0 -006962 0012 RETURN 0x0 +0043aa 0100 MOVLB 0x0 *(gRC2RPORPtr + gRC2RPn[gRC2Ptr]) = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0043ac ecb2 CALL 0x6964,0x0 +0043ae f034 +0043b0 6aef CLRF 0xef,0x0 +006964 517d MOVF 0x7d,0x0,0x1 +006966 6aea CLRF 0xea,0x0 +006968 0f69 ADDLW 0x69 +00696a 6ee9 MOVWF 0xe9,0x0 +00696c 0e00 MOVLW 0x0 +00696e 22ea ADDWFC 0xea,0x1,0x0 +006970 50ef MOVF 0xef,0x0,0x0 +006972 0100 MOVLB 0x0 +006974 6aea CLRF 0xea,0x0 +006976 2580 ADDWF 0x80,0x0,0x1 +006978 6ee9 MOVWF 0xe9,0x0 +00697a 5181 MOVF 0x81,0x0,0x1 +00697c 22ea ADDWFC 0xea,0x1,0x0 +00697e 0012 RETURN 0x0 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // Turn off TIMER3 for now C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004396 9079 BCF 0x79,0x0,0x0 T3CONbits.TMR3ON = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0043b2 9079 BCF 0x79,0x0,0x0 T3CONbits.TMR3ON = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // And clear TIMER3 to zero C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004398 6a7b CLRF 0x7b,0x0 TMR3H = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00439a 6a7a CLRF 0x7a,0x0 TMR3L = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0043b4 6a7b CLRF 0x7b,0x0 TMR3H = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0043b6 6a7a CLRF 0x7a,0x0 TMR3L = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // And always advance the main pointer C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00439c 0100 MOVLB 0x0 gRC2Ptr++; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00439e 2b7d INCF 0x7d,0x1,0x1 -0043a0 0100 MOVLB 0x0 if (gRC2Ptr >= gRC2Slots) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0043a2 517e MOVF 0x7e,0x0,0x1 -0043a4 0100 MOVLB 0x0 -0043a6 5d7d SUBWF 0x7d,0x0,0x1 -0043a8 e301 BNC 0x43ac +0043b8 0100 MOVLB 0x0 gRC2Ptr++; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0043ba 2b7d INCF 0x7d,0x1,0x1 +0043bc 0100 MOVLB 0x0 if (gRC2Ptr >= gRC2Slots) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0043be 517e MOVF 0x7e,0x0,0x1 +0043c0 0100 MOVLB 0x0 +0043c2 5d7d SUBWF 0x7d,0x0,0x1 +0043c4 e301 BNC 0x43c8 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0043aa 6b7d CLRF 0x7d,0x1 gRC2Ptr = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0043c6 6b7d CLRF 0x7d,0x1 gRC2Ptr = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // If the value is zero, we do nothing to this pin C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // otherwise, prime it for sending a pulse C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0043ac ec1d CALL 0x6c3a,0x0 if (gRC2Value[gRC2Ptr] != 0u) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0043ae f036 -0043b0 22ea ADDWFC 0xea,0x1,0x0 -0043b2 50ee MOVF 0xee,0x0,0x0 -0043b4 10ed IORWF 0xed,0x0,0x0 -0043b6 e101 BNZ 0x43ba -0043b8 d084 BRA 0x44c2 +0043c8 ec2b CALL 0x6c56,0x0 if (gRC2Value[gRC2Ptr] != 0u) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0043ca f036 +0043cc 22ea ADDWFC 0xea,0x1,0x0 +0043ce 50ee MOVF 0xee,0x0,0x0 +0043d0 10ed IORWF 0xed,0x0,0x0 +0043d2 e101 BNZ 0x43d6 +0043d4 d084 BRA 0x44de { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // Now, to move 'slowly', we update gRC2Value[] by C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // seeing if we are at gRC2Target[] yet. If not, then C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // we add (or subtract) gRC2Rate[] to try and get there. C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0043ba ec10 CALL 0x6c20,0x0 if (gRC2Target[gRC2Ptr] != gRC2Value[gRC2Ptr]) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0043bc f036 -0043be cfee MOVFF 0xfee,0x3d -0043c0 f03d -0043c2 cfef MOVFF 0xfef,0x3e -0043c4 f03e -0043c6 503d MOVF 0x3d,0x0,0x0 -0043c8 183b XORWF 0x3b,0x0,0x0 -0043ca e102 BNZ 0x43d0 -0043cc 503e MOVF 0x3e,0x0,0x0 -0043ce 183c XORWF 0x3c,0x0,0x0 -0043d0 e05d BZ 0x448c +0043d6 ec1e CALL 0x6c3c,0x0 if (gRC2Target[gRC2Ptr] != gRC2Value[gRC2Ptr]) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0043d8 f036 +0043da cfee MOVFF 0xfee,0x51 +0043dc f051 +0043de cfef MOVFF 0xfef,0x52 +0043e0 f052 +0043e2 5051 MOVF 0x51,0x0,0x0 +0043e4 184f XORWF 0x4f,0x0,0x0 +0043e6 e102 BNZ 0x43ec +0043e8 5052 MOVF 0x52,0x0,0x0 +0043ea 1850 XORWF 0x50,0x0,0x0 +0043ec e05d BZ 0x44a8 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // If the rate is zero, then we always move instantly C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // to the target. C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0043d2 ec60 CALL 0x6ac0,0x0 if (gRC2Rate[gRC2Ptr] == 0u) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0043d4 f035 -0043d6 22ea ADDWFC 0xea,0x1,0x0 -0043d8 50ee MOVF 0xee,0x0,0x0 -0043da 10ed IORWF 0xed,0x0,0x0 -0043dc e051 BZ 0x4480 +0043ee ec6e CALL 0x6adc,0x0 if (gRC2Rate[gRC2Ptr] == 0u) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0043f0 f035 +0043f2 22ea ADDWFC 0xea,0x1,0x0 +0043f4 50ee MOVF 0xee,0x0,0x0 +0043f6 10ed IORWF 0xed,0x0,0x0 +0043f8 e051 BZ 0x449c { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c gRC2Value[gRC2Ptr] = gRC2Target[gRC2Ptr]; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c @@ -17284,335 +17314,335 @@ Address Value Disassembly Source { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // Otherwise, add gRC2Rate[] each time through until we C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // get to our desired pulse width. C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0043de ec10 CALL 0x6c20,0x0 RC2Difference = (gRC2Target[gRC2Ptr] - gRC2Value[gRC2Ptr]); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0043e0 f036 -0043e2 0100 MOVLB 0x0 -0043e4 50ee MOVF 0xee,0x0,0x0 -0043e6 5c3b SUBWF 0x3b,0x0,0x0 -0043e8 6fe2 MOVWF 0xe2,0x1 -0043ea 50ee MOVF 0xee,0x0,0x0 -0043ec 583c SUBWFB 0x3c,0x0,0x0 -0043ee 6fe3 MOVWF 0xe3,0x1 -0043f0 34e8 RLCF 0xe8,0x0,0x0 if (RC2Difference > 0) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0043f2 e222 BC 0x4438 -0043f4 51e2 MOVF 0xe2,0x0,0x1 -0043f6 0800 SUBLW 0x0 -0043f8 0e00 MOVLW 0x0 -0043fa 55e3 SUBFWB 0xe3,0x0,0x1 -0043fc e21d BC 0x4438 +0043fa ec1e CALL 0x6c3c,0x0 RC2Difference = (gRC2Target[gRC2Ptr] - gRC2Value[gRC2Ptr]); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0043fc f036 +0043fe 0100 MOVLB 0x0 +004400 50ee MOVF 0xee,0x0,0x0 +004402 5c4f SUBWF 0x4f,0x0,0x0 +004404 6fe2 MOVWF 0xe2,0x1 +004406 50ee MOVF 0xee,0x0,0x0 +004408 5850 SUBWFB 0x50,0x0,0x0 +00440a 6fe3 MOVWF 0xe3,0x1 +00440c 34e8 RLCF 0xe8,0x0,0x0 if (RC2Difference > 0) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +00440e e222 BC 0x4454 +004410 51e2 MOVF 0xe2,0x0,0x1 +004412 0800 SUBLW 0x0 +004414 0e00 MOVLW 0x0 +004416 55e3 SUBFWB 0xe3,0x0,0x1 +004418 e21d BC 0x4454 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0043fe 0100 MOVLB 0x0 if (RC2Difference > (INT16)gRC2Rate[gRC2Ptr]) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004400 ec60 CALL 0x6ac0,0x0 -004402 f035 -004404 ec1c CALL 0x6838,0x0 -004406 f034 -004408 0100 MOVLB 0x0 -00440a 503c MOVF 0x3c,0x0,0x0 -00440c 19e3 XORWF 0xe3,0x0,0x1 -00440e aee8 BTFSS 0xe8,0x7,0x0 -004410 d002 BRA 0x4416 -004412 35e3 RLCF 0xe3,0x0,0x1 -004414 d004 BRA 0x441e -004416 51e2 MOVF 0xe2,0x0,0x1 -004418 5c3b SUBWF 0x3b,0x0,0x0 -00441a 51e3 MOVF 0xe3,0x0,0x1 -00441c 583c SUBWFB 0x3c,0x0,0x0 -00441e e20a BC 0x4434 +00441a 0100 MOVLB 0x0 if (RC2Difference > (INT16)gRC2Rate[gRC2Ptr]) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +00441c ec6e CALL 0x6adc,0x0 +00441e f035 +004420 ec2a CALL 0x6854,0x0 +004422 f034 +004424 0100 MOVLB 0x0 +004426 5050 MOVF 0x50,0x0,0x0 +004428 19e3 XORWF 0xe3,0x0,0x1 +00442a aee8 BTFSS 0xe8,0x7,0x0 +00442c d002 BRA 0x4432 +00442e 35e3 RLCF 0xe3,0x0,0x1 +004430 d004 BRA 0x443a +004432 51e2 MOVF 0xe2,0x0,0x1 +004434 5c4f SUBWF 0x4f,0x0,0x0 +004436 51e3 MOVF 0xe3,0x0,0x1 +004438 5850 SUBWFB 0x50,0x0,0x0 +00443a e20a BC 0x4450 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004420 0100 MOVLB 0x0 gRC2Value[gRC2Ptr] += gRC2Rate[gRC2Ptr]; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004422 ec60 CALL 0x6ac0,0x0 -004424 f035 -004426 ec31 CALL 0x6a62,0x0 -004428 f035 -00442a 503b MOVF 0x3b,0x0,0x0 -00442c 26ee ADDWF 0xee,0x1,0x0 -00442e 503c MOVF 0x3c,0x0,0x0 -004430 22ed ADDWFC 0xed,0x1,0x0 +00443c 0100 MOVLB 0x0 gRC2Value[gRC2Ptr] += gRC2Rate[gRC2Ptr]; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +00443e ec6e CALL 0x6adc,0x0 +004440 f035 +004442 ec3f CALL 0x6a7e,0x0 +004444 f035 +004446 504f MOVF 0x4f,0x0,0x0 +004448 26ee ADDWF 0xee,0x1,0x0 +00444a 5050 MOVF 0x50,0x0,0x0 +00444c 22ed ADDWFC 0xed,0x1,0x0 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004432 d02c BRA 0x448c else C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +00444e d02c BRA 0x44a8 else C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004434 0100 MOVLB 0x0 gRC2Value[gRC2Ptr] = gRC2Target[gRC2Ptr]; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +004450 0100 MOVLB 0x0 gRC2Value[gRC2Ptr] = gRC2Target[gRC2Ptr]; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004436 d024 BRA 0x4480 else C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +004452 d024 BRA 0x449c else C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004438 c0e2 MOVFF 0xe2,0x3b if (-RC2Difference > (INT16)gRC2Rate[gRC2Ptr]) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00443a f03b -00443c c0e3 MOVFF 0xe3,0x3c -00443e f03c -004440 6c3b NEGF 0x3b,0x0 -004442 1e3c COMF 0x3c,0x1,0x0 -004444 0e00 MOVLW 0x0 -004446 223c ADDWFC 0x3c,0x1,0x0 -004448 0100 MOVLB 0x0 -00444a ec60 CALL 0x6ac0,0x0 -00444c f035 -00444e 22ea ADDWFC 0xea,0x1,0x0 -004450 cfee MOVFF 0xfee,0x3d -004452 f03d -004454 cfef MOVFF 0xfef,0x3e -004456 f03e -004458 503e MOVF 0x3e,0x0,0x0 -00445a 183c XORWF 0x3c,0x0,0x0 -00445c aee8 BTFSS 0xe8,0x7,0x0 -00445e d002 BRA 0x4464 -004460 343c RLCF 0x3c,0x0,0x0 -004462 d004 BRA 0x446c -004464 503b MOVF 0x3b,0x0,0x0 -004466 5c3d SUBWF 0x3d,0x0,0x0 -004468 503c MOVF 0x3c,0x0,0x0 -00446a 583e SUBWFB 0x3e,0x0,0x0 -00446c e209 BC 0x4480 -006ac0 de85 RCALL 0x67cc -006ac2 0e75 MOVLW 0x75 -006ac4 26e9 ADDWF 0xe9,0x1,0x0 -006ac6 0e00 MOVLW 0x0 -006ac8 0012 RETURN 0x0 +004454 c0e2 MOVFF 0xe2,0x4f if (-RC2Difference > (INT16)gRC2Rate[gRC2Ptr]) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +004456 f04f +004458 c0e3 MOVFF 0xe3,0x50 +00445a f050 +00445c 6c4f NEGF 0x4f,0x0 +00445e 1e50 COMF 0x50,0x1,0x0 +004460 0e00 MOVLW 0x0 +004462 2250 ADDWFC 0x50,0x1,0x0 +004464 0100 MOVLB 0x0 +004466 ec6e CALL 0x6adc,0x0 +004468 f035 +00446a 22ea ADDWFC 0xea,0x1,0x0 +00446c cfee MOVFF 0xfee,0x51 +00446e f051 +004470 cfef MOVFF 0xfef,0x52 +004472 f052 +004474 5052 MOVF 0x52,0x0,0x0 +004476 1850 XORWF 0x50,0x0,0x0 +004478 aee8 BTFSS 0xe8,0x7,0x0 +00447a d002 BRA 0x4480 +00447c 3450 RLCF 0x50,0x0,0x0 +00447e d004 BRA 0x4488 +004480 504f MOVF 0x4f,0x0,0x0 +004482 5c51 SUBWF 0x51,0x0,0x0 +004484 5050 MOVF 0x50,0x0,0x0 +004486 5852 SUBWFB 0x52,0x0,0x0 +004488 e209 BC 0x449c +006adc de85 RCALL 0x67e8 +006ade 0e75 MOVLW 0x75 +006ae0 26e9 ADDWF 0xe9,0x1,0x0 +006ae2 0e00 MOVLW 0x0 +006ae4 0012 RETURN 0x0 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00446e ec60 CALL 0x6ac0,0x0 gRC2Value[gRC2Ptr] -= gRC2Rate[gRC2Ptr]; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004470 f035 -004472 ec31 CALL 0x6a62,0x0 -004474 f035 -004476 503b MOVF 0x3b,0x0,0x0 -004478 5eee SUBWF 0xee,0x1,0x0 -00447a 503c MOVF 0x3c,0x0,0x0 -00447c 5aed SUBWFB 0xed,0x1,0x0 +00448a ec6e CALL 0x6adc,0x0 gRC2Value[gRC2Ptr] -= gRC2Rate[gRC2Ptr]; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +00448c f035 +00448e ec3f CALL 0x6a7e,0x0 +004490 f035 +004492 504f MOVF 0x4f,0x0,0x0 +004494 5eee SUBWF 0xee,0x1,0x0 +004496 5050 MOVF 0x50,0x0,0x0 +004498 5aed SUBWFB 0xed,0x1,0x0 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00447e d006 BRA 0x448c else C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +00449a d006 BRA 0x44a8 else C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004480 ec10 CALL 0x6c20,0x0 gRC2Value[gRC2Ptr] = gRC2Target[gRC2Ptr]; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004482 f036 -004484 c03b MOVFF 0x3b,0xfee -004486 ffee -004488 c03c MOVFF 0x3c,0xfed -00448a ffed -006838 22ea ADDWFC 0xea,0x1,0x0 -00683a cfee MOVFF 0xfee,0x3b -00683c f03b -00683e cfef MOVFF 0xfef,0x3c -006840 f03c -006842 0012 RETURN 0x0 -006a62 deea RCALL 0x6838 -006a64 d8ea RCALL 0x6c3a -006a66 22ea ADDWFC 0xea,0x1,0x0 -006a68 0012 RETURN 0x0 -006c20 ddd5 RCALL 0x67cc -006c22 0e6d MOVLW 0x6d -006c24 26e9 ADDWF 0xe9,0x1,0x0 -006c26 0e00 MOVLW 0x0 -006c28 ef31 GOTO 0x6a62 -006c2a f035 -006c3a ddc8 RCALL 0x67cc -006c3c 0e61 MOVLW 0x61 -006c3e 26e9 ADDWF 0xe9,0x1,0x0 -006c40 0e00 MOVLW 0x0 -006c42 0012 RETURN 0x0 +00449c ec1e CALL 0x6c3c,0x0 gRC2Value[gRC2Ptr] = gRC2Target[gRC2Ptr]; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +00449e f036 +0044a0 c04f MOVFF 0x4f,0xfee +0044a2 ffee +0044a4 c050 MOVFF 0x50,0xfed +0044a6 ffed +006854 22ea ADDWFC 0xea,0x1,0x0 +006856 cfee MOVFF 0xfee,0x4f +006858 f04f +00685a cfef MOVFF 0xfef,0x50 +00685c f050 +00685e 0012 RETURN 0x0 +006a7e deea RCALL 0x6854 +006a80 d8ea RCALL 0x6c56 +006a82 22ea ADDWFC 0xea,0x1,0x0 +006a84 0012 RETURN 0x0 +006c3c ddd5 RCALL 0x67e8 +006c3e 0e6d MOVLW 0x6d +006c40 26e9 ADDWF 0xe9,0x1,0x0 +006c42 0e00 MOVLW 0x0 +006c44 ef3f GOTO 0x6a7e +006c46 f035 +006c56 ddc8 RCALL 0x67e8 +006c58 0e61 MOVLW 0x61 +006c5a 26e9 ADDWF 0xe9,0x1,0x0 +006c5c 0e00 MOVLW 0x0 +006c5e 0012 RETURN 0x0 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // Set up the PPS routing for the CCP2 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00448c eca4 CALL 0x6948,0x0 *(gRC2RPORPtr + gRC2RPn[gRC2Ptr]) = 18; // 18 = CCP2 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00448e f034 -004490 0e12 MOVLW 0x12 -004492 6eef MOVWF 0xef,0x0 +0044a8 ecb2 CALL 0x6964,0x0 *(gRC2RPORPtr + gRC2RPn[gRC2Ptr]) = 18; // 18 = CCP2 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0044aa f034 +0044ac 0e12 MOVLW 0x12 +0044ae 6eef MOVWF 0xef,0x0 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // Disable interrupts (high) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004494 9ef2 BCF 0xf2,0x7,0x0 INTCONbits.GIEH = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0044b0 9ef2 BCF 0xf2,0x7,0x0 INTCONbits.GIEH = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // Load up the new compare time C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004496 0100 MOVLB 0x0 CCPR2H = gRC2Value[gRC2Ptr] >> 8; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004498 ecac CALL 0x6b58,0x0 -00449a f035 -00449c c03c MOVFF 0x3c,0x3b -00449e f03b -0044a0 6a3c CLRF 0x3c,0x0 -0044a2 503b MOVF 0x3b,0x0,0x0 -0044a4 6eb6 MOVWF 0xb6,0x0 -006b58 d870 RCALL 0x6c3a -006b5a ef1c GOTO 0x6838 -006b5c f034 -0044a6 ecac CALL 0x6b58,0x0 CCPR2L = gRC2Value[gRC2Ptr] & 0xFF; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0044a8 f035 -0044aa 503b MOVF 0x3b,0x0,0x0 -0044ac 6eb5 MOVWF 0xb5,0x0 -0067cc 517d MOVF 0x7d,0x0,0x1 -0067ce 6ee9 MOVWF 0xe9,0x0 -0067d0 6aea CLRF 0xea,0x0 -0067d2 90d8 BCF 0xd8,0x0,0x0 -0067d4 36e9 RLCF 0xe9,0x1,0x0 -0067d6 36ea RLCF 0xea,0x1,0x0 -0067d8 0012 RETURN 0x0 -0044ae 0ef0 MOVLW 0xf0 CCP2CONbits.CCP2M = 0b0000; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0044b0 14b4 ANDWF 0xb4,0x0,0x0 -0044b2 0900 IORLW 0x0 -0044b4 6eb4 MOVWF 0xb4,0x0 -0044b6 0ef0 MOVLW 0xf0 CCP2CONbits.CCP2M = 0b1001; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0044b8 14b4 ANDWF 0xb4,0x0,0x0 -0044ba 0909 IORLW 0x9 -0044bc 6eb4 MOVWF 0xb4,0x0 +0044b2 0100 MOVLB 0x0 CCPR2H = gRC2Value[gRC2Ptr] >> 8; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0044b4 ecba CALL 0x6b74,0x0 +0044b6 f035 +0044b8 c050 MOVFF 0x50,0x4f +0044ba f04f +0044bc 6a50 CLRF 0x50,0x0 +0044be 504f MOVF 0x4f,0x0,0x0 +0044c0 6eb6 MOVWF 0xb6,0x0 +006b74 d870 RCALL 0x6c56 +006b76 ef2a GOTO 0x6854 +006b78 f034 +0044c2 ecba CALL 0x6b74,0x0 CCPR2L = gRC2Value[gRC2Ptr] & 0xFF; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0044c4 f035 +0044c6 504f MOVF 0x4f,0x0,0x0 +0044c8 6eb5 MOVWF 0xb5,0x0 +0067e8 517d MOVF 0x7d,0x0,0x1 +0067ea 6ee9 MOVWF 0xe9,0x0 +0067ec 6aea CLRF 0xea,0x0 +0067ee 90d8 BCF 0xd8,0x0,0x0 +0067f0 36e9 RLCF 0xe9,0x1,0x0 +0067f2 36ea RLCF 0xea,0x1,0x0 +0067f4 0012 RETURN 0x0 +0044ca 0ef0 MOVLW 0xf0 CCP2CONbits.CCP2M = 0b0000; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0044cc 14b4 ANDWF 0xb4,0x0,0x0 +0044ce 0900 IORLW 0x0 +0044d0 6eb4 MOVWF 0xb4,0x0 +0044d2 0ef0 MOVLW 0xf0 CCP2CONbits.CCP2M = 0b1001; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0044d4 14b4 ANDWF 0xb4,0x0,0x0 +0044d6 0909 IORLW 0x9 +0044d8 6eb4 MOVWF 0xb4,0x0 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // Turn TIMER3 back on C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0044be 8079 BSF 0x79,0x0,0x0 T3CONbits.TMR3ON = 1; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0044da 8079 BSF 0x79,0x0,0x0 T3CONbits.TMR3ON = 1; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // Re-enable interrupts C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0044c0 8ef2 BSF 0xf2,0x7,0x0 INTCONbits.GIEH = 1; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0044dc 8ef2 BSF 0xf2,0x7,0x0 INTCONbits.GIEH = 1; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // See if it's time to fire off an I packet C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0044c2 0100 MOVLB 0x0 if (ISR_D_RepeatRate > 0u) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0044c4 0e00 MOVLW 0x0 -0044c6 80d8 BSF 0xd8,0x0,0x0 -0044c8 558d SUBFWB 0x8d,0x0,0x1 -0044ca 0e00 MOVLW 0x0 -0044cc 558e SUBFWB 0x8e,0x0,0x1 -0044ce e22e BC 0x452c +0044de 0100 MOVLB 0x0 if (ISR_D_RepeatRate > 0u) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0044e0 0e00 MOVLW 0x0 +0044e2 80d8 BSF 0xd8,0x0,0x0 +0044e4 558d SUBFWB 0x8d,0x0,0x1 +0044e6 0e00 MOVLW 0x0 +0044e8 558e SUBFWB 0x8e,0x0,0x1 +0044ea e22e BC 0x4548 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0044d0 2b9b INCF 0x9b,0x1,0x1 D_tick_counter++; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0044d2 0e00 MOVLW 0x0 -0044d4 239c ADDWFC 0x9c,0x1,0x1 -0044d6 518d MOVF 0x8d,0x0,0x1 if (D_tick_counter >= ISR_D_RepeatRate) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0044d8 5d9b SUBWF 0x9b,0x0,0x1 -0044da 518e MOVF 0x8e,0x0,0x1 -0044dc 599c SUBWFB 0x9c,0x0,0x1 -0044de e326 BNC 0x452c +0044ec 2b9b INCF 0x9b,0x1,0x1 D_tick_counter++; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0044ee 0e00 MOVLW 0x0 +0044f0 239c ADDWFC 0x9c,0x1,0x1 +0044f2 518d MOVF 0x8d,0x0,0x1 if (D_tick_counter >= ISR_D_RepeatRate) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0044f4 5d9b SUBWF 0x9b,0x0,0x1 +0044f6 518e MOVF 0x8e,0x0,0x1 +0044f8 599c SUBWFB 0x9c,0x0,0x1 +0044fa e326 BNC 0x4548 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0044e0 6b9b CLRF 0x9b,0x1 D_tick_counter = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0044e2 6b9c CLRF 0x9c,0x1 +0044fc 6b9b CLRF 0x9b,0x1 D_tick_counter = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0044fe 6b9c CLRF 0x9c,0x1 // Tell the main code to send an I packet C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0044e4 0e03 MOVLW 0x3 if (ISR_D_FIFO_length < kISR_FIFO_D_DEPTH) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0044e6 5d91 SUBWF 0x91,0x0,0x1 -0044e8 e21f BC 0x4528 +004500 0e03 MOVLW 0x3 if (ISR_D_FIFO_length < kISR_FIFO_D_DEPTH) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +004502 5d91 SUBWF 0x91,0x0,0x1 +004504 e21f BC 0x4544 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // And copy over our port values C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0044ea 518f MOVF 0x8f,0x0,0x1 ISR_D_FIFO[0][ISR_D_FIFO_in] = PORTA; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0044ec 6aea CLRF 0xea,0x0 -0044ee 0f20 ADDLW 0x20 -0044f0 6ee9 MOVWF 0xe9,0x0 -0044f2 0e01 MOVLW 0x1 -0044f4 22ea ADDWFC 0xea,0x1,0x0 -0044f6 cf80 MOVFF 0xf80,0xfef -0044f8 ffef -0044fa 518f MOVF 0x8f,0x0,0x1 ISR_D_FIFO[1][ISR_D_FIFO_in] = PORTB; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0044fc 6aea CLRF 0xea,0x0 -0044fe 0f23 ADDLW 0x23 -004500 6ee9 MOVWF 0xe9,0x0 -004502 0e01 MOVLW 0x1 -004504 22ea ADDWFC 0xea,0x1,0x0 -004506 cf81 MOVFF 0xf81,0xfef -004508 ffef -00450a 518f MOVF 0x8f,0x0,0x1 ISR_D_FIFO[2][ISR_D_FIFO_in] = PORTC; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00450c 6aea CLRF 0xea,0x0 -00450e 0f26 ADDLW 0x26 -004510 6ee9 MOVWF 0xe9,0x0 -004512 0e01 MOVLW 0x1 -004514 22ea ADDWFC 0xea,0x1,0x0 -004516 cf82 MOVFF 0xf82,0xfef -004518 ffef -00451a 2b8f INCF 0x8f,0x1,0x1 ISR_D_FIFO_in++; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00451c 0e03 MOVLW 0x3 if (ISR_D_FIFO_in >= kISR_FIFO_D_DEPTH) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00451e 5d8f SUBWF 0x8f,0x0,0x1 -004520 e301 BNC 0x4524 +004506 518f MOVF 0x8f,0x0,0x1 ISR_D_FIFO[0][ISR_D_FIFO_in] = PORTA; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +004508 6aea CLRF 0xea,0x0 +00450a 0f20 ADDLW 0x20 +00450c 6ee9 MOVWF 0xe9,0x0 +00450e 0e01 MOVLW 0x1 +004510 22ea ADDWFC 0xea,0x1,0x0 +004512 cf80 MOVFF 0xf80,0xfef +004514 ffef +004516 518f MOVF 0x8f,0x0,0x1 ISR_D_FIFO[1][ISR_D_FIFO_in] = PORTB; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +004518 6aea CLRF 0xea,0x0 +00451a 0f23 ADDLW 0x23 +00451c 6ee9 MOVWF 0xe9,0x0 +00451e 0e01 MOVLW 0x1 +004520 22ea ADDWFC 0xea,0x1,0x0 +004522 cf81 MOVFF 0xf81,0xfef +004524 ffef +004526 518f MOVF 0x8f,0x0,0x1 ISR_D_FIFO[2][ISR_D_FIFO_in] = PORTC; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +004528 6aea CLRF 0xea,0x0 +00452a 0f26 ADDLW 0x26 +00452c 6ee9 MOVWF 0xe9,0x0 +00452e 0e01 MOVLW 0x1 +004530 22ea ADDWFC 0xea,0x1,0x0 +004532 cf82 MOVFF 0xf82,0xfef +004534 ffef +004536 2b8f INCF 0x8f,0x1,0x1 ISR_D_FIFO_in++; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +004538 0e03 MOVLW 0x3 if (ISR_D_FIFO_in >= kISR_FIFO_D_DEPTH) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +00453a 5d8f SUBWF 0x8f,0x0,0x1 +00453c e301 BNC 0x4540 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004522 6b8f CLRF 0x8f,0x1 ISR_D_FIFO_in = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +00453e 6b8f CLRF 0x8f,0x1 ISR_D_FIFO_in = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004524 2b91 INCF 0x91,0x1,0x1 ISR_D_FIFO_length++; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +004540 2b91 INCF 0x91,0x1,0x1 ISR_D_FIFO_length++; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004526 d002 BRA 0x452c else C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +004542 d002 BRA 0x4548 else C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // Stop the madness! Something is wrong, we're C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // not getting our packets out. So kill the C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // timer. C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004528 6b8d CLRF 0x8d,0x1 ISR_D_RepeatRate = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00452a 6b8e CLRF 0x8e,0x1 +004544 6b8d CLRF 0x8d,0x1 ISR_D_RepeatRate = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +004546 6b8e CLRF 0x8e,0x1 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // See if it's time to fire off an A packet C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00452c 0e00 MOVLW 0x0 if ((ISR_A_RepeatRate > 0u) && (AnalogEnabledChannels > 0u)) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00452e 80d8 BSF 0xd8,0x0,0x0 -004530 5592 SUBFWB 0x92,0x0,0x1 -004532 0e00 MOVLW 0x0 -004534 5593 SUBFWB 0x93,0x0,0x1 -004536 e21c BC 0x4570 -004538 0e00 MOVLW 0x0 -00453a 80d8 BSF 0xd8,0x0,0x0 -00453c 55a1 SUBFWB 0xa1,0x0,0x1 -00453e 0e00 MOVLW 0x0 -004540 55a2 SUBFWB 0xa2,0x0,0x1 -004542 e216 BC 0x4570 +004548 0e00 MOVLW 0x0 if ((ISR_A_RepeatRate > 0u) && (AnalogEnabledChannels > 0u)) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +00454a 80d8 BSF 0xd8,0x0,0x0 +00454c 5592 SUBFWB 0x92,0x0,0x1 +00454e 0e00 MOVLW 0x0 +004550 5593 SUBFWB 0x93,0x0,0x1 +004552 e21c BC 0x458c +004554 0e00 MOVLW 0x0 +004556 80d8 BSF 0xd8,0x0,0x0 +004558 55a1 SUBFWB 0xa1,0x0,0x1 +00455a 0e00 MOVLW 0x0 +00455c 55a2 SUBFWB 0xa2,0x0,0x1 +00455e e216 BC 0x458c { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004544 2b9d INCF 0x9d,0x1,0x1 A_tick_counter++; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004546 0e00 MOVLW 0x0 -004548 239e ADDWFC 0x9e,0x1,0x1 -00454a 5192 MOVF 0x92,0x0,0x1 if (A_tick_counter >= ISR_A_RepeatRate) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00454c 5d9d SUBWF 0x9d,0x0,0x1 -00454e 5193 MOVF 0x93,0x0,0x1 -004550 599e SUBWFB 0x9e,0x0,0x1 -004552 e30e BNC 0x4570 +004560 2b9d INCF 0x9d,0x1,0x1 A_tick_counter++; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +004562 0e00 MOVLW 0x0 +004564 239e ADDWFC 0x9e,0x1,0x1 +004566 5192 MOVF 0x92,0x0,0x1 if (A_tick_counter >= ISR_A_RepeatRate) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +004568 5d9d SUBWF 0x9d,0x0,0x1 +00456a 5193 MOVF 0x93,0x0,0x1 +00456c 599e SUBWFB 0x9e,0x0,0x1 +00456e e30e BNC 0x458c { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004554 6b9d CLRF 0x9d,0x1 A_tick_counter = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004556 6b9e CLRF 0x9e,0x1 +004570 6b9d CLRF 0x9d,0x1 A_tick_counter = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +004572 6b9e CLRF 0x9e,0x1 // Tell the main code to send an A packet C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004558 0e03 MOVLW 0x3 if (ISR_A_FIFO_length < kISR_FIFO_A_DEPTH) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00455a 5d96 SUBWF 0x96,0x0,0x1 -00455c e207 BC 0x456c +004574 0e03 MOVLW 0x3 if (ISR_A_FIFO_length < kISR_FIFO_A_DEPTH) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +004576 5d96 SUBWF 0x96,0x0,0x1 +004578 e207 BC 0x4588 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00455e 2b94 INCF 0x94,0x1,0x1 ISR_A_FIFO_in++; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004560 0e03 MOVLW 0x3 if (ISR_A_FIFO_in >= kISR_FIFO_A_DEPTH) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004562 5d94 SUBWF 0x94,0x0,0x1 -004564 e301 BNC 0x4568 +00457a 2b94 INCF 0x94,0x1,0x1 ISR_A_FIFO_in++; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +00457c 0e03 MOVLW 0x3 if (ISR_A_FIFO_in >= kISR_FIFO_A_DEPTH) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +00457e 5d94 SUBWF 0x94,0x0,0x1 +004580 e301 BNC 0x4584 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004566 6b94 CLRF 0x94,0x1 ISR_A_FIFO_in = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +004582 6b94 CLRF 0x94,0x1 ISR_A_FIFO_in = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004568 2b96 INCF 0x96,0x1,0x1 ISR_A_FIFO_length++; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +004584 2b96 INCF 0x96,0x1,0x1 ISR_A_FIFO_length++; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00456a d002 BRA 0x4570 else C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +004586 d002 BRA 0x458c else C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // Stop the madness! Something is wrong, we're C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // not getting our packets out. So kill the A C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // packets. C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00456c 6b92 CLRF 0x92,0x1 ISR_A_RepeatRate = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00456e 6b93 CLRF 0x93,0x1 +004588 6b92 CLRF 0x92,0x1 ISR_A_RepeatRate = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +00458a 6b93 CLRF 0x93,0x1 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // Only start analog conversions if there are channels enabled C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004570 51a1 MOVF 0xa1,0x0,0x1 if (AnalogEnabledChannels) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004572 11a2 IORWF 0xa2,0x0,0x1 -004574 e00b BZ 0x458c +00458c 51a1 MOVF 0xa1,0x0,0x1 if (AnalogEnabledChannels) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +00458e 11a2 IORWF 0xa2,0x0,0x1 +004590 e00b BZ 0x45a8 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // Only start every so many ms C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004576 0e05 MOVLW 0x5 if (AnalogInitiate >= ANALOG_INITATE_MS_BETWEEN_STARTS) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004578 5da0 SUBWF 0xa0,0x0,0x1 -00457a e307 BNC 0x458a +004592 0e05 MOVLW 0x5 if (AnalogInitiate >= ANALOG_INITATE_MS_BETWEEN_STARTS) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +004594 5da0 SUBWF 0xa0,0x0,0x1 +004596 e307 BNC 0x45a6 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // Always start off with calibration C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00457c 8cc1 BSF 0xc1,0x6,0x0 ADCON1bits.ADCAL = 1; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +004598 8cc1 BSF 0xc1,0x6,0x0 ADCON1bits.ADCAL = 1; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // Clear the interrupt C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00457e 9c9e BCF 0x9e,0x6,0x0 PIR1bits.ADIF = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +00459a 9c9e BCF 0x9e,0x6,0x0 PIR1bits.ADIF = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // Set the interrupt enable C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004580 8c9d BSF 0x9d,0x6,0x0 PIE1bits.ADIE = 1; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +00459c 8c9d BSF 0x9d,0x6,0x0 PIE1bits.ADIE = 1; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // Make sure it's on! C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004582 80c2 BSF 0xc2,0x0,0x0 ADCON0bits.ADON = 1; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +00459e 80c2 BSF 0xc2,0x0,0x0 ADCON0bits.ADON = 1; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // And tell the A/D to GO! C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004584 82c2 BSF 0xc2,0x1,0x0 ADCON0bits.GO_DONE = 1; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0045a0 82c2 BSF 0xc2,0x1,0x0 ADCON0bits.GO_DONE = 1; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // Reset AnalogInitiate counter C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004586 6ba0 CLRF 0xa0,0x1 AnalogInitiate = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0045a2 6ba0 CLRF 0xa0,0x1 AnalogInitiate = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // Otherwise, increment each 1ms C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004588 d001 BRA 0x458c else C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0045a4 d001 BRA 0x45a8 else C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00458a 2ba0 INCF 0xa0,0x1,0x1 AnalogInitiate++; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0045a6 2ba0 INCF 0xa0,0x1,0x1 AnalogInitiate++; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c @@ -17669,91 +17699,91 @@ Address Value Disassembly Source #endif C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // Software timer for QC command C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00458c 010b MOVLB 0xb if (QC_ms_timer) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00458e 517f MOVF 0x7f,0x0,0x1 -004590 e001 BZ 0x4594 +0045a8 0101 MOVLB 0x1 if (QC_ms_timer) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0045aa 51b9 MOVF 0xb9,0x0,0x1 +0045ac e001 BZ 0x45b0 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004592 077f DECF 0x7f,0x1,0x1 QC_ms_timer--; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0045ae 07b9 DECF 0xb9,0x1,0x1 QC_ms_timer--; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // Software timer for RCServo power control C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004594 0100 MOVLB 0x0 if (gRCServoPoweroffCounterMS) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004596 51d1 MOVF 0xd1,0x0,0x1 -004598 11d2 IORWF 0xd2,0x0,0x1 -00459a 11d3 IORWF 0xd3,0x0,0x1 -00459c 11d4 IORWF 0xd4,0x0,0x1 -00459e e00b BZ 0x45b6 +0045b0 0100 MOVLB 0x0 if (gRCServoPoweroffCounterMS) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0045b2 51d1 MOVF 0xd1,0x0,0x1 +0045b4 11d2 IORWF 0xd2,0x0,0x1 +0045b6 11d3 IORWF 0xd3,0x0,0x1 +0045b8 11d4 IORWF 0xd4,0x0,0x1 +0045ba e00b BZ 0x45d2 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0045a0 07d1 DECF 0xd1,0x1,0x1 gRCServoPoweroffCounterMS--; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0045a2 0e00 MOVLW 0x0 -0045a4 5bd2 SUBWFB 0xd2,0x1,0x1 -0045a6 5bd3 SUBWFB 0xd3,0x1,0x1 -0045a8 5bd4 SUBWFB 0xd4,0x1,0x1 +0045bc 07d1 DECF 0xd1,0x1,0x1 gRCServoPoweroffCounterMS--; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0045be 0e00 MOVLW 0x0 +0045c0 5bd2 SUBWFB 0xd2,0x1,0x1 +0045c2 5bd3 SUBWFB 0xd3,0x1,0x1 +0045c4 5bd4 SUBWFB 0xd4,0x1,0x1 // If we just timed out, then shut off RC Servo power C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0045aa 51d1 MOVF 0xd1,0x0,0x1 if (gRCServoPoweroffCounterMS == 0u) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0045ac 11d2 IORWF 0xd2,0x0,0x1 -0045ae 11d3 IORWF 0xd3,0x0,0x1 -0045b0 11d4 IORWF 0xd4,0x0,0x1 -0045b2 e101 BNZ 0x45b6 +0045c6 51d1 MOVF 0xd1,0x0,0x1 if (gRCServoPoweroffCounterMS == 0u) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0045c8 11d2 IORWF 0xd2,0x0,0x1 +0045ca 11d3 IORWF 0xd3,0x0,0x1 +0045cc 11d4 IORWF 0xd4,0x0,0x1 +0045ce e101 BNZ 0x45d2 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0045b4 9689 BCF 0x89,0x3,0x0 RCServoPowerIO = RCSERVO_POWER_OFF; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0045d0 9689 BCF 0x89,0x3,0x0 RCServoPowerIO = RCSERVO_POWER_OFF; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // Check for stepper motor disable timeout if enabled C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0045b6 0e02 MOVLW 0x2 if (g_StepperDisableState == kSTEPPER_TIMEOUT_TIMING) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0045b8 5da8 SUBWF 0xa8,0x0,0x1 -0045ba e120 BNZ 0x45fc +0045d2 0e02 MOVLW 0x2 if (g_StepperDisableState == kSTEPPER_TIMEOUT_TIMING) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0045d4 5da8 SUBWF 0xa8,0x0,0x1 +0045d6 e120 BNZ 0x4618 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // Count the milliseconds until we get to 1 second C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0045bc 51ab MOVF 0xab,0x0,0x1 if (g_StepperDisableSecondCounter) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0045be 11ac IORWF 0xac,0x0,0x1 -0045c0 e01d BZ 0x45fc +0045d8 51ab MOVF 0xab,0x0,0x1 if (g_StepperDisableSecondCounter) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0045da 11ac IORWF 0xac,0x0,0x1 +0045dc e01d BZ 0x4618 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0045c2 07ab DECF 0xab,0x1,0x1 g_StepperDisableSecondCounter--; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0045c4 0e00 MOVLW 0x0 -0045c6 5bac SUBWFB 0xac,0x1,0x1 +0045de 07ab DECF 0xab,0x1,0x1 g_StepperDisableSecondCounter--; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0045e0 0e00 MOVLW 0x0 +0045e2 5bac SUBWFB 0xac,0x1,0x1 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0045c8 51ab MOVF 0xab,0x0,0x1 if (g_StepperDisableSecondCounter == 0u) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0045ca 11ac IORWF 0xac,0x0,0x1 -0045cc e117 BNZ 0x45fc +0045e4 51ab MOVF 0xab,0x0,0x1 if (g_StepperDisableSecondCounter == 0u) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0045e6 11ac IORWF 0xac,0x0,0x1 +0045e8 e117 BNZ 0x4618 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // Then count down the seconds C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0045ce 51ad MOVF 0xad,0x0,0x1 if (g_StepperDisableCountdownS) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0045d0 11ae IORWF 0xae,0x0,0x1 -0045d2 e014 BZ 0x45fc +0045ea 51ad MOVF 0xad,0x0,0x1 if (g_StepperDisableCountdownS) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0045ec 11ae IORWF 0xae,0x0,0x1 +0045ee e014 BZ 0x4618 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0045d4 07ad DECF 0xad,0x1,0x1 g_StepperDisableCountdownS--; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0045d6 0e00 MOVLW 0x0 -0045d8 5bae SUBWFB 0xae,0x1,0x1 +0045f0 07ad DECF 0xad,0x1,0x1 g_StepperDisableCountdownS--; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0045f2 0e00 MOVLW 0x0 +0045f4 5bae SUBWFB 0xae,0x1,0x1 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0045da 51ad MOVF 0xad,0x0,0x1 if (g_StepperDisableCountdownS == 0u) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0045dc 11ae IORWF 0xae,0x0,0x1 -0045de e10a BNZ 0x45f4 +0045f6 51ad MOVF 0xad,0x0,0x1 if (g_StepperDisableCountdownS == 0u) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0045f8 11ae IORWF 0xae,0x0,0x1 +0045fa e10a BNZ 0x4610 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // If the countdown gets to zero, then it's time to disable C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // the steppers. C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0045e0 5004 MOVF 0x4,0x0,0x0 if (DriverConfiguration == PIC_CONTROLS_DRIVERS) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0045e2 e103 BNZ 0x45ea +0045fc 5004 MOVF 0x4,0x0,0x0 if (DriverConfiguration == PIC_CONTROLS_DRIVERS) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0045fe e103 BNZ 0x4606 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0045e4 808d BSF 0x8d,0x0,0x0 Enable1IO = DISABLE_MOTOR; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0045e6 828b BSF 0x8b,0x1,0x0 Enable2IO = DISABLE_MOTOR; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +004600 808d BSF 0x8d,0x0,0x0 Enable1IO = DISABLE_MOTOR; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +004602 828b BSF 0x8b,0x1,0x0 Enable2IO = DISABLE_MOTOR; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0045e8 d002 BRA 0x45ee else C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +004604 d002 BRA 0x460a else C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0045ea 828c BSF 0x8c,0x1,0x0 Enable1AltIO = DISABLE_MOTOR; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0045ec 8289 BSF 0x89,0x1,0x0 Enable2AltIO = DISABLE_MOTOR; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +004606 828c BSF 0x8c,0x1,0x0 Enable1AltIO = DISABLE_MOTOR; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +004608 8289 BSF 0x89,0x1,0x0 Enable2AltIO = DISABLE_MOTOR; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0045ee 0e03 MOVLW 0x3 g_StepperDisableState = kSTEPPER_TIMEOUT_FIRED; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0045f0 6fa8 MOVWF 0xa8,0x1 +00460a 0e03 MOVLW 0x3 g_StepperDisableState = kSTEPPER_TIMEOUT_FIRED; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +00460c 6fa8 MOVWF 0xa8,0x1 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0045f2 d004 BRA 0x45fc else C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +00460e d004 BRA 0x4618 else C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // Only count the next second if there are still seconds to count C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0045f4 0ee8 MOVLW 0xe8 g_StepperDisableSecondCounter = 1000u; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0045f6 6fab MOVWF 0xab,0x1 -0045f8 0e03 MOVLW 0x3 -0045fa 6fac MOVWF 0xac,0x1 +004610 0ee8 MOVLW 0xe8 g_StepperDisableSecondCounter = 1000u; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +004612 6fab MOVWF 0xab,0x1 +004614 0e03 MOVLW 0x3 +004616 6fac MOVWF 0xac,0x1 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c @@ -17775,535 +17805,535 @@ Address Value Disassembly Source } // end of 1ms interrupt C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // Do we have an analog interrupt? C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0045fc ac9e BTFSS 0x9e,0x6,0x0 if (PIR1bits.ADIF) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0045fe d04f BRA 0x469e +004618 ac9e BTFSS 0x9e,0x6,0x0 if (PIR1bits.ADIF) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +00461a d04f BRA 0x46ba { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // Clear the interrupt C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004600 9c9e BCF 0x9e,0x6,0x0 PIR1bits.ADIF = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +00461c 9c9e BCF 0x9e,0x6,0x0 PIR1bits.ADIF = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // If we just had a calibration, means we just started, so clear things C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // out and begin our sequence. C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004602 acc1 BTFSS 0xc1,0x6,0x0 if (ADCON1bits.ADCAL) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004604 d007 BRA 0x4614 +00461e acc1 BTFSS 0xc1,0x6,0x0 if (ADCON1bits.ADCAL) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +004620 d007 BRA 0x4630 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004606 9cc1 BCF 0xc1,0x6,0x0 ADCON1bits.ADCAL = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004608 0e01 MOVLW 0x1 ChannelBit = 0x0001; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00460a 0100 MOVLB 0x0 -00460c 6fa3 MOVWF 0xa3,0x1 -00460e 6ba4 CLRF 0xa4,0x1 -004610 6b9f CLRF 0x9f,0x1 A_cur_channel = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +004622 9cc1 BCF 0xc1,0x6,0x0 ADCON1bits.ADCAL = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +004624 0e01 MOVLW 0x1 ChannelBit = 0x0001; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +004626 0100 MOVLB 0x0 +004628 6fa3 MOVWF 0xa3,0x1 +00462a 6ba4 CLRF 0xa4,0x1 +00462c 6b9f CLRF 0x9f,0x1 A_cur_channel = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004612 d02a BRA 0x4668 else C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +00462e d02a BRA 0x4684 else C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // Read out the value that we just converted, and store it. C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004628 0100 MOVLB 0x0 ISR_A_FIFO[A_cur_channel] = C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00462a 519f MOVF 0x9f,0x0,0x1 -00462c 6ee9 MOVWF 0xe9,0x0 -00462e 6aea CLRF 0xea,0x0 -004630 ec7b CALL 0x6af6,0x0 -004632 f035 -004634 22ea ADDWFC 0xea,0x1,0x0 -00461c 50c3 MOVF 0xc3,0x0,0x0 (unsigned int)ADRESL C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +004644 0100 MOVLB 0x0 ISR_A_FIFO[A_cur_channel] = C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +004646 519f MOVF 0x9f,0x0,0x1 +004648 6ee9 MOVWF 0xe9,0x0 +00464a 6aea CLRF 0xea,0x0 +00464c ec89 CALL 0x6b12,0x0 +00464e f035 +004650 22ea ADDWFC 0xea,0x1,0x0 +004638 50c3 MOVF 0xc3,0x0,0x0 (unsigned int)ADRESL C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c | C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004614 50c4 MOVF 0xc4,0x0,0x0 ((unsigned int)ADRESH << 8); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004616 6e3d MOVWF 0x3d,0x0 -004618 6e3e MOVWF 0x3e,0x0 -00461a 6a3d CLRF 0x3d,0x0 -00461e 0100 MOVLB 0x0 -004620 103d IORWF 0x3d,0x0,0x0 -004622 6e3b MOVWF 0x3b,0x0 -004624 c03e MOVFF 0x3e,0x3c -004626 f03c -004636 c03b MOVFF 0x3b,0xfee -004638 ffee -00463a c03c MOVFF 0x3c,0xfed -00463c ffed +004630 50c4 MOVF 0xc4,0x0,0x0 ((unsigned int)ADRESH << 8); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +004632 6e51 MOVWF 0x51,0x0 +004634 6e52 MOVWF 0x52,0x0 +004636 6a51 CLRF 0x51,0x0 +00463a 0100 MOVLB 0x0 +00463c 1051 IORWF 0x51,0x0,0x0 +00463e 6e4f MOVWF 0x4f,0x0 +004640 c052 MOVFF 0x52,0x50 +004642 f050 +004652 c04f MOVFF 0x4f,0xfee +004654 ffee +004656 c050 MOVFF 0x50,0xfed +004658 ffed C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // If this is the V+_VOLTAGE ADC channel, then check to see if the value C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // is below the threshold, and if so, set the bit to record this fact C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00463e 0e0b MOVLW 0xb if (A_cur_channel == RA11_VPLUS_POWER_ADC_CHANNEL) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004640 5d9f SUBWF 0x9f,0x0,0x1 -004642 e10e BNZ 0x4660 +00465a 0e0b MOVLW 0xb if (A_cur_channel == RA11_VPLUS_POWER_ADC_CHANNEL) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +00465c 5d9f SUBWF 0x9f,0x0,0x1 +00465e e10e BNZ 0x467c { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004644 519f MOVF 0x9f,0x0,0x1 if (ISR_A_FIFO[A_cur_channel] < g_PowerMonitorThresholdADC) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004646 6ee9 MOVWF 0xe9,0x0 -004648 6aea CLRF 0xea,0x0 -00464a ec7b CALL 0x6af6,0x0 -00464c f035 -00464e ec1c CALL 0x6838,0x0 -004650 f034 -004652 51a5 MOVF 0xa5,0x0,0x1 -004654 5c3b SUBWF 0x3b,0x0,0x0 -004656 51a6 MOVF 0xa6,0x0,0x1 -004658 583c SUBWFB 0x3c,0x0,0x0 -00465a e202 BC 0x4660 +004660 519f MOVF 0x9f,0x0,0x1 if (ISR_A_FIFO[A_cur_channel] < g_PowerMonitorThresholdADC) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +004662 6ee9 MOVWF 0xe9,0x0 +004664 6aea CLRF 0xea,0x0 +004666 ec89 CALL 0x6b12,0x0 +004668 f035 +00466a ec2a CALL 0x6854,0x0 +00466c f034 +00466e 51a5 MOVF 0xa5,0x0,0x1 +004670 5c4f SUBWF 0x4f,0x0,0x0 +004672 51a6 MOVF 0xa6,0x0,0x1 +004674 5850 SUBWFB 0x50,0x0,0x0 +004676 e202 BC 0x467c { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00465c 0e01 MOVLW 0x1 g_PowerDropDetected = TRUE; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00465e 6fa7 MOVWF 0xa7,0x1 +004678 0e01 MOVLW 0x1 g_PowerDropDetected = TRUE; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +00467a 6fa7 MOVWF 0xa7,0x1 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // Increment the channel and mask bit C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004660 90d8 BCF 0xd8,0x0,0x0 ChannelBit = ChannelBit << 1; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004662 37a3 RLCF 0xa3,0x1,0x1 -004664 37a4 RLCF 0xa4,0x1,0x1 -004666 2b9f INCF 0x9f,0x1,0x1 A_cur_channel++; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +00467c 90d8 BCF 0xd8,0x0,0x0 ChannelBit = ChannelBit << 1; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +00467e 37a3 RLCF 0xa3,0x1,0x1 +004680 37a4 RLCF 0xa4,0x1,0x1 +004682 2b9f INCF 0x9f,0x1,0x1 A_cur_channel++; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // Walk through the enabled channels until we find the next one C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004668 0e10 MOVLW 0x10 while (A_cur_channel < 16u) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00466a 5d9f SUBWF 0x9f,0x0,0x1 -00466c e20e BC 0x468a -004688 d7ef BRA 0x4668 +004684 0e10 MOVLW 0x10 while (A_cur_channel < 16u) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +004686 5d9f SUBWF 0x9f,0x0,0x1 +004688 e20e BC 0x46a6 +0046a4 d7ef BRA 0x4684 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00466e 51a3 MOVF 0xa3,0x0,0x1 if (ChannelBit & AnalogEnabledChannels) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004670 15a1 ANDWF 0xa1,0x0,0x1 -004672 6e3b MOVWF 0x3b,0x0 -004674 51a4 MOVF 0xa4,0x0,0x1 -004676 15a2 ANDWF 0xa2,0x0,0x1 -004678 6e3c MOVWF 0x3c,0x0 -00467a 503b MOVF 0x3b,0x0,0x0 -00467c 103c IORWF 0x3c,0x0,0x0 -00467e e105 BNZ 0x468a +00468a 51a3 MOVF 0xa3,0x0,0x1 if (ChannelBit & AnalogEnabledChannels) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +00468c 15a1 ANDWF 0xa1,0x0,0x1 +00468e 6e4f MOVWF 0x4f,0x0 +004690 51a4 MOVF 0xa4,0x0,0x1 +004692 15a2 ANDWF 0xa2,0x0,0x1 +004694 6e50 MOVWF 0x50,0x0 +004696 504f MOVF 0x4f,0x0,0x0 +004698 1050 IORWF 0x50,0x0,0x0 +00469a e105 BNZ 0x46a6 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c break; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c else C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // Increment the channel and write the new one in C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004680 2b9f INCF 0x9f,0x1,0x1 A_cur_channel++; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004682 90d8 BCF 0xd8,0x0,0x0 ChannelBit = ChannelBit << 1; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004684 37a3 RLCF 0xa3,0x1,0x1 -004686 37a4 RLCF 0xa4,0x1,0x1 +00469c 2b9f INCF 0x9f,0x1,0x1 A_cur_channel++; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +00469e 90d8 BCF 0xd8,0x0,0x0 ChannelBit = ChannelBit << 1; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0046a0 37a3 RLCF 0xa3,0x1,0x1 +0046a2 37a4 RLCF 0xa4,0x1,0x1 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00468a 0e10 MOVLW 0x10 if (A_cur_channel >= 16u) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00468c 5d9f SUBWF 0x9f,0x0,0x1 -00468e e302 BNC 0x4694 +0046a6 0e10 MOVLW 0x10 if (A_cur_channel >= 16u) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0046a8 5d9f SUBWF 0x9f,0x0,0x1 +0046aa e302 BNC 0x46b0 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // We're done, so just sit and wait C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // Turn off our interrupts though. C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004690 9c9d BCF 0x9d,0x6,0x0 PIE1bits.ADIE = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0046ac 9c9d BCF 0x9d,0x6,0x0 PIE1bits.ADIE = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004692 d005 BRA 0x469e else C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0046ae d005 BRA 0x46ba else C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // Update the channel number C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004694 519f MOVF 0x9f,0x0,0x1 ADCON0 = (A_cur_channel << 2) + 1; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004696 0d04 MULLW 0x4 -004698 28f3 INCF 0xf3,0x0,0x0 -00469a 6ec2 MOVWF 0xc2,0x0 +0046b0 519f MOVF 0x9f,0x0,0x1 ADCON0 = (A_cur_channel << 2) + 1; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0046b2 0d04 MULLW 0x4 +0046b4 28f3 INCF 0xf3,0x0,0x0 +0046b6 6ec2 MOVWF 0xc2,0x0 // And start the next conversion C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00469c 82c2 BSF 0xc2,0x1,0x0 ADCON0bits.GO_DONE = 1; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0046b8 82c2 BSF 0xc2,0x1,0x0 ADCON0bits.GO_DONE = 1; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00469e 52e5 MOVF 0xe5,0x1,0x0 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0046a0 52e5 MOVF 0xe5,0x1,0x0 -0046a2 cfe7 MOVFF 0xfe7,0xfd9 -0046a4 ffd9 -0046a6 52e5 MOVF 0xe5,0x1,0x0 -0046a8 cfe5 MOVFF 0xfe5,0xff4 -0046aa fff4 -0046ac cfe5 MOVFF 0xfe5,0xff3 -0046ae fff3 -0046b0 cfe5 MOVFF 0xfe5,0xfea -0046b2 ffea -0046b4 cfe5 MOVFF 0xfe5,0xfe9 -0046b6 ffe9 -0046b8 cfe5 MOVFF 0xfe5,0xfda -0046ba ffda -0046bc 50e5 MOVF 0xe5,0x0,0x0 -0046be cfe5 MOVFF 0xfe5,0xfe0 -0046c0 ffe0 -0046c2 cfe5 MOVFF 0xfe5,0xfd8 -0046c4 ffd8 -0046c6 0010 RETFIE 0x0 +0046ba 52e5 MOVF 0xe5,0x1,0x0 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0046bc 52e5 MOVF 0xe5,0x1,0x0 +0046be cfe7 MOVFF 0xfe7,0xfd9 +0046c0 ffd9 +0046c2 52e5 MOVF 0xe5,0x1,0x0 +0046c4 cfe5 MOVFF 0xfe5,0xff4 +0046c6 fff4 +0046c8 cfe5 MOVFF 0xfe5,0xff3 +0046ca fff3 +0046cc cfe5 MOVFF 0xfe5,0xfea +0046ce ffea +0046d0 cfe5 MOVFF 0xfe5,0xfe9 +0046d2 ffe9 +0046d4 cfe5 MOVFF 0xfe5,0xfda +0046d6 ffda +0046d8 50e5 MOVF 0xe5,0x0,0x0 +0046da cfe5 MOVFF 0xfe5,0xfe0 +0046dc ffe0 +0046de cfe5 MOVFF 0xfe5,0xfd8 +0046e0 ffd8 +0046e2 0010 RETFIE 0x0 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c //////// JUST FOR TESTING - DELETE C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0046c8 cfd9 MOVFF 0xfd9,0xfe6 void fill_stack(void) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0046ca ffe6 -0046cc cfe1 MOVFF 0xfe1,0xfd9 -0046ce ffd9 -0046d0 0e02 MOVLW 0x2 -0046d2 26e1 ADDWF 0xe1,0x1,0x0 +0046e4 cfd9 MOVFF 0xfd9,0xfe6 void fill_stack(void) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0046e6 ffe6 +0046e8 cfe1 MOVFF 0xfe1,0xfd9 +0046ea ffd9 +0046ec 0e02 MOVLW 0x2 +0046ee 26e1 ADDWF 0xe1,0x1,0x0 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0046d4 6ade CLRF 0xde,0x0 UINT8 * stackPtr = (UINT8 *)0x000; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0046d6 6add CLRF 0xdd,0x0 +0046f0 6ade CLRF 0xde,0x0 UINT8 * stackPtr = (UINT8 *)0x000; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0046f2 6add CLRF 0xdd,0x0 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c _asm C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0046d8 cfe2 MOVFF 0xfe2,0xe4 MOVFF FSR1H, tempStackPointerHigh C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0046da f0e4 -0046dc cfe1 MOVFF 0xfe1,0xe5 MOVFF FSR1L, tempStackPointerLow C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0046de f0e5 +0046f4 cfe2 MOVFF 0xfe2,0xe4 MOVFF FSR1H, tempStackPointerHigh C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0046f6 f0e4 +0046f8 cfe1 MOVFF 0xfe1,0xe5 MOVFF FSR1L, tempStackPointerLow C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0046fa f0e5 _endasm C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0046e0 c0e4 MOVFF 0xe4,0x33 tempStackPointer = ((((UINT16)tempStackPointerHigh) << 8) | tempStackPointerLow); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0046e2 f033 -0046e4 c033 MOVFF 0x33,0x34 -0046e6 f034 -0046e8 6a33 CLRF 0x33,0x0 -0046ea 0100 MOVLB 0x0 -0046ec 51e5 MOVF 0xe5,0x0,0x1 -0046ee 0100 MOVLB 0x0 -0046f0 1033 IORWF 0x33,0x0,0x0 -0046f2 6fe6 MOVWF 0xe6,0x1 -0046f4 c034 MOVFF 0x34,0xe7 -0046f6 f0e7 +0046fc c0e4 MOVFF 0xe4,0x47 tempStackPointer = ((((UINT16)tempStackPointerHigh) << 8) | tempStackPointerLow); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0046fe f047 +004700 c047 MOVFF 0x47,0x48 +004702 f048 +004704 6a47 CLRF 0x47,0x0 +004706 0100 MOVLB 0x0 +004708 51e5 MOVF 0xe5,0x0,0x1 +00470a 0100 MOVLB 0x0 +00470c 1047 IORWF 0x47,0x0,0x0 +00470e 6fe6 MOVWF 0xe6,0x1 +004710 c048 MOVFF 0x48,0xe7 +004712 f0e7 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0046f8 c0e6 MOVFF 0xe6,0xfde stackPtr = (UINT8 *)tempStackPointer; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0046fa ffde -0046fc c0e7 MOVFF 0xe7,0xfdd -0046fe ffdd +004714 c0e6 MOVFF 0xe6,0xfde stackPtr = (UINT8 *)tempStackPointer; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +004716 ffde +004718 c0e7 MOVFF 0xe7,0xfdd +00471a ffdd C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004700 0e08 MOVLW 0x8 stackPtr += 8; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004702 26de ADDWF 0xde,0x1,0x0 -004704 0e00 MOVLW 0x0 -004706 22dd ADDWFC 0xdd,0x1,0x0 +00471c 0e08 MOVLW 0x8 stackPtr += 8; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +00471e 26de ADDWF 0xde,0x1,0x0 +004720 0e00 MOVLW 0x0 +004722 22dd ADDWFC 0xdd,0x1,0x0 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004708 cfd9 MOVFF 0xfd9,0xfe9 while ((UINT16)stackPtr <= 0xEBFu) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00470a ffe9 -00470c cfda MOVFF 0xfda,0xfea -00470e ffea -004710 0ebf MOVLW 0xbf -004712 80d8 BSF 0xd8,0x0,0x0 -004714 54ee SUBFWB 0xee,0x0,0x0 -004716 0e0e MOVLW 0xe -004718 54ed SUBFWB 0xed,0x0,0x0 -00471a e30b BNC 0x4732 -004730 d7eb BRA 0x4708 +004724 cfd9 MOVFF 0xfd9,0xfe9 while ((UINT16)stackPtr <= 0xEBFu) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +004726 ffe9 +004728 cfda MOVFF 0xfda,0xfea +00472a ffea +00472c 0ebf MOVLW 0xbf +00472e 80d8 BSF 0xd8,0x0,0x0 +004730 54ee SUBFWB 0xee,0x0,0x0 +004732 0e0e MOVLW 0xe +004734 54ed SUBFWB 0xed,0x0,0x0 +004736 e30b BNC 0x474e +00474c d7eb BRA 0x4724 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00471c cfde MOVFF 0xfde,0xfe9 *stackPtr = 0xEE; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00471e ffe9 -004720 cfdd MOVFF 0xfdd,0xfea -004722 ffea -004724 0eee MOVLW 0xee -004726 6eef MOVWF 0xef,0x0 -004728 2adf INCF 0xdf,0x1,0x0 stackPtr++; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00472a 0e01 MOVLW 0x1 -00472c e301 BNC 0x4730 -00472e 2adb INCF 0xdb,0x1,0x0 +004738 cfde MOVFF 0xfde,0xfe9 *stackPtr = 0xEE; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +00473a ffe9 +00473c cfdd MOVFF 0xfdd,0xfea +00473e ffea +004740 0eee MOVLW 0xee +004742 6eef MOVWF 0xef,0x0 +004744 2adf INCF 0xdf,0x1,0x0 stackPtr++; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +004746 0e01 MOVLW 0x1 +004748 e301 BNC 0x474c +00474a 2adb INCF 0xdb,0x1,0x0 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004732 0e02 MOVLW 0x2 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004734 5ce1 SUBWF 0xe1,0x0,0x0 -004736 e202 BC 0x473c -004738 6ae1 CLRF 0xe1,0x0 -00473a 52e5 MOVF 0xe5,0x1,0x0 -00473c 6ee1 MOVWF 0xe1,0x0 -00473e 52e5 MOVF 0xe5,0x1,0x0 -004740 cfe7 MOVFF 0xfe7,0xfd9 -004742 ffd9 -004744 0012 RETURN 0x0 +00474e 0e02 MOVLW 0x2 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +004750 5ce1 SUBWF 0xe1,0x0,0x0 +004752 e202 BC 0x4758 +004754 6ae1 CLRF 0xe1,0x0 +004756 52e5 MOVF 0xe5,0x1,0x0 +004758 6ee1 MOVWF 0xe1,0x0 +00475a 52e5 MOVF 0xe5,0x1,0x0 +00475c cfe7 MOVFF 0xfe7,0xfd9 +00475e ffd9 +004760 0012 RETURN 0x0 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // Walk backwards in the stack RAM section looking of 0xEEs. When we stop C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // seeing them, then we know that's the highest value of the stack to this point. C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // Print that location out. C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004746 ec26 CALL 0x6c4c,0x0 void check_high_water(void) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004748 f036 +004762 ec34 CALL 0x6c68,0x0 void check_high_water(void) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +004764 f036 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c UINT8 nib2; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00474a 0ebf MOVLW 0xbf UINT8 * stackPtr = (UINT8 *)0xEBF; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00474c 6ef3 MOVWF 0xf3,0x0 -00474e 0e01 MOVLW 0x1 -004750 cff3 MOVFF 0xff3,0xfdb -004752 ffdb -004754 0e0e MOVLW 0xe -004756 6ef3 MOVWF 0xf3,0x0 -004758 0e02 MOVLW 0x2 -00475a cff3 MOVFF 0xff3,0xfdb -00475c ffdb +004766 0ebf MOVLW 0xbf UINT8 * stackPtr = (UINT8 *)0xEBF; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +004768 6ef3 MOVWF 0xf3,0x0 +00476a 0e01 MOVLW 0x1 +00476c cff3 MOVFF 0xff3,0xfdb +00476e ffdb +004770 0e0e MOVLW 0xe +004772 6ef3 MOVWF 0xf3,0x0 +004774 0e02 MOVLW 0x2 +004776 cff3 MOVFF 0xff3,0xfdb +004778 ffdb C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00475e 8cf2 BSF 0xf2,0x6,0x0 INTCONbits.GIEL = 1; // Turn low priority interrupts off C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +00477a 8cf2 BSF 0xf2,0x6,0x0 INTCONbits.GIEL = 1; // Turn low priority interrupts off C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004760 0e01 MOVLW 0x1 while (*stackPtr == 0xEE) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004762 cfdb MOVFF 0xfdb,0xfe9 -004764 ffe9 -004766 0e02 MOVLW 0x2 -004768 cfdb MOVFF 0xfdb,0xfea -00476a ffea -00476c 50ef MOVF 0xef,0x0,0x0 -00476e 08ee SUBLW 0xee -004770 e106 BNZ 0x477e -00477c d7f1 BRA 0x4760 +00477c 0e01 MOVLW 0x1 while (*stackPtr == 0xEE) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +00477e cfdb MOVFF 0xfdb,0xfe9 +004780 ffe9 +004782 0e02 MOVLW 0x2 +004784 cfdb MOVFF 0xfdb,0xfea +004786 ffea +004788 50ef MOVF 0xef,0x0,0x0 +00478a 08ee SUBLW 0xee +00478c e106 BNZ 0x479a +004798 d7f1 BRA 0x477c { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004772 0e01 MOVLW 0x1 stackPtr--; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004774 06db DECF 0xdb,0x1,0x0 -004776 0e02 MOVLW 0x2 -004778 e2f3 BC 0x4760 -00477a 06db DECF 0xdb,0x1,0x0 +00478e 0e01 MOVLW 0x1 stackPtr--; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +004790 06db DECF 0xdb,0x1,0x0 +004792 0e02 MOVLW 0x2 +004794 e2f3 BC 0x477c +004796 06db DECF 0xdb,0x1,0x0 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00477e ecf4 CALL 0x69e8,0x0 if ((UINT16)stackPtr > gStackHighWater) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004780 f034 -004782 0100 MOVLB 0x0 -004784 5033 MOVF 0x33,0x0,0x0 -004786 5de0 SUBWF 0xe0,0x0,0x1 -004788 5034 MOVF 0x34,0x0,0x0 -00478a 59e1 SUBWFB 0xe1,0x0,0x1 -00478c e206 BC 0x479a -0069e8 0e01 MOVLW 0x1 -0069ea cfdb MOVFF 0xfdb,0x33 -0069ec f033 -0069ee 0e02 MOVLW 0x2 -0069f0 cfdb MOVFF 0xfdb,0x34 -0069f2 f034 -0069f4 0012 RETURN 0x0 +00479a ec02 CALL 0x6a04,0x0 if ((UINT16)stackPtr > gStackHighWater) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +00479c f035 +00479e 0100 MOVLB 0x0 +0047a0 5047 MOVF 0x47,0x0,0x0 +0047a2 5de0 SUBWF 0xe0,0x0,0x1 +0047a4 5048 MOVF 0x48,0x0,0x0 +0047a6 59e1 SUBWFB 0xe1,0x0,0x1 +0047a8 e206 BC 0x47b6 +006a04 0e01 MOVLW 0x1 +006a06 cfdb MOVFF 0xfdb,0x47 +006a08 f047 +006a0a 0e02 MOVLW 0x2 +006a0c cfdb MOVFF 0xfdb,0x48 +006a0e f048 +006a10 0012 RETURN 0x0 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00478e 0e01 MOVLW 0x1 gStackHighWater = (UINT16)stackPtr; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004790 cfdb MOVFF 0xfdb,0xe0 -004792 f0e0 -004794 0e02 MOVLW 0x2 -004796 cfdb MOVFF 0xfdb,0xe1 -004798 f0e1 +0047aa 0e01 MOVLW 0x1 gStackHighWater = (UINT16)stackPtr; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0047ac cfdb MOVFF 0xfdb,0xe0 +0047ae f0e0 +0047b0 0e02 MOVLW 0x2 +0047b2 cfdb MOVFF 0xfdb,0xe1 +0047b4 f0e1 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00479a 8cf2 BSF 0xf2,0x6,0x0 INTCONbits.GIEL = 1; // Turn low priority interrupts on C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00479c 0e03 MOVLW 0x3 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00479e 5ce1 SUBWF 0xe1,0x0,0x0 -0047a0 e202 BC 0x47a6 -0047a2 6ae1 CLRF 0xe1,0x0 -0047a4 52e5 MOVF 0xe5,0x1,0x0 -0047a6 6ee1 MOVWF 0xe1,0x0 -0047a8 eff2 GOTO 0x67e4 -0047aa f033 +0047b6 8cf2 BSF 0xf2,0x6,0x0 INTCONbits.GIEL = 1; // Turn low priority interrupts on C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0047b8 0e03 MOVLW 0x3 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0047ba 5ce1 SUBWF 0xe1,0x0,0x0 +0047bc e202 BC 0x47c2 +0047be 6ae1 CLRF 0xe1,0x0 +0047c0 52e5 MOVF 0xe5,0x1,0x0 +0047c2 6ee1 MOVWF 0xe1,0x0 +0047c4 ef00 GOTO 0x6800 +0047c6 f034 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c /////// C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0047ac ec2e CALL 0x6c5c,0x0 void UserInit(void) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0047ae f036 +0047c8 ec3c CALL 0x6c78,0x0 void UserInit(void) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0047ca f036 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c UINT16 i; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // Make all of 3 digital inputs C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0047b0 6a89 CLRF 0x89,0x0 LATA = 0x00; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0047b2 6892 SETF 0x92,0x0 TRISA = 0xFF; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0047cc 6a89 CLRF 0x89,0x0 LATA = 0x00; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0047ce 6892 SETF 0x92,0x0 TRISA = 0xFF; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // Turn all analog inputs into digital inputs C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // ADCON1 = 0x0F; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // Turn off the ADC C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // ADCON0bits.ADON = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // Turn off our own idea of how many analog channels to convert C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0047b4 0100 MOVLB 0x0 AnalogEnabledChannels = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0047b6 6ba1 CLRF 0xa1,0x1 -0047b8 6ba2 CLRF 0xa2,0x1 +0047d0 0100 MOVLB 0x0 AnalogEnabledChannels = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0047d2 6ba1 CLRF 0xa1,0x1 +0047d4 6ba2 CLRF 0xa2,0x1 // Make all of PORTB inputs C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0047ba 6a8a CLRF 0x8a,0x0 LATB = 0x00; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0047bc 6893 SETF 0x93,0x0 TRISB = 0xFF; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0047d6 6a8a CLRF 0x8a,0x0 LATB = 0x00; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0047d8 6893 SETF 0x93,0x0 TRISB = 0xFF; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // Make all of PORTC inputs C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0047be 6a8b CLRF 0x8b,0x0 LATC = 0x00; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0047c0 6894 SETF 0x94,0x0 TRISC = 0xFF; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0047da 6a8b CLRF 0x8b,0x0 LATC = 0x00; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0047dc 6894 SETF 0x94,0x0 TRISC = 0xFF; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // Initialize LED I/Os to outputs C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0047c2 968c BCF 0x8c,0x3,0x0 mInitAllLEDs(); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0047c4 948c BCF 0x8c,0x2,0x0 -0047c6 9695 BCF 0x95,0x3,0x0 -0047c8 9495 BCF 0x95,0x2,0x0 +0047de 968c BCF 0x8c,0x3,0x0 mInitAllLEDs(); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0047e0 948c BCF 0x8c,0x2,0x0 +0047e2 9695 BCF 0x95,0x3,0x0 +0047e4 9495 BCF 0x95,0x2,0x0 // Initialize switch as an input C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0047ca 8e92 BSF 0x92,0x7,0x0 mInitSwitch(); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0047e6 8e92 BSF 0x92,0x7,0x0 mInitSwitch(); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // Start off always using "OK" acknowledge. C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0047cc 0e01 MOVLW 0x1 g_ack_enable = TRUE; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0047ce 6fd0 MOVWF 0xd0,0x1 +0047e8 0e01 MOVLW 0x1 g_ack_enable = TRUE; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0047ea 6fd0 MOVWF 0xd0,0x1 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // This has been missing for a long time and created problems on boot if not C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // set to zero. C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0047d0 6b97 CLRF 0x97,0x1 error_byte = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0047ec 6b97 CLRF 0x97,0x1 error_byte = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // Initialize all of the ISR FIFOs C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0047d2 6b95 CLRF 0x95,0x1 ISR_A_FIFO_out = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0047d4 6b94 CLRF 0x94,0x1 ISR_A_FIFO_in = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0047d6 6b96 CLRF 0x96,0x1 ISR_A_FIFO_length = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0047d8 6b90 CLRF 0x90,0x1 ISR_D_FIFO_out = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0047da 6b8f CLRF 0x8f,0x1 ISR_D_FIFO_in = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0047dc 6b91 CLRF 0x91,0x1 ISR_D_FIFO_length = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0047ee 6b95 CLRF 0x95,0x1 ISR_A_FIFO_out = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0047f0 6b94 CLRF 0x94,0x1 ISR_A_FIFO_in = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0047f2 6b96 CLRF 0x96,0x1 ISR_A_FIFO_length = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0047f4 6b90 CLRF 0x90,0x1 ISR_D_FIFO_out = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0047f6 6b8f CLRF 0x8f,0x1 ISR_D_FIFO_in = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0047f8 6b91 CLRF 0x91,0x1 ISR_D_FIFO_length = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // Make sure that our timer stuff starts out disabled C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0047de 6b8d CLRF 0x8d,0x1 ISR_D_RepeatRate = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0047e0 6b8e CLRF 0x8e,0x1 -0047e2 6b92 CLRF 0x92,0x1 ISR_A_RepeatRate = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0047e4 6b93 CLRF 0x93,0x1 -0047e6 6b9b CLRF 0x9b,0x1 D_tick_counter = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0047e8 6b9c CLRF 0x9c,0x1 -0047ea 6b9d CLRF 0x9d,0x1 A_tick_counter = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0047ec 6b9e CLRF 0x9e,0x1 -0047ee 6b9f CLRF 0x9f,0x1 A_cur_channel = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0047fa 6b8d CLRF 0x8d,0x1 ISR_D_RepeatRate = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0047fc 6b8e CLRF 0x8e,0x1 +0047fe 6b92 CLRF 0x92,0x1 ISR_A_RepeatRate = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +004800 6b93 CLRF 0x93,0x1 +004802 6b9b CLRF 0x9b,0x1 D_tick_counter = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +004804 6b9c CLRF 0x9c,0x1 +004806 6b9d CLRF 0x9d,0x1 A_tick_counter = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +004808 6b9e CLRF 0x9e,0x1 +00480a 6b9f CLRF 0x9f,0x1 A_cur_channel = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // Now init our registers C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // Initialize Timer4 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // The prescaler will be at 16 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0047f0 8276 BSF 0x76,0x1,0x0 T4CONbits.T4CKPS1 = 1; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0047f2 8076 BSF 0x76,0x0,0x0 T4CONbits.T4CKPS0 = 1; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +00480c 8276 BSF 0x76,0x1,0x0 T4CONbits.T4CKPS1 = 1; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +00480e 8076 BSF 0x76,0x0,0x0 T4CONbits.T4CKPS0 = 1; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // We want the TMR4 post scaler to be a 3 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0047f4 9c76 BCF 0x76,0x6,0x0 T4CONbits.T4OUTPS3 = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0047f6 9a76 BCF 0x76,0x5,0x0 T4CONbits.T4OUTPS2 = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0047f8 8876 BSF 0x76,0x4,0x0 T4CONbits.T4OUTPS1 = 1; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0047fa 9676 BCF 0x76,0x3,0x0 T4CONbits.T4OUTPS0 = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +004810 9c76 BCF 0x76,0x6,0x0 T4CONbits.T4OUTPS3 = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +004812 9a76 BCF 0x76,0x5,0x0 T4CONbits.T4OUTPS2 = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +004814 8876 BSF 0x76,0x4,0x0 T4CONbits.T4OUTPS1 = 1; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +004816 9676 BCF 0x76,0x3,0x0 T4CONbits.T4OUTPS0 = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // Set our reload value C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0047fc 0efa MOVLW 0xfa PR4 = kPR4_RELOAD; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0047fe 6e77 MOVWF 0x77,0x0 +004818 0efa MOVLW 0xfa PR4 = kPR4_RELOAD; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +00481a 6e77 MOVWF 0x77,0x0 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // Set up the Analog to Digital converter C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // Clear out the FIFO data C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004800 6ade CLRF 0xde,0x0 for (i = 0; i < 16u; i++) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004802 6add CLRF 0xdd,0x0 -004804 ecb7 CALL 0x696e,0x0 -004806 f034 -004808 0e10 MOVLW 0x10 -00480a 5c33 SUBWF 0x33,0x0,0x0 -00480c 0e00 MOVLW 0x0 -00480e 5834 SUBWFB 0x34,0x0,0x0 -004810 e213 BC 0x4838 -00482e 2adf INCF 0xdf,0x1,0x0 -004830 0e01 MOVLW 0x1 -004832 e3e8 BNC 0x4804 -004834 2adb INCF 0xdb,0x1,0x0 -004836 d7e6 BRA 0x4804 +00481c 6ade CLRF 0xde,0x0 for (i = 0; i < 16u; i++) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +00481e 6add CLRF 0xdd,0x0 +004820 ecc5 CALL 0x698a,0x0 +004822 f034 +004824 0e10 MOVLW 0x10 +004826 5c47 SUBWF 0x47,0x0,0x0 +004828 0e00 MOVLW 0x0 +00482a 5848 SUBWFB 0x48,0x0,0x0 +00482c e213 BC 0x4854 +00484a 2adf INCF 0xdf,0x1,0x0 +00484c 0e01 MOVLW 0x1 +00484e e3e8 BNC 0x4820 +004850 2adb INCF 0xdb,0x1,0x0 +004852 d7e6 BRA 0x4820 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004812 ecbc CALL 0x6978,0x0 ISR_A_FIFO[i] = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004814 f034 -004816 0e01 MOVLW 0x1 -004818 90d8 BCF 0xd8,0x0,0x0 -00481a 36e9 RLCF 0xe9,0x1,0x0 -00481c 36ea RLCF 0xea,0x1,0x0 -00481e 06e8 DECF 0xe8,0x1,0x0 -004820 e1fb BNZ 0x4818 -004822 0e00 MOVLW 0x0 -004824 26e9 ADDWF 0xe9,0x1,0x0 -004826 0e01 MOVLW 0x1 -004828 22ea ADDWFC 0xea,0x1,0x0 -00482a 6aee CLRF 0xee,0x0 -00482c 6aed CLRF 0xed,0x0 +00482e ecca CALL 0x6994,0x0 ISR_A_FIFO[i] = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +004830 f034 +004832 0e01 MOVLW 0x1 +004834 90d8 BCF 0xd8,0x0,0x0 +004836 36e9 RLCF 0xe9,0x1,0x0 +004838 36ea RLCF 0xea,0x1,0x0 +00483a 06e8 DECF 0xe8,0x1,0x0 +00483c e1fb BNZ 0x4834 +00483e 0e00 MOVLW 0x0 +004840 26e9 ADDWF 0xe9,0x1,0x0 +004842 0e01 MOVLW 0x1 +004844 22ea ADDWFC 0xea,0x1,0x0 +004846 6aee CLRF 0xee,0x0 +004848 6aed CLRF 0xed,0x0 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // Initialize USB TX and RX buffer management C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004838 0100 MOVLB 0x0 g_RX_buf_in = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00483a 6bca CLRF 0xca,0x1 -00483c 6bcb CLRF 0xcb,0x1 g_RX_buf_out = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00483e 6bc8 CLRF 0xc8,0x1 g_TX_buf_in = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004840 6bc9 CLRF 0xc9,0x1 g_TX_buf_out = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +004854 0100 MOVLB 0x0 g_RX_buf_in = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +004856 6bca CLRF 0xca,0x1 +004858 6bcb CLRF 0xcb,0x1 g_RX_buf_out = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +00485a 6bc8 CLRF 0xc8,0x1 g_TX_buf_in = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +00485c 6bc9 CLRF 0xc9,0x1 g_TX_buf_out = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004842 6ade CLRF 0xde,0x0 for (i=0; i < kTX_BUF_SIZE; i++) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004844 6add CLRF 0xdd,0x0 -004846 ecc3 CALL 0x6b86,0x0 -004848 f035 -00484a e20a BC 0x4860 -00485a e3f5 BNC 0x4846 -00485c 2adb INCF 0xdb,0x1,0x0 -00485e d7f3 BRA 0x4846 -006b86 def3 RCALL 0x696e -006b88 0e40 MOVLW 0x40 -006b8a 5c33 SUBWF 0x33,0x0,0x0 -006b8c 0e00 MOVLW 0x0 -006b8e 5834 SUBWFB 0x34,0x0,0x0 -006b90 0012 RETURN 0x0 +00485e 6ade CLRF 0xde,0x0 for (i=0; i < kTX_BUF_SIZE; i++) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +004860 6add CLRF 0xdd,0x0 +004862 ecd1 CALL 0x6ba2,0x0 +004864 f035 +004866 e20a BC 0x487c +004876 e3f5 BNC 0x4862 +004878 2adb INCF 0xdb,0x1,0x0 +00487a d7f3 BRA 0x4862 +006ba2 def3 RCALL 0x698a +006ba4 0e40 MOVLW 0x40 +006ba6 5c47 SUBWF 0x47,0x0,0x0 +006ba8 0e00 MOVLW 0x0 +006baa 5848 SUBWFB 0x48,0x0,0x0 +006bac 0012 RETURN 0x0 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00484c ecbc CALL 0x6978,0x0 g_TX_buf[i] = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00484e f034 -004850 0e00 MOVLW 0x0 -004852 26e9 ADDWF 0xe9,0x1,0x0 -004854 0e02 MOVLW 0x2 -004856 ec1e CALL 0x6a3c,0x0 -004858 f035 +004868 ecca CALL 0x6994,0x0 g_TX_buf[i] = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +00486a f034 +00486c 0e00 MOVLW 0x0 +00486e 26e9 ADDWF 0xe9,0x1,0x0 +004870 0e02 MOVLW 0x2 +004872 ec2c CALL 0x6a58,0x0 +004874 f035 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004860 6ade CLRF 0xde,0x0 for (i=0; i < kRX_COMMAND_BUF_SIZE; i++) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004862 6add CLRF 0xdd,0x0 -004864 ecc3 CALL 0x6b86,0x0 -004866 f035 -004868 e20a BC 0x487e -004878 e3f5 BNC 0x4864 -00487a 2adb INCF 0xdb,0x1,0x0 -00487c d7f3 BRA 0x4864 +00487c 6ade CLRF 0xde,0x0 for (i=0; i < kRX_COMMAND_BUF_SIZE; i++) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +00487e 6add CLRF 0xdd,0x0 +004880 ecd1 CALL 0x6ba2,0x0 +004882 f035 +004884 e20a BC 0x489a +004894 e3f5 BNC 0x4880 +004896 2adb INCF 0xdb,0x1,0x0 +004898 d7f3 BRA 0x4880 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00486a ecbc CALL 0x6978,0x0 g_RX_command_buf[i] = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00486c f034 -00486e 0e40 MOVLW 0x40 -004870 26e9 ADDWF 0xe9,0x1,0x0 -004872 0e02 MOVLW 0x2 -004874 ec1e CALL 0x6a3c,0x0 -004876 f035 +004886 ecca CALL 0x6994,0x0 g_RX_command_buf[i] = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +004888 f034 +00488a 0e40 MOVLW 0x40 +00488c 26e9 ADDWF 0xe9,0x1,0x0 +00488e 0e02 MOVLW 0x2 +004890 ec2c CALL 0x6a58,0x0 +004892 f035 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00487e 6ade CLRF 0xde,0x0 for (i=0; i < kRX_BUF_SIZE; i++) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004880 6add CLRF 0xdd,0x0 -004882 ecb7 CALL 0x696e,0x0 -004884 f034 -004886 0e00 MOVLW 0x0 -004888 5c33 SUBWF 0x33,0x0,0x0 -00488a 0e01 MOVLW 0x1 -00488c 5834 SUBWFB 0x34,0x0,0x0 -00488e e20a BC 0x48a4 -00489e e3f1 BNC 0x4882 -0048a0 2adb INCF 0xdb,0x1,0x0 -0048a2 d7ef BRA 0x4882 -006a40 2adf INCF 0xdf,0x1,0x0 -006a42 0e01 MOVLW 0x1 -006a44 0012 RETURN 0x0 +00489a 6ade CLRF 0xde,0x0 for (i=0; i < kRX_BUF_SIZE; i++) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +00489c 6add CLRF 0xdd,0x0 +00489e ecc5 CALL 0x698a,0x0 +0048a0 f034 +0048a2 0e00 MOVLW 0x0 +0048a4 5c47 SUBWF 0x47,0x0,0x0 +0048a6 0e01 MOVLW 0x1 +0048a8 5848 SUBWFB 0x48,0x0,0x0 +0048aa e20a BC 0x48c0 +0048ba e3f1 BNC 0x489e +0048bc 2adb INCF 0xdb,0x1,0x0 +0048be d7ef BRA 0x489e +006a5c 2adf INCF 0xdf,0x1,0x0 +006a5e 0e01 MOVLW 0x1 +006a60 0012 RETURN 0x0 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004890 ecbc CALL 0x6978,0x0 g_RX_buf[i] = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004892 f034 -004894 0e00 MOVLW 0x0 -004896 26e9 ADDWF 0xe9,0x1,0x0 -004898 0e03 MOVLW 0x3 -00489a ec1e CALL 0x6a3c,0x0 -00489c f035 -006a3c 22ea ADDWFC 0xea,0x1,0x0 -006a3e 6aef CLRF 0xef,0x0 +0048ac ecca CALL 0x6994,0x0 g_RX_buf[i] = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0048ae f034 +0048b0 0e00 MOVLW 0x0 +0048b2 26e9 ADDWF 0xe9,0x1,0x0 +0048b4 0e03 MOVLW 0x3 +0048b6 ec2c CALL 0x6a58,0x0 +0048b8 f035 +006a58 22ea ADDWFC 0xea,0x1,0x0 +006a5a 6aef CLRF 0xef,0x0 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // And the USART TX and RX buffer management C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0048a4 0100 MOVLB 0x0 g_USART_RX_buf_in = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0048a6 6bcc CLRF 0xcc,0x1 -0048a8 6bcd CLRF 0xcd,0x1 g_USART_RX_buf_out = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0048aa 6bce CLRF 0xce,0x1 g_USART_TX_buf_in = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0048ac 6bcf CLRF 0xcf,0x1 g_USART_TX_buf_out = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0048c0 0100 MOVLB 0x0 g_USART_RX_buf_in = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0048c2 6bcc CLRF 0xcc,0x1 +0048c4 6bcd CLRF 0xcd,0x1 g_USART_RX_buf_out = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0048c6 6bce CLRF 0xce,0x1 g_USART_TX_buf_in = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0048c8 6bcf CLRF 0xcf,0x1 g_USART_TX_buf_out = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // Clear out the RC servo output pointer values C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0048ae 6b98 CLRF 0x98,0x1 g_RC_primed_ptr = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0048b0 6b99 CLRF 0x99,0x1 g_RC_next_ptr = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0048b2 6b9a CLRF 0x9a,0x1 g_RC_timing_ptr = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0048ca 6b98 CLRF 0x98,0x1 g_RC_primed_ptr = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0048cc 6b99 CLRF 0x99,0x1 g_RC_next_ptr = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0048ce 6b9a CLRF 0x9a,0x1 g_RC_timing_ptr = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // Turn on band-gap C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0048b4 010f MOVLB 0xf ANCON1bits.VBGEN = 1; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0048b6 8f49 BSF 0x49,0x7,0x1 +0048d0 010f MOVLB 0xf ANCON1bits.VBGEN = 1; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0048d2 8f49 BSF 0x49,0x7,0x1 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // Set up ADCON1 options C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // A/D Result right justified C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // Normal A/D (no calibration) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // Acq time = 20 Tad (?) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // Tad = Fosc/64 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0048b8 0ebe MOVLW 0xbe ADCON1 = 0b10111110; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0048ba 6ec1 MOVWF 0xc1,0x0 +0048d4 0ebe MOVLW 0xbe ADCON1 = 0b10111110; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0048d6 6ec1 MOVWF 0xc1,0x0 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // Enable interrupt priorities C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0048bc 8ed0 BSF 0xd0,0x7,0x0 RCONbits.IPEN = 1; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0048be 9476 BCF 0x76,0x2,0x0 T4CONbits.TMR4ON = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0048d8 8ed0 BSF 0xd0,0x7,0x0 RCONbits.IPEN = 1; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0048da 9476 BCF 0x76,0x2,0x0 T4CONbits.TMR4ON = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0048c0 86a3 BSF 0xa3,0x3,0x0 PIE3bits.TMR4IE = 1; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0048c2 96a5 BCF 0xa5,0x3,0x0 IPR3bits.TMR4IP = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0048dc 86a3 BSF 0xa3,0x3,0x0 PIE3bits.TMR4IE = 1; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0048de 96a5 BCF 0xa5,0x3,0x0 IPR3bits.TMR4IP = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // Call the ebb init function to setup whatever it needs C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0048c4 ecb4 CALL 0x1b68,0x0 EBB_Init(); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0048c6 f00d +0048e0 ecb3 CALL 0x1b66,0x0 EBB_Init(); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0048e2 f00d C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0048c8 ec3d CALL 0x7e7a,0x0 RCServo2_Init(); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0048ca f03f +0048e4 ec4b CALL 0x7e96,0x0 RCServo2_Init(); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0048e6 f03f C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c /// INTCONbits.GIEH = 1; // Turn high priority interrupts on C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c /// INTCONbits.GIEL = 1; // Turn low priority interrupts on C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // Turn on the Timer4 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0048cc 8476 BSF 0x76,0x2,0x0 T4CONbits.TMR4ON = 1; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0048e8 8476 BSF 0x76,0x2,0x0 T4CONbits.TMR4ON = 1; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // If there's a name in FLASH for us, copy it over to the USB Device C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // descriptor before we enumerate C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0048ce ec8a CALL 0x6114,0x0 populateDeviceStringWithName(); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0048d0 f030 +0048ea ec98 CALL 0x6130,0x0 populateDeviceStringWithName(); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0048ec f030 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // Zero out limit switch variables C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0048d2 0100 MOVLB 0x0 gLimitSwitchPortB = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0048d4 6bdc CLRF 0xdc,0x1 -0048d6 6bdd CLRF 0xdd,0x1 gLimitSwitchReplies = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0048d8 6bde CLRF 0xde,0x1 gLimitSwitchReplyPrinted = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0048da 6bdf CLRF 0xdf,0x1 gCommandChecksumRequired = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0048ee 0100 MOVLB 0x0 gLimitSwitchPortB = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0048f0 6bdc CLRF 0xdc,0x1 +0048f2 6bdd CLRF 0xdd,0x1 gLimitSwitchReplies = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0048f4 6bde CLRF 0xde,0x1 gLimitSwitchReplyPrinted = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0048f6 6bdf CLRF 0xdf,0x1 gCommandChecksumRequired = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c #if PC_PG_T_COMMANDS_ENABLED C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // Zero out pulse variables C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c @@ -18322,38 +18352,38 @@ Address Value Disassembly Source gPulseCounters[3] = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c #endif C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0048dc 6bd1 CLRF 0xd1,0x1 gRCServoPoweroffCounterMS = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0048de 6bd2 CLRF 0xd2,0x1 -0048e0 6bd3 CLRF 0xd3,0x1 -0048e2 6bd4 CLRF 0xd4,0x1 -0048e4 0e60 MOVLW 0x60 gRCServoPoweroffCounterReloadMS = RCSERVO_POWEROFF_DEFAULT_MS; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0048e6 6fd5 MOVWF 0xd5,0x1 -0048e8 0eea MOVLW 0xea -0048ea 6fd6 MOVWF 0xd6,0x1 -0048ec 6bd7 CLRF 0xd7,0x1 -0048ee 6bd8 CLRF 0xd8,0x1 -0048f0 0e01 MOVLW 0x1 gAutomaticMotorEnable = TRUE; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0048f2 6fd9 MOVWF 0xd9,0x1 -0048f4 6be0 CLRF 0xe0,0x1 gStackHighWater = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0048f6 6be1 CLRF 0xe1,0x1 -0048f8 6ba5 CLRF 0xa5,0x1 g_PowerMonitorThresholdADC = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0048fa 6ba6 CLRF 0xa6,0x1 -0048fc 6ba9 CLRF 0xa9,0x1 g_StepperDisableTimeoutS = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0048fe 6baa CLRF 0xaa,0x1 -004900 6bab CLRF 0xab,0x1 g_StepperDisableSecondCounter = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004902 6bac CLRF 0xac,0x1 -004904 6bad CLRF 0xad,0x1 g_StepperDisableCountdownS = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004906 6bae CLRF 0xae,0x1 -004908 6ba8 CLRF 0xa8,0x1 g_StepperDisableState = kSTEPPER_TIMEOUT_DISABLED; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00490a 6ba7 CLRF 0xa7,0x1 g_PowerDropDetected = FALSE; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0048f8 6bd1 CLRF 0xd1,0x1 gRCServoPoweroffCounterMS = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0048fa 6bd2 CLRF 0xd2,0x1 +0048fc 6bd3 CLRF 0xd3,0x1 +0048fe 6bd4 CLRF 0xd4,0x1 +004900 0e60 MOVLW 0x60 gRCServoPoweroffCounterReloadMS = RCSERVO_POWEROFF_DEFAULT_MS; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +004902 6fd5 MOVWF 0xd5,0x1 +004904 0eea MOVLW 0xea +004906 6fd6 MOVWF 0xd6,0x1 +004908 6bd7 CLRF 0xd7,0x1 +00490a 6bd8 CLRF 0xd8,0x1 +00490c 0e01 MOVLW 0x1 gAutomaticMotorEnable = TRUE; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +00490e 6fd9 MOVWF 0xd9,0x1 +004910 6be0 CLRF 0xe0,0x1 gStackHighWater = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +004912 6be1 CLRF 0xe1,0x1 +004914 6ba5 CLRF 0xa5,0x1 g_PowerMonitorThresholdADC = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +004916 6ba6 CLRF 0xa6,0x1 +004918 6ba9 CLRF 0xa9,0x1 g_StepperDisableTimeoutS = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +00491a 6baa CLRF 0xaa,0x1 +00491c 6bab CLRF 0xab,0x1 g_StepperDisableSecondCounter = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +00491e 6bac CLRF 0xac,0x1 +004920 6bad CLRF 0xad,0x1 g_StepperDisableCountdownS = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +004922 6bae CLRF 0xae,0x1 +004924 6ba8 CLRF 0xa8,0x1 g_StepperDisableState = kSTEPPER_TIMEOUT_DISABLED; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +004926 6ba7 CLRF 0xa7,0x1 g_PowerDropDetected = FALSE; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c //// JUST FOR TESTING! REMOVE! C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00490c 9295 BCF 0x95,0x1,0x0 TRISDbits.TRISD1 = 0; // D1 high when in ISR C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00490e 9095 BCF 0x95,0x0,0x0 TRISDbits.TRISD0 = 0; // D0 high when loading next command C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004910 9292 BCF 0x92,0x1,0x0 TRISAbits.TRISA1 = 0; // A1 when FIFO empty C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004912 9094 BCF 0x94,0x0,0x0 TRISCbits.TRISC0 = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004914 9a92 BCF 0x92,0x5,0x0 TRISAbits.TRISA5 = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +004928 9295 BCF 0x95,0x1,0x0 TRISDbits.TRISD1 = 0; // D1 high when in ISR C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +00492a 9095 BCF 0x95,0x0,0x0 TRISDbits.TRISD0 = 0; // D0 high when loading next command C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +00492c 9292 BCF 0x92,0x1,0x0 TRISAbits.TRISA1 = 0; // A1 when FIFO empty C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +00492e 9094 BCF 0x94,0x0,0x0 TRISCbits.TRISC0 = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +004930 9a92 BCF 0x92,0x5,0x0 TRISAbits.TRISA5 = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c Open1USART( C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c @@ -18363,26 +18393,26 @@ Address Value Disassembly Source USART_EIGHT_BIT & C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c USART_CONT_RX & C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c USART_BRGH_HIGH & C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00491c 0e1c MOVLW 0x1c USART_ADDEN_OFF, C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00491e 6ee6 MOVWF 0xe6,0x0 -004916 0e02 MOVLW 0x2 2 // At 48 MHz, this creates 1 Mbaud output C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004918 6ee6 MOVWF 0xe6,0x0 ); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00491a 6ae6 CLRF 0xe6,0x0 -004920 ec2d CALL 0x8e5a,0x0 -004922 f047 -004924 ec19 CALL 0x6c32,0x0 -004926 f036 +004938 0e1c MOVLW 0x1c USART_ADDEN_OFF, C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +00493a 6ee6 MOVWF 0xe6,0x0 +004932 0e02 MOVLW 0x2 2 // At 48 MHz, this creates 1 Mbaud output C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +004934 6ee6 MOVWF 0xe6,0x0 ); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +004936 6ae6 CLRF 0xe6,0x0 +00493c ec3b CALL 0x8e76,0x0 +00493e f047 +004940 ec27 CALL 0x6c4e,0x0 +004942 f036 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c //// C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004928 0e02 MOVLW 0x2 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00492a 5ce1 SUBWF 0xe1,0x0,0x0 -00492c e202 BC 0x4932 -00492e 6ae1 CLRF 0xe1,0x0 -004930 52e5 MOVF 0xe5,0x1,0x0 -004932 6ee1 MOVWF 0xe1,0x0 -004934 eff2 GOTO 0x67e4 -004936 f033 +004944 0e02 MOVLW 0x2 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +004946 5ce1 SUBWF 0xe1,0x0,0x0 +004948 e202 BC 0x494e +00494a 6ae1 CLRF 0xe1,0x0 +00494c 52e5 MOVF 0xe5,0x1,0x0 +00494e 6ee1 MOVWF 0xe1,0x0 +004950 ef00 GOTO 0x6800 +004952 f034 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c /****************************************************************************** C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c * Function: void ProcessIO(void) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c @@ -18409,10 +18439,10 @@ Address Value Disassembly Source * C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c * Note: None C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c *****************************************************************************/ C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004938 eced CALL 0x67da,0x0 void ProcessIO(void) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00493a f033 -00493c 0e05 MOVLW 0x5 -00493e 26e1 ADDWF 0xe1,0x1,0x0 +004954 ecfb CALL 0x67f6,0x0 void ProcessIO(void) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +004956 f033 +004958 0e05 MOVLW 0x5 +00495a 26e1 ADDWF 0xe1,0x1,0x0 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c static BOOL in_cr = FALSE; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c static BYTE last_fifo_size; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c @@ -18420,171 +18450,171 @@ Address Value Disassembly Source static unsigned int button_ctr = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c BYTE i; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004940 ecfb CALL 0x69f6,0x0 BOOL done = FALSE; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004942 f034 -0069f6 0e01 MOVLW 0x1 -0069f8 6adb CLRF 0xdb,0x0 -0069fa 0e02 MOVLW 0x2 unsigned char rx_bytes = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0069fc 6adb CLRF 0xdb,0x0 -0069fe 0e03 MOVLW 0x3 unsigned char byte_cnt = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -006a00 6adb CLRF 0xdb,0x0 -006a02 0012 RETURN 0x0 +00495c ec09 CALL 0x6a12,0x0 BOOL done = FALSE; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +00495e f035 +006a12 0e01 MOVLW 0x1 +006a14 6adb CLRF 0xdb,0x0 +006a16 0e02 MOVLW 0x2 unsigned char rx_bytes = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +006a18 6adb CLRF 0xdb,0x0 +006a1a 0e03 MOVLW 0x3 unsigned char byte_cnt = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +006a1c 6adb CLRF 0xdb,0x0 +006a1e 0012 RETURN 0x0 unsigned char tst_char; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004944 ec07 CALL 0x660e,0x0 BlinkUSBStatus(); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004946 f033 +004960 ec15 CALL 0x662a,0x0 BlinkUSBStatus(); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +004962 f033 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // Check for any new I packets (from T command) ready to go out C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004948 0100 MOVLB 0x0 while (ISR_D_FIFO_length > 0u) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00494a 5191 MOVF 0x91,0x0,0x1 -00494c 0800 SUBLW 0x0 -00494e e20a BC 0x4964 -004962 d7f2 BRA 0x4948 +004964 0100 MOVLB 0x0 while (ISR_D_FIFO_length > 0u) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +004966 5191 MOVF 0x91,0x0,0x1 +004968 0800 SUBLW 0x0 +00496a e20a BC 0x4980 +00497e d7f2 BRA 0x4964 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // Spit out an I packet first C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004950 ec1f CALL 0x5a3e,0x0 parse_I_packet(); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004952 f02d +00496c ec2d CALL 0x5a5a,0x0 parse_I_packet(); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +00496e f02d C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // Then update our I packet FIFO stuff C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004954 0100 MOVLB 0x0 ISR_D_FIFO_out++; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004956 2b90 INCF 0x90,0x1,0x1 -004958 0e03 MOVLW 0x3 if (ISR_D_FIFO_out == kISR_FIFO_D_DEPTH) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00495a 5d90 SUBWF 0x90,0x0,0x1 -00495c e101 BNZ 0x4960 +004970 0100 MOVLB 0x0 ISR_D_FIFO_out++; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +004972 2b90 INCF 0x90,0x1,0x1 +004974 0e03 MOVLW 0x3 if (ISR_D_FIFO_out == kISR_FIFO_D_DEPTH) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +004976 5d90 SUBWF 0x90,0x0,0x1 +004978 e101 BNZ 0x497c { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00495e 6b90 CLRF 0x90,0x1 ISR_D_FIFO_out = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +00497a 6b90 CLRF 0x90,0x1 ISR_D_FIFO_out = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004960 0791 DECF 0x91,0x1,0x1 ISR_D_FIFO_length--; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +00497c 0791 DECF 0x91,0x1,0x1 ISR_D_FIFO_length--; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // Check for a new A packet (from T command) ready to go out C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004964 5196 MOVF 0x96,0x0,0x1 while (ISR_A_FIFO_length > 0u) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004966 0800 SUBLW 0x0 -004968 e20a BC 0x497e -00497c d7f3 BRA 0x4964 +004980 5196 MOVF 0x96,0x0,0x1 while (ISR_A_FIFO_length > 0u) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +004982 0800 SUBLW 0x0 +004984 e20a BC 0x499a +004998 d7f3 BRA 0x4980 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // Spit out an A packet first C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00496a ec3c CALL 0x5a78,0x0 parse_A_packet(); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00496c f02d +004986 ec4a CALL 0x5a94,0x0 parse_A_packet(); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +004988 f02d C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // Then update our A packet FIFO stuff C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00496e 0100 MOVLB 0x0 ISR_A_FIFO_out++; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004970 2b95 INCF 0x95,0x1,0x1 -004972 0e03 MOVLW 0x3 if (ISR_A_FIFO_out == kISR_FIFO_A_DEPTH) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004974 5d95 SUBWF 0x95,0x0,0x1 -004976 e101 BNZ 0x497a +00498a 0100 MOVLB 0x0 ISR_A_FIFO_out++; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +00498c 2b95 INCF 0x95,0x1,0x1 +00498e 0e03 MOVLW 0x3 if (ISR_A_FIFO_out == kISR_FIFO_A_DEPTH) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +004990 5d95 SUBWF 0x95,0x0,0x1 +004992 e101 BNZ 0x4996 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004978 6b95 CLRF 0x95,0x1 ISR_A_FIFO_out = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +004994 6b95 CLRF 0x95,0x1 ISR_A_FIFO_out = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00497a 0796 DECF 0x96,0x1,0x1 ISR_A_FIFO_length--; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +004996 0796 DECF 0x96,0x1,0x1 ISR_A_FIFO_length--; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // Bail from here if we're not 'plugged in' to a PC or we're suspended C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c if( C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00497e 0e20 MOVLW 0x20 (USBDeviceState < CONFIGURED_STATE) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004980 0101 MOVLB 0x1 -004982 6ee7 MOVWF 0xe7,0x0 -004984 19c3 XORWF 0xc3,0x0,0x1 -004986 aee8 BTFSS 0xe8,0x7,0x0 -004988 d002 BRA 0x498e -00498a 34e7 RLCF 0xe7,0x0,0x0 -00498c d002 BRA 0x4992 -00498e 50e7 MOVF 0xe7,0x0,0x0 -004990 5dc3 SUBWF 0xc3,0x0,0x1 +00499a 0e20 MOVLW 0x20 (USBDeviceState < CONFIGURED_STATE) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +00499c 0105 MOVLB 0x5 +00499e 6ee7 MOVWF 0xe7,0x0 +0049a0 19a8 XORWF 0xa8,0x0,0x1 +0049a2 aee8 BTFSS 0xe8,0x7,0x0 +0049a4 d002 BRA 0x49aa +0049a6 34e7 RLCF 0xe7,0x0,0x0 +0049a8 d002 BRA 0x49ae +0049aa 50e7 MOVF 0xe7,0x0,0x0 +0049ac 5da8 SUBWF 0xa8,0x0,0x1 || C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c (USBSuspendControl == 1u) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004992 e201 BC 0x4996 ) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004994 d0e1 BRA 0x4b58 -004996 5065 MOVF 0x65,0x0,0x0 -004998 0b02 ANDLW 0x2 -00499a e001 BZ 0x499e -00499c d0dd BRA 0x4b58 +0049ae e201 BC 0x49b2 ) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0049b0 d0e1 BRA 0x4b74 +0049b2 5065 MOVF 0x65,0x0,0x0 +0049b4 0b02 ANDLW 0x2 +0049b6 e001 BZ 0x49ba +0049b8 d0dd BRA 0x4b74 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c return; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // Pull in some new data if there is new data to pull in C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // And we aren't waiting for the current move to finish C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00499e 0e40 MOVLW 0x40 rx_bytes = getsUSBUSART((char *)g_RX_command_buf, kRX_COMMAND_BUF_SIZE); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0049a0 6ee6 MOVWF 0xe6,0x0 -0049a2 0e40 MOVLW 0x40 -0049a4 6ee6 MOVWF 0xe6,0x0 -0049a6 0e02 MOVLW 0x2 -0049a8 6ee6 MOVWF 0xe6,0x0 -0049aa ecbf CALL 0x837e,0x0 -0049ac f041 -0049ae ec19 CALL 0x6c32,0x0 -0049b0 f036 -0049b2 6ee7 MOVWF 0xe7,0x0 -0049b4 0e02 MOVLW 0x2 -0049b6 cfe7 MOVFF 0xfe7,0xfdb -0049b8 ffdb +0049ba 0e40 MOVLW 0x40 rx_bytes = getsUSBUSART((char *)g_RX_command_buf, kRX_COMMAND_BUF_SIZE); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0049bc 6ee6 MOVWF 0xe6,0x0 +0049be 0e40 MOVLW 0x40 +0049c0 6ee6 MOVWF 0xe6,0x0 +0049c2 0e02 MOVLW 0x2 +0049c4 6ee6 MOVWF 0xe6,0x0 +0049c6 eccd CALL 0x839a,0x0 +0049c8 f041 +0049ca ec27 CALL 0x6c4e,0x0 +0049cc f036 +0049ce 6ee7 MOVWF 0xe7,0x0 +0049d0 0e02 MOVLW 0x2 +0049d2 cfe7 MOVFF 0xfe7,0xfdb +0049d4 ffdb C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0049ba 50db MOVF 0xdb,0x0,0x0 if (rx_bytes > 0u) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0049bc 0800 SUBLW 0x0 -0049be e270 BC 0x4aa0 +0049d6 50db MOVF 0xdb,0x0,0x0 if (rx_bytes > 0u) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0049d8 0800 SUBLW 0x0 +0049da e270 BC 0x4abc { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0049c0 0e03 MOVLW 0x3 for (byte_cnt = 0; byte_cnt < rx_bytes; byte_cnt++) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0049c2 6adb CLRF 0xdb,0x0 -0049c4 0e02 MOVLW 0x2 -0049c6 50db MOVF 0xdb,0x0,0x0 -0049c8 6ef3 MOVWF 0xf3,0x0 -0049ca 0e03 MOVLW 0x3 -0049cc ecc1 CALL 0x6982,0x0 -0049ce f034 -0049d0 e267 BC 0x4aa0 -004a9a 0e03 MOVLW 0x3 -004a9c 2adb INCF 0xdb,0x1,0x0 -004a9e d792 BRA 0x49c4 +0049dc 0e03 MOVLW 0x3 for (byte_cnt = 0; byte_cnt < rx_bytes; byte_cnt++) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0049de 6adb CLRF 0xdb,0x0 +0049e0 0e02 MOVLW 0x2 +0049e2 50db MOVF 0xdb,0x0,0x0 +0049e4 6ef3 MOVWF 0xf3,0x0 +0049e6 0e03 MOVLW 0x3 +0049e8 eccf CALL 0x699e,0x0 +0049ea f034 +0049ec e267 BC 0x4abc +004ab6 0e03 MOVLW 0x3 +004ab8 2adb INCF 0xdb,0x1,0x0 +004aba d792 BRA 0x49e0 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0049d2 0e03 MOVLW 0x3 tst_char = g_RX_command_buf[byte_cnt]; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0049d4 50db MOVF 0xdb,0x0,0x0 -0049d6 6aea CLRF 0xea,0x0 -0049d8 0f40 ADDLW 0x40 -0049da 6ee9 MOVWF 0xe9,0x0 -0049dc 0e02 MOVLW 0x2 -0049de 22ea ADDWFC 0xea,0x1,0x0 -0049e0 0e04 MOVLW 0x4 -0049e2 cfef MOVFF 0xfef,0xfdb -0049e4 ffdb +0049ee 0e03 MOVLW 0x3 tst_char = g_RX_command_buf[byte_cnt]; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0049f0 50db MOVF 0xdb,0x0,0x0 +0049f2 6aea CLRF 0xea,0x0 +0049f4 0f40 ADDLW 0x40 +0049f6 6ee9 MOVWF 0xe9,0x0 +0049f8 0e02 MOVLW 0x2 +0049fa 22ea ADDWFC 0xea,0x1,0x0 +0049fc 0e04 MOVLW 0x4 +0049fe cfef MOVFF 0xfef,0xfdb +004a00 ffdb C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0049e6 a809 BTFSS 0x9,0x4,0x0 if (bittst(TestMode, TEST_MODE_USART_COMMAND_BIT_NUM)) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0049e8 d005 BRA 0x49f4 +004a02 a809 BTFSS 0x9,0x4,0x0 if (bittst(TestMode, TEST_MODE_USART_COMMAND_BIT_NUM)) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +004a04 d005 BRA 0x4a10 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0049ea cfdb MOVFF 0xfdb,0xfe6 Write1USART(tst_char); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0049ec ffe6 -0049ee ec3c CALL 0x9078,0x0 -0049f0 f048 -0049f2 52e5 MOVF 0xe5,0x1,0x0 +004a06 cfdb MOVFF 0xfdb,0xfe6 Write1USART(tst_char); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +004a08 ffe6 +004a0a ec4a CALL 0x9094,0x0 +004a0c f048 +004a0e 52e5 MOVF 0xe5,0x1,0x0 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // Check to see if we are in a CR/LF situation C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c if ( C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0049f4 0101 MOVLB 0x1 !in_cr C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0049f6 51f7 MOVF 0xf7,0x0,0x1 +004a10 0101 MOVLB 0x1 !in_cr C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +004a12 51f9 MOVF 0xf9,0x0,0x1 && C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c ( C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0049fa 0e0d MOVLW 0xd kCR == tst_char C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0049fc 6e33 MOVWF 0x33,0x0 -0049fe 0e04 MOVLW 0x4 -004a00 50db MOVF 0xdb,0x0,0x0 -004a02 5c33 SUBWF 0x33,0x0,0x0 || C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004a06 0e0a MOVLW 0xa kLF == tst_char C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004a08 6e34 MOVWF 0x34,0x0 -004a0a 0e04 MOVLW 0x4 -004a0c 50db MOVF 0xdb,0x0,0x0 -004a04 e006 BZ 0x4a12 ) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004a0e 5c34 SUBWF 0x34,0x0,0x0 -004a10 e10d BNZ 0x4a2c -0049f8 e119 BNZ 0x4a2c ) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +004a16 0e0d MOVLW 0xd kCR == tst_char C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +004a18 6e47 MOVWF 0x47,0x0 +004a1a 0e04 MOVLW 0x4 +004a1c 50db MOVF 0xdb,0x0,0x0 +004a1e 5c47 SUBWF 0x47,0x0,0x0 || C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +004a22 0e0a MOVLW 0xa kLF == tst_char C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +004a24 6e48 MOVWF 0x48,0x0 +004a26 0e04 MOVLW 0x4 +004a28 50db MOVF 0xdb,0x0,0x0 +004a20 e006 BZ 0x4a2e ) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +004a2a 5c48 SUBWF 0x48,0x0,0x0 +004a2c e10d BNZ 0x4a48 +004a14 e119 BNZ 0x4a48 ) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004a12 0e01 MOVLW 0x1 in_cr = TRUE; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004a14 6ff7 MOVWF 0xf7,0x1 -004a16 0100 MOVLB 0x0 g_RX_buf[g_RX_buf_in] = kCR; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004a18 ecdb CALL 0x69b6,0x0 -004a1a f034 -004a1c 0e0d MOVLW 0xd -004a1e 6eef MOVWF 0xef,0x0 -004a20 2bca INCF 0xca,0x1,0x1 g_RX_buf_in++; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +004a2e 0e01 MOVLW 0x1 in_cr = TRUE; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +004a30 6ff9 MOVWF 0xf9,0x1 +004a32 0100 MOVLB 0x0 g_RX_buf[g_RX_buf_in] = kCR; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +004a34 ece9 CALL 0x69d2,0x0 +004a36 f034 +004a38 0e0d MOVLW 0xd +004a3a 6eef MOVWF 0xef,0x0 +004a3c 2bca INCF 0xca,0x1,0x1 g_RX_buf_in++; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // At this point, we know we have a full packet C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // of information from the PC to parse C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c @@ -18592,385 +18622,385 @@ Address Value Disassembly Source // Now, if we've gotten a full command (user send ) then C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // go call the code that deals with that command, and then C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // keep parsing. (This allows multiple small commands per packet) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004a22 d8f7 RCALL 0x4c12 parse_packet(); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004a24 0100 MOVLB 0x0 g_RX_buf_in = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004a26 6bca CLRF 0xca,0x1 -004a28 6bcb CLRF 0xcb,0x1 g_RX_buf_out = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +004a3e d8f7 RCALL 0x4c2e parse_packet(); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +004a40 0100 MOVLB 0x0 g_RX_buf_in = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +004a42 6bca CLRF 0xca,0x1 +004a44 6bcb CLRF 0xcb,0x1 g_RX_buf_out = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004a2a d02a BRA 0x4a80 else if (tst_char == 8u && g_RX_buf_in > 0u) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004a2c 0e04 MOVLW 0x4 -004a2e 50db MOVF 0xdb,0x0,0x0 -004a30 0808 SUBLW 0x8 -004a32 e10e BNZ 0x4a50 -004a34 0100 MOVLB 0x0 -004a36 51ca MOVF 0xca,0x0,0x1 -004a38 0800 SUBLW 0x0 -004a3a e20a BC 0x4a50 +004a46 d02a BRA 0x4a9c else if (tst_char == 8u && g_RX_buf_in > 0u) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +004a48 0e04 MOVLW 0x4 +004a4a 50db MOVF 0xdb,0x0,0x0 +004a4c 0808 SUBLW 0x8 +004a4e e10e BNZ 0x4a6c +004a50 0100 MOVLB 0x0 +004a52 51ca MOVF 0xca,0x0,0x1 +004a54 0800 SUBLW 0x0 +004a56 e20a BC 0x4a6c { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // Handle the backspace thing C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004a3c 07ca DECF 0xca,0x1,0x1 g_RX_buf_in--; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004a3e ecdb CALL 0x69b6,0x0 g_RX_buf[g_RX_buf_in] = 0x00; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004a40 f034 -004a42 6aef CLRF 0xef,0x0 -004a44 0e77 MOVLW 0x77 ebb_print((far rom char *)" \b"); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004a46 6e33 MOVWF 0x33,0x0 -004a48 0e7e MOVLW 0x7e -004a4a ecd1 CALL 0x67a2,0x0 -004a4c f033 +004a58 07ca DECF 0xca,0x1,0x1 g_RX_buf_in--; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +004a5a ece9 CALL 0x69d2,0x0 g_RX_buf[g_RX_buf_in] = 0x00; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +004a5c f034 +004a5e 6aef CLRF 0xef,0x0 +004a60 0e93 MOVLW 0x93 ebb_print((far rom char *)" \b"); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +004a62 6e47 MOVWF 0x47,0x0 +004a64 0e7e MOVLW 0x7e +004a66 ecdf CALL 0x67be,0x0 +004a68 f033 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004a4e d018 BRA 0x4a80 else if ( C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004a50 0e04 MOVLW 0x4 tst_char != kCR C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004a52 50db MOVF 0xdb,0x0,0x0 -004a54 080d SUBLW 0xd && C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004a58 0e04 MOVLW 0x4 tst_char != kLF C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004a5a 50db MOVF 0xdb,0x0,0x0 -004a56 e014 BZ 0x4a80 && C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004a5c 080a SUBLW 0xa -004a5e e010 BZ 0x4a80 -004a60 0e20 MOVLW 0x20 tst_char >= 32u C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004a62 6ef3 MOVWF 0xf3,0x0 ) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004a64 0e04 MOVLW 0x4 -004a66 ecc1 CALL 0x6982,0x0 -004a68 f034 -004a6a e30a BNC 0x4a80 +004a6a d018 BRA 0x4a9c else if ( C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +004a6c 0e04 MOVLW 0x4 tst_char != kCR C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +004a6e 50db MOVF 0xdb,0x0,0x0 +004a70 080d SUBLW 0xd && C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +004a74 0e04 MOVLW 0x4 tst_char != kLF C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +004a76 50db MOVF 0xdb,0x0,0x0 +004a72 e014 BZ 0x4a9c && C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +004a78 080a SUBLW 0xa +004a7a e010 BZ 0x4a9c +004a7c 0e20 MOVLW 0x20 tst_char >= 32u C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +004a7e 6ef3 MOVWF 0xf3,0x0 ) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +004a80 0e04 MOVLW 0x4 +004a82 eccf CALL 0x699e,0x0 +004a84 f034 +004a86 e30a BNC 0x4a9c { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // Only add a byte if it is not a CR or LF C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004a6c 0100 MOVLB 0x0 g_RX_buf[g_RX_buf_in] = tst_char; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004a6e ecdb CALL 0x69b6,0x0 -004a70 f034 -004a72 0e04 MOVLW 0x4 -004a74 cfdb MOVFF 0xfdb,0xfef -004a76 ffef -0069b6 51ca MOVF 0xca,0x0,0x1 -0069b8 ef65 GOTO 0x6aca -0069ba f035 -006aca 6aea CLRF 0xea,0x0 -006acc 0f00 ADDLW 0x0 -006ace 6ee9 MOVWF 0xe9,0x0 -006ad0 0e03 MOVLW 0x3 -006ad2 22ea ADDWFC 0xea,0x1,0x0 -006ad4 0012 RETURN 0x0 -004a78 0101 MOVLB 0x1 in_cr = FALSE; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004a7a 6bf7 CLRF 0xf7,0x1 -004a7c 0100 MOVLB 0x0 g_RX_buf_in++; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004a7e 2bca INCF 0xca,0x1,0x1 +004a88 0100 MOVLB 0x0 g_RX_buf[g_RX_buf_in] = tst_char; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +004a8a ece9 CALL 0x69d2,0x0 +004a8c f034 +004a8e 0e04 MOVLW 0x4 +004a90 cfdb MOVFF 0xfdb,0xfef +004a92 ffef +0069d2 51ca MOVF 0xca,0x0,0x1 +0069d4 ef73 GOTO 0x6ae6 +0069d6 f035 +006ae6 6aea CLRF 0xea,0x0 +006ae8 0f00 ADDLW 0x0 +006aea 6ee9 MOVWF 0xe9,0x0 +006aec 0e03 MOVLW 0x3 +006aee 22ea ADDWFC 0xea,0x1,0x0 +006af0 0012 RETURN 0x0 +004a94 0101 MOVLB 0x1 in_cr = FALSE; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +004a96 6bf9 CLRF 0xf9,0x1 +004a98 0100 MOVLB 0x0 g_RX_buf_in++; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +004a9a 2bca INCF 0xca,0x1,0x1 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // Check for buffer wraparound C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004a80 0100 MOVLB 0x0 if (kRX_BUF_SIZE == g_RX_buf_in) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004a82 51ca MOVF 0xca,0x0,0x1 -004a84 6e33 MOVWF 0x33,0x0 -004a86 6a34 CLRF 0x34,0x0 -004a88 0e00 MOVLW 0x0 -004a8a 1833 XORWF 0x33,0x0,0x0 -004a8c e106 BNZ 0x4a9a -004a8e 0e01 MOVLW 0x1 -004a90 1834 XORWF 0x34,0x0,0x0 -004a92 e103 BNZ 0x4a9a +004a9c 0100 MOVLB 0x0 if (kRX_BUF_SIZE == g_RX_buf_in) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +004a9e 51ca MOVF 0xca,0x0,0x1 +004aa0 6e47 MOVWF 0x47,0x0 +004aa2 6a48 CLRF 0x48,0x0 +004aa4 0e00 MOVLW 0x0 +004aa6 1847 XORWF 0x47,0x0,0x0 +004aa8 e106 BNZ 0x4ab6 +004aaa 0e01 MOVLW 0x1 +004aac 1848 XORWF 0x48,0x0,0x0 +004aae e103 BNZ 0x4ab6 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004a94 8797 BSF 0x97,0x3,0x1 bitset(error_byte, kERROR_BYTE_RX_BUFFER_OVERRUN); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004a96 6bca CLRF 0xca,0x1 g_RX_buf_in = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004a98 6bcb CLRF 0xcb,0x1 g_RX_buf_out = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +004ab0 8797 BSF 0x97,0x3,0x1 bitset(error_byte, kERROR_BYTE_RX_BUFFER_OVERRUN); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +004ab2 6bca CLRF 0xca,0x1 g_RX_buf_in = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +004ab4 6bcb CLRF 0xcb,0x1 g_RX_buf_out = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // Check for any errors logged in error_byte that need to be sent out C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004aa0 0100 MOVLB 0x0 if (error_byte) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004aa2 5197 MOVF 0x97,0x0,0x1 -004aa4 e039 BZ 0x4b18 +004abc 0100 MOVLB 0x0 if (error_byte) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +004abe 5197 MOVF 0x97,0x0,0x1 +004ac0 e039 BZ 0x4b34 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004aa6 a197 BTFSS 0x97,0x0,0x1 if (bittstzero(error_byte)) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004aa8 d005 BRA 0x4ab4 +004ac2 a197 BTFSS 0x97,0x0,0x1 if (bittstzero(error_byte)) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +004ac4 d005 BRA 0x4ad0 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // Unused as of yet C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004aaa 0e73 MOVLW 0x73 ebb_print((far rom char *)"!0 "); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004aac 6e33 MOVWF 0x33,0x0 -004aae 0e7e MOVLW 0x7e -004ab0 ec5a CALL 0x6ab4,0x0 -004ab2 f035 +004ac6 0e8f MOVLW 0x8f ebb_print((far rom char *)"!0 "); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +004ac8 6e47 MOVWF 0x47,0x0 +004aca 0e7e MOVLW 0x7e +004acc ec68 CALL 0x6ad0,0x0 +004ace f035 print_line_ending(kLE_NORM); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004ab4 0100 MOVLB 0x0 if (bittst(error_byte, kERROR_BYTE_STEPS_TO_FAST)) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004ab6 a397 BTFSS 0x97,0x1,0x1 -004ab8 d005 BRA 0x4ac4 +004ad0 0100 MOVLB 0x0 if (bittst(error_byte, kERROR_BYTE_STEPS_TO_FAST)) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +004ad2 a397 BTFSS 0x97,0x1,0x1 +004ad4 d005 BRA 0x4ae0 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // Unused as of yet C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004aba 0e56 MOVLW 0x56 ebb_print((far rom char *)"!1 Err: Can't step that fast"); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004abc 6e33 MOVWF 0x33,0x0 -004abe 0e7e MOVLW 0x7e -004ac0 ec5a CALL 0x6ab4,0x0 -004ac2 f035 +004ad6 0e72 MOVLW 0x72 ebb_print((far rom char *)"!1 Err: Can't step that fast"); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +004ad8 6e47 MOVWF 0x47,0x0 +004ada 0e7e MOVLW 0x7e +004adc ec68 CALL 0x6ad0,0x0 +004ade f035 print_line_ending(kLE_NORM); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004ac4 0100 MOVLB 0x0 if (bittst(error_byte, kERROR_BYTE_TX_BUF_OVERRUN)) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004ac6 a597 BTFSS 0x97,0x2,0x1 -004ac8 d005 BRA 0x4ad4 +004ae0 0100 MOVLB 0x0 if (bittst(error_byte, kERROR_BYTE_TX_BUF_OVERRUN)) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +004ae2 a597 BTFSS 0x97,0x2,0x1 +004ae4 d005 BRA 0x4af0 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004aca 0e3c MOVLW 0x3c ebb_print((far rom char *)"!2 Err: TX Buffer overrun"); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004acc 6e33 MOVWF 0x33,0x0 -004ace 0e7e MOVLW 0x7e -004ad0 ec5a CALL 0x6ab4,0x0 -004ad2 f035 +004ae6 0e58 MOVLW 0x58 ebb_print((far rom char *)"!2 Err: TX Buffer overrun"); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +004ae8 6e47 MOVWF 0x47,0x0 +004aea 0e7e MOVLW 0x7e +004aec ec68 CALL 0x6ad0,0x0 +004aee f035 print_line_ending(kLE_NORM); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004ad4 0100 MOVLB 0x0 if (bittst(error_byte, kERROR_BYTE_RX_BUFFER_OVERRUN)) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004ad6 a797 BTFSS 0x97,0x3,0x1 -004ad8 d005 BRA 0x4ae4 +004af0 0100 MOVLB 0x0 if (bittst(error_byte, kERROR_BYTE_RX_BUFFER_OVERRUN)) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +004af2 a797 BTFSS 0x97,0x3,0x1 +004af4 d005 BRA 0x4b00 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004ada 0e22 MOVLW 0x22 ebb_print((far rom char *)"!3 Err: RX Buffer overrun"); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004adc 6e33 MOVWF 0x33,0x0 -004ade 0e7e MOVLW 0x7e -004ae0 ec5a CALL 0x6ab4,0x0 -004ae2 f035 +004af6 0e3e MOVLW 0x3e ebb_print((far rom char *)"!3 Err: RX Buffer overrun"); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +004af8 6e47 MOVWF 0x47,0x0 +004afa 0e7e MOVLW 0x7e +004afc ec68 CALL 0x6ad0,0x0 +004afe f035 print_line_ending(kLE_NORM); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004ae4 0100 MOVLB 0x0 if (bittst(error_byte, kERROR_BYTE_MISSING_PARAMETER)) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004ae6 a997 BTFSS 0x97,0x4,0x1 -004ae8 d005 BRA 0x4af4 +004b00 0100 MOVLB 0x0 if (bittst(error_byte, kERROR_BYTE_MISSING_PARAMETER)) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +004b02 a997 BTFSS 0x97,0x4,0x1 +004b04 d005 BRA 0x4b10 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004aea 0e05 MOVLW 0x5 ebb_print((far rom char *)"!4 Err: Missing parameter(s)"); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004aec 6e33 MOVWF 0x33,0x0 -004aee 0e7e MOVLW 0x7e -004af0 ec5a CALL 0x6ab4,0x0 -004af2 f035 +004b06 0e21 MOVLW 0x21 ebb_print((far rom char *)"!4 Err: Missing parameter(s)"); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +004b08 6e47 MOVWF 0x47,0x0 +004b0a 0e7e MOVLW 0x7e +004b0c ec68 CALL 0x6ad0,0x0 +004b0e f035 print_line_ending(kLE_NORM); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004af4 0100 MOVLB 0x0 if (bittst(error_byte, kERROR_BYTE_PRINTED_ERROR)) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +004b10 0100 MOVLB 0x0 if (bittst(error_byte, kERROR_BYTE_PRINTED_ERROR)) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // We don't need to do anything since something has already been printed out C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c //printf ((rom char *)"!5"); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c //print_line_ending(kLE_NORM); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004af6 ad97 BTFSS 0x97,0x6,0x1 if (bittst(error_byte, kERROR_BYTE_PARAMETER_OUTSIDE_LIMIT)) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004af8 d005 BRA 0x4b04 +004b12 ad97 BTFSS 0x97,0x6,0x1 if (bittst(error_byte, kERROR_BYTE_PARAMETER_OUTSIDE_LIMIT)) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +004b14 d005 BRA 0x4b20 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004afa 0ee5 MOVLW 0xe5 ebb_print((far rom char *)"!6 Err: Invalid parameter value"); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004afc 6e33 MOVWF 0x33,0x0 -004afe 0e7d MOVLW 0x7d -004b00 ec5a CALL 0x6ab4,0x0 -004b02 f035 +004b16 0e01 MOVLW 0x1 ebb_print((far rom char *)"!6 Err: Invalid parameter value"); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +004b18 6e47 MOVWF 0x47,0x0 +004b1a 0e7e MOVLW 0x7e +004b1c ec68 CALL 0x6ad0,0x0 +004b1e f035 print_line_ending(kLE_NORM); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004b04 0100 MOVLB 0x0 if (bittst(error_byte, kERROR_BYTE_EXTRA_CHARACTERS)) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004b06 af97 BTFSS 0x97,0x7,0x1 -004b08 d005 BRA 0x4b14 +004b20 0100 MOVLB 0x0 if (bittst(error_byte, kERROR_BYTE_EXTRA_CHARACTERS)) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +004b22 af97 BTFSS 0x97,0x7,0x1 +004b24 d005 BRA 0x4b30 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004b0a 0ecd MOVLW 0xcd ebb_print((far rom char *)"!7 Err: Extra parameter"); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004b0c 6e33 MOVWF 0x33,0x0 -004b0e 0e7d MOVLW 0x7d -004b10 ec5a CALL 0x6ab4,0x0 -004b12 f035 +004b26 0ee9 MOVLW 0xe9 ebb_print((far rom char *)"!7 Err: Extra parameter"); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +004b28 6e47 MOVWF 0x47,0x0 +004b2a 0e7d MOVLW 0x7d +004b2c ec68 CALL 0x6ad0,0x0 +004b2e f035 print_line_ending(kLE_NORM); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004b14 0100 MOVLB 0x0 error_byte = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004b16 6b97 CLRF 0x97,0x1 +004b30 0100 MOVLB 0x0 error_byte = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +004b32 6b97 CLRF 0x97,0x1 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // Check to see if we need to print out a "Limit switch triggered" packet to the PC C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004b18 51dd MOVF 0xdd,0x0,0x1 if (gLimitSwitchReplies) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004b1a e01d BZ 0x4b56 +004b34 51dd MOVF 0xdd,0x0,0x1 if (gLimitSwitchReplies) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +004b36 e01d BZ 0x4b72 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004b1c 0e01 MOVLW 0x1 if (bittstzero(gLimitSwitchTriggered) && !gLimitSwitchReplyPrinted) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004b1e 140e ANDWF 0xe,0x0,0x0 -004b20 e014 BZ 0x4b4a -004b22 51de MOVF 0xde,0x0,0x1 -004b24 e112 BNZ 0x4b4a +004b38 0e01 MOVLW 0x1 if (bittstzero(gLimitSwitchTriggered) && !gLimitSwitchReplyPrinted) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +004b3a 140e ANDWF 0xe,0x0,0x0 +004b3c e014 BZ 0x4b66 +004b3e 51de MOVF 0xde,0x0,0x1 +004b40 e112 BNZ 0x4b66 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004b26 0eae MOVLW 0xae ebb_print((far rom char *)"Limit switch triggered. PortB="); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004b28 6e33 MOVWF 0x33,0x0 -004b2a 0e7d MOVLW 0x7d -004b2c ecd1 CALL 0x67a2,0x0 -004b2e f033 +004b42 0eca MOVLW 0xca ebb_print((far rom char *)"Limit switch triggered. PortB="); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +004b44 6e47 MOVWF 0x47,0x0 +004b46 0e7d MOVLW 0x7d +004b48 ecdf CALL 0x67be,0x0 +004b4a f033 // We want 2 characters of hex C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004b30 0e02 MOVLW 0x2 ebb_print_hex(gLimitSwitchPortB, 2); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004b32 6ee6 MOVWF 0xe6,0x0 -004b34 c0dc MOVFF 0xdc,0x33 -004b36 f033 -004b38 6a34 CLRF 0x34,0x0 -004b3a ecf6 CALL 0x67ec,0x0 -004b3c f033 -004b3e ecdb CALL 0x67b6,0x0 print_line_ending(kLE_NORM); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004b40 f033 -004b42 0100 MOVLB 0x0 gLimitSwitchReplyPrinted = TRUE; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004b44 0e01 MOVLW 0x1 -004b46 6fde MOVWF 0xde,0x1 +004b4c 0e02 MOVLW 0x2 ebb_print_hex(gLimitSwitchPortB, 2); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +004b4e 6ee6 MOVWF 0xe6,0x0 +004b50 c0dc MOVFF 0xdc,0x47 +004b52 f047 +004b54 6a48 CLRF 0x48,0x0 +004b56 ec04 CALL 0x6808,0x0 +004b58 f034 +004b5a ece9 CALL 0x67d2,0x0 print_line_ending(kLE_NORM); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +004b5c f033 +004b5e 0100 MOVLB 0x0 gLimitSwitchReplyPrinted = TRUE; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +004b60 0e01 MOVLW 0x1 +004b62 6fde MOVWF 0xde,0x1 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004b48 d006 BRA 0x4b56 else if (!bittstzero(gLimitSwitchTriggered) && gLimitSwitchReplyPrinted) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004b4a 0e01 MOVLW 0x1 -004b4c 140e ANDWF 0xe,0x0,0x0 -004b4e e103 BNZ 0x4b56 -004b50 51de MOVF 0xde,0x0,0x1 -004b52 e001 BZ 0x4b56 +004b64 d006 BRA 0x4b72 else if (!bittstzero(gLimitSwitchTriggered) && gLimitSwitchReplyPrinted) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +004b66 0e01 MOVLW 0x1 +004b68 140e ANDWF 0xe,0x0,0x0 +004b6a e103 BNZ 0x4b72 +004b6c 51de MOVF 0xde,0x0,0x1 +004b6e e001 BZ 0x4b72 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004b54 6bde CLRF 0xde,0x1 gLimitSwitchReplyPrinted = FALSE; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +004b70 6bde CLRF 0xde,0x1 gLimitSwitchReplyPrinted = FALSE; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // Go send any data that needs sending to PC C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004b56 d837 RCALL 0x4bc6 check_and_send_TX_data(); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004b58 0e05 MOVLW 0x5 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004b5a 5ce1 SUBWF 0xe1,0x0,0x0 -004b5c e202 BC 0x4b62 -004b5e 6ae1 CLRF 0xe1,0x0 -004b60 52e5 MOVF 0xe5,0x1,0x0 -004b62 6ee1 MOVWF 0xe1,0x0 -004b64 eff2 GOTO 0x67e4 -004b66 f033 +004b72 d837 RCALL 0x4be2 check_and_send_TX_data(); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +004b74 0e05 MOVLW 0x5 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +004b76 5ce1 SUBWF 0xe1,0x0,0x0 +004b78 e202 BC 0x4b7e +004b7a 6ae1 CLRF 0xe1,0x0 +004b7c 52e5 MOVF 0xe5,0x1,0x0 +004b7e 6ee1 MOVWF 0xe1,0x0 +004b80 ef00 GOTO 0x6800 +004b82 f034 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // This is our replacement for the standard putc routine C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // This enables ebb_print() and all related functions to print to C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // the USB output (i.e. to the PC) buffer C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004b68 ec8b CALL 0x6b16,0x0 int ebb_putc(char c) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004b6a f035 +004b84 ec99 CALL 0x6b32,0x0 int ebb_putc(char c) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +004b86 f035 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004b6c c0c8 MOVFF 0xc8,0xfdf BYTE OldPtr = g_TX_buf_in; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004b6e ffdf +004b88 c0c8 MOVFF 0xc8,0xfdf BYTE OldPtr = g_TX_buf_in; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +004b8a ffdf C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // Check to see if adding this byte will cause us to be full C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004b70 2adf INCF 0xdf,0x1,0x0 OldPtr++; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004b72 0e40 MOVLW 0x40 if (kTX_BUF_SIZE == OldPtr) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004b74 ec3f CALL 0x687e,0x0 -004b76 f034 -004b78 e101 BNZ 0x4b7c +004b8c 2adf INCF 0xdf,0x1,0x0 OldPtr++; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +004b8e 0e40 MOVLW 0x40 if (kTX_BUF_SIZE == OldPtr) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +004b90 ec4d CALL 0x689a,0x0 +004b92 f034 +004b94 e101 BNZ 0x4b98 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004b7a 6adf CLRF 0xdf,0x0 OldPtr = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +004b96 6adf CLRF 0xdf,0x0 OldPtr = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // If so, then wait until some bytes go away first and make room C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004b7c 0100 MOVLB 0x0 if (OldPtr == g_TX_buf_out) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004b7e 51c9 MOVF 0xc9,0x0,0x1 -004b80 5cdf SUBWF 0xdf,0x0,0x0 -004b82 e101 BNZ 0x4b86 +004b98 0100 MOVLB 0x0 if (OldPtr == g_TX_buf_out) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +004b9a 51c9 MOVF 0xc9,0x0,0x1 +004b9c 5cdf SUBWF 0xdf,0x0,0x0 +004b9e e101 BNZ 0x4ba2 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004b84 d820 RCALL 0x4bc6 check_and_send_TX_data(); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +004ba0 d820 RCALL 0x4be2 check_and_send_TX_data(); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // Copy the character into the output buffer C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004b86 0100 MOVLB 0x0 g_TX_buf[g_TX_buf_in] = c; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004b88 51c8 MOVF 0xc8,0x0,0x1 -004b8a 6aea CLRF 0xea,0x0 -004b8c 0f00 ADDLW 0x0 -004b8e 6ee9 MOVWF 0xe9,0x0 -004b90 0e02 MOVLW 0x2 -004b92 22ea ADDWFC 0xea,0x1,0x0 -004b94 0efe MOVLW 0xfe -004b96 cfdb MOVFF 0xfdb,0xfef -004b98 ffef -004b9a 2bc8 INCF 0xc8,0x1,0x1 g_TX_buf_in++; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +004ba2 0100 MOVLB 0x0 g_TX_buf[g_TX_buf_in] = c; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +004ba4 51c8 MOVF 0xc8,0x0,0x1 +004ba6 6aea CLRF 0xea,0x0 +004ba8 0f00 ADDLW 0x0 +004baa 6ee9 MOVWF 0xe9,0x0 +004bac 0e02 MOVLW 0x2 +004bae 22ea ADDWFC 0xea,0x1,0x0 +004bb0 0efe MOVLW 0xfe +004bb2 cfdb MOVFF 0xfdb,0xfef +004bb4 ffef +004bb6 2bc8 INCF 0xc8,0x1,0x1 g_TX_buf_in++; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // Check for wrap around C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004b9c 0e40 MOVLW 0x40 if (kTX_BUF_SIZE == g_TX_buf_in) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004b9e 5dc8 SUBWF 0xc8,0x0,0x1 -004ba0 e101 BNZ 0x4ba4 +004bb8 0e40 MOVLW 0x40 if (kTX_BUF_SIZE == g_TX_buf_in) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +004bba 5dc8 SUBWF 0xc8,0x0,0x1 +004bbc e101 BNZ 0x4bc0 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004ba2 6bc8 CLRF 0xc8,0x1 g_TX_buf_in = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +004bbe 6bc8 CLRF 0xc8,0x1 g_TX_buf_in = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // Also check to see if we bumped up against our output pointer C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004ba4 51c9 MOVF 0xc9,0x0,0x1 if (g_TX_buf_in == g_TX_buf_out) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004ba6 5dc8 SUBWF 0xc8,0x0,0x1 -004ba8 e101 BNZ 0x4bac +004bc0 51c9 MOVF 0xc9,0x0,0x1 if (g_TX_buf_in == g_TX_buf_out) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +004bc2 5dc8 SUBWF 0xc8,0x0,0x1 +004bc4 e101 BNZ 0x4bc8 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004baa 8597 BSF 0x97,0x2,0x1 bitset(error_byte, kERROR_BYTE_TX_BUF_OVERRUN); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +004bc6 8597 BSF 0x97,0x2,0x1 bitset(error_byte, kERROR_BYTE_TX_BUF_OVERRUN); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004bac 0efe MOVLW 0xfe return(c); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004bae cfdb MOVFF 0xfdb,0x33 -004bb0 f033 -004bb2 6a34 CLRF 0x34,0x0 -004bb4 be33 BTFSC 0x33,0x7,0x0 -004bb6 6834 SETF 0x34,0x0 -004bb8 c033 MOVFF 0x33,0xff3 -004bba fff3 -004bbc c034 MOVFF 0x34,0xff4 -004bbe fff4 -004bc0 52e5 MOVF 0xe5,0x1,0x0 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004bc2 eff2 GOTO 0x67e4 -004bc4 f033 +004bc8 0efe MOVLW 0xfe return(c); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +004bca cfdb MOVFF 0xfdb,0x47 +004bcc f047 +004bce 6a48 CLRF 0x48,0x0 +004bd0 be47 BTFSC 0x47,0x7,0x0 +004bd2 6848 SETF 0x48,0x0 +004bd4 c047 MOVFF 0x47,0xff3 +004bd6 fff3 +004bd8 c048 MOVFF 0x48,0xff4 +004bda fff4 +004bdc 52e5 MOVF 0xe5,0x1,0x0 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +004bde ef00 GOTO 0x6800 +004be0 f034 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // In this function, we check to see if we have anything to transmit. C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // If so then we schedule the data for sending. C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004bc6 ec8b CALL 0x6b16,0x0 void check_and_send_TX_data(void) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004bc8 f035 +004be2 ec99 CALL 0x6b32,0x0 void check_and_send_TX_data(void) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +004be4 f035 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c char temp; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // Only send if there's something there to send C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004bca 0100 MOVLB 0x0 if (g_TX_buf_out != g_TX_buf_in) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004bcc 51c8 MOVF 0xc8,0x0,0x1 -004bce 5dc9 SUBWF 0xc9,0x0,0x1 -004bd0 e01d BZ 0x4c0c +004be6 0100 MOVLB 0x0 if (g_TX_buf_out != g_TX_buf_in) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +004be8 51c8 MOVF 0xc8,0x0,0x1 +004bea 5dc9 SUBWF 0xc9,0x0,0x1 +004bec e01d BZ 0x4c28 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // Yes, Microchip says not to do this. We'll be blocking C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // here until there's room in the USB stack to send C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // something new. But without making our buffers huge, C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // I don't know how else to do it. C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004bd2 0105 MOVLB 0x5 while (!USBUSARTIsTxTrfReady()) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004bd4 5190 MOVF 0x90,0x0,0x1 -004bd6 e005 BZ 0x4be2 -004be0 d7f8 BRA 0x4bd2 +004bee 0105 MOVLB 0x5 while (!USBUSARTIsTxTrfReady()) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +004bf0 5190 MOVF 0x90,0x0,0x1 +004bf2 e005 BZ 0x4bfe +004bfc d7f8 BRA 0x4bee { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004bd8 ec4b CALL 0x8496,0x0 CDCTxService(); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004bda f042 +004bf4 ec59 CALL 0x84b2,0x0 CDCTxService(); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +004bf6 f042 #if defined(USB_POLLING) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004bdc ecbc CALL 0x6d78,0x0 USBDeviceTasks(); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004bde f036 +004bf8 ecca CALL 0x6d94,0x0 USBDeviceTasks(); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +004bfa f036 #endif C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // Now we know that the stack can transmit some new data C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // Now decide if we need to break it up into two parts or not C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004be2 0100 MOVLB 0x0 if (g_TX_buf_in > g_TX_buf_out) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004be4 51c9 MOVF 0xc9,0x0,0x1 -004be6 80d8 BSF 0xd8,0x0,0x0 -004be8 55c8 SUBFWB 0xc8,0x0,0x1 -004bea e207 BC 0x4bfa +004bfe 0100 MOVLB 0x0 if (g_TX_buf_in > g_TX_buf_out) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +004c00 51c9 MOVF 0xc9,0x0,0x1 +004c02 80d8 BSF 0xd8,0x0,0x0 +004c04 55c8 SUBFWB 0xc8,0x0,0x1 +004c06 e207 BC 0x4c16 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // Since IN is beyond OUT, only need one chunk C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004bec 51c9 MOVF 0xc9,0x0,0x1 temp = g_TX_buf_in - g_TX_buf_out; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004bee 5dc8 SUBWF 0xc8,0x0,0x1 -004bf0 ec62 CALL 0x68c4,0x0 -0068c4 6edf -004bf2 f034 WORD2 0x34 putUSBUSART((char *)&g_TX_buf[g_TX_buf_out], temp); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0068c6 cfdf MOVFF 0xfdf,0xfe6 -0068c8 ffe6 -0068ca 51c9 MOVF 0xc9,0x0,0x1 -0068cc 6a34 CLRF 0x34,0x0 -0068ce 0f00 ADDLW 0x0 -0068d0 6e33 MOVWF 0x33,0x0 -0068d2 0e02 MOVLW 0x2 -0068d4 2234 ADDWFC 0x34,0x1,0x0 -0068d6 c033 MOVFF 0x33,0xfe6 -0068d8 ffe6 -0068da c034 MOVFF 0x34,0xfe6 -0068dc ffe6 -0068de ecfe CALL 0x83fc,0x0 -0068e0 f041 -0068e2 ef19 GOTO 0x6c32 -0068e4 f036 +004c08 51c9 MOVF 0xc9,0x0,0x1 temp = g_TX_buf_in - g_TX_buf_out; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +004c0a 5dc8 SUBWF 0xc8,0x0,0x1 +004c0c ec70 CALL 0x68e0,0x0 +0068e0 6edf +004c0e f034 WORD2 0x34 putUSBUSART((char *)&g_TX_buf[g_TX_buf_out], temp); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0068e2 cfdf MOVFF 0xfdf,0xfe6 +0068e4 ffe6 +0068e6 51c9 MOVF 0xc9,0x0,0x1 +0068e8 6a48 CLRF 0x48,0x0 +0068ea 0f00 ADDLW 0x0 +0068ec 6e47 MOVWF 0x47,0x0 +0068ee 0e02 MOVLW 0x2 +0068f0 2248 ADDWFC 0x48,0x1,0x0 +0068f2 c047 MOVFF 0x47,0xfe6 +0068f4 ffe6 +0068f6 c048 MOVFF 0x48,0xfe6 +0068f8 ffe6 +0068fa ec0c CALL 0x8418,0x0 +0068fc f042 +0068fe ef27 GOTO 0x6c4e +006900 f036 // Now that we've scheduled the data for sending, C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // update the pointer C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004bf4 c0c8 MOVFF 0xc8,0xc9 g_TX_buf_out = g_TX_buf_in; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004bf6 f0c9 +004c10 c0c8 MOVFF 0xc8,0xc9 g_TX_buf_out = g_TX_buf_in; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +004c12 f0c9 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004bf8 d007 BRA 0x4c08 else C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +004c14 d007 BRA 0x4c24 else C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // Since IN is before OUT, we need to send from OUT to the end C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // of the buffer, then the next time around we'll catch C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // from the beginning to IN. C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004bfa 0e40 MOVLW 0x40 temp = kTX_BUF_SIZE - g_TX_buf_out; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004bfc 80d8 BSF 0xd8,0x0,0x0 -004bfe 55c9 SUBFWB 0xc9,0x0,0x1 -004c00 ec62 CALL 0x68c4,0x0 -004c02 f034 putUSBUSART((char *)&g_TX_buf[g_TX_buf_out], temp); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +004c16 0e40 MOVLW 0x40 temp = kTX_BUF_SIZE - g_TX_buf_out; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +004c18 80d8 BSF 0xd8,0x0,0x0 +004c1a 55c9 SUBFWB 0xc9,0x0,0x1 +004c1c ec70 CALL 0x68e0,0x0 +004c1e f034 putUSBUSART((char *)&g_TX_buf[g_TX_buf_out], temp); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // Now that we've scheduled the data for sending, C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // update the pointer C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004c04 0100 MOVLB 0x0 g_TX_buf_out = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004c06 6bc9 CLRF 0xc9,0x1 +004c20 0100 MOVLB 0x0 g_TX_buf_out = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +004c22 6bc9 CLRF 0xc9,0x1 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004c08 ec4b CALL 0x8496,0x0 CDCTxService(); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004c0a f042 +004c24 ec59 CALL 0x84b2,0x0 CDCTxService(); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +004c26 f042 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004c0c 52e5 MOVF 0xe5,0x1,0x0 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004c0e eff2 GOTO 0x67e4 -004c10 f033 +004c28 52e5 MOVF 0xe5,0x1,0x0 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +004c2a ef00 GOTO 0x6800 +004c2c f034 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // Look at the new packet, see what command it is, and C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // route it appropriately. We come in knowing that C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c @@ -18981,715 +19011,715 @@ Address Value Disassembly Source // New for v3.0.0: if gCommandChecksumRequired is true, then look at the end C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // of the command packet for the checksum, and if it is not there or not C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // correct, error out. C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004c12 eced CALL 0x67da,0x0 void parse_packet(void) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004c14 f033 -004c16 0e09 MOVLW 0x9 -004c18 26e1 ADDWF 0xe1,0x1,0x0 +004c2e ecfb CALL 0x67f6,0x0 void parse_packet(void) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +004c30 f033 +004c32 0e09 MOVLW 0x9 +004c34 26e1 ADDWF 0xe1,0x1,0x0 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004c1a 6ade CLRF 0xde,0x0 UINT16 command = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004c1c 6add CLRF 0xdd,0x0 -004c1e 0e02 MOVLW 0x2 UINT8 checksum_cmd = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004c20 6adb CLRF 0xdb,0x0 -004c22 0e03 MOVLW 0x3 UINT8 checksum_calc = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004c24 6adb CLRF 0xdb,0x0 +004c36 6ade CLRF 0xde,0x0 UINT16 command = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +004c38 6add CLRF 0xdd,0x0 +004c3a 0e02 MOVLW 0x2 UINT8 checksum_cmd = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +004c3c 6adb CLRF 0xdb,0x0 +004c3e 0e03 MOVLW 0x3 UINT8 checksum_calc = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +004c40 6adb CLRF 0xdb,0x0 UINT8 checksum_ptr; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004c26 0e05 MOVLW 0x5 UINT8 checksum_len = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004c28 6adb CLRF 0xdb,0x0 -004c2a 0e01 MOVLW 0x1 BOOL checksumOK = TRUE; // Starts out true for no checksum case C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004c2c 6ef3 MOVWF 0xf3,0x0 -004c2e 0e06 MOVLW 0x6 -004c30 cff3 MOVFF 0xff3,0xfdb -004c32 ffdb +004c42 0e05 MOVLW 0x5 UINT8 checksum_len = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +004c44 6adb CLRF 0xdb,0x0 +004c46 0e01 MOVLW 0x1 BOOL checksumOK = TRUE; // Starts out true for no checksum case C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +004c48 6ef3 MOVWF 0xf3,0x0 +004c4a 0e06 MOVLW 0x6 +004c4c cff3 MOVFF 0xff3,0xfdb +004c4e ffdb UINT8 old_rx_buf_out; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c UINT8 i; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004c34 0100 MOVLB 0x0 gCommand_Char1 = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004c36 6bda CLRF 0xda,0x1 -004c38 6bdb CLRF 0xdb,0x1 gCommand_Char2 = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +004c50 0100 MOVLB 0x0 gCommand_Char1 = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +004c52 6bda CLRF 0xda,0x1 +004c54 6bdb CLRF 0xdb,0x1 gCommand_Char2 = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004c3a 51df MOVF 0xdf,0x0,0x1 if (gCommandChecksumRequired) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004c3c e101 BNZ 0x4c40 -004c3e d08e BRA 0x4d5c +004c56 51df MOVF 0xdf,0x0,0x1 if (gCommandChecksumRequired) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +004c58 e101 BNZ 0x4c5c +004c5a d08e BRA 0x4d78 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004c40 0e06 MOVLW 0x6 checksumOK = FALSE; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004c42 6adb CLRF 0xdb,0x0 +004c5c 0e06 MOVLW 0x6 checksumOK = FALSE; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +004c5e 6adb CLRF 0xdb,0x0 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // Walk backwards from the end of the packet, looking for the first found C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // comma, then read out C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004c44 0e04 MOVLW 0x4 checksum_ptr = g_RX_buf_in; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004c46 c0ca MOVFF 0xca,0xfdb -004c48 ffdb -004c4a 50db MOVF 0xdb,0x0,0x0 if (checksum_ptr != 0u) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004c4c e003 BZ 0x4c54 +004c60 0e04 MOVLW 0x4 checksum_ptr = g_RX_buf_in; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +004c62 c0ca MOVFF 0xca,0xfdb +004c64 ffdb +004c66 50db MOVF 0xdb,0x0,0x0 if (checksum_ptr != 0u) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +004c68 e003 BZ 0x4c70 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004c4e 0e04 MOVLW 0x4 checksum_ptr--; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004c50 06db DECF 0xdb,0x1,0x0 +004c6a 0e04 MOVLW 0x4 checksum_ptr--; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +004c6c 06db DECF 0xdb,0x1,0x0 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004c52 d002 BRA 0x4c58 else C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +004c6e d002 BRA 0x4c74 else C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004c54 0e04 MOVLW 0x4 checksum_ptr = kRX_BUF_SIZE - 1; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004c56 68db SETF 0xdb,0x0 +004c70 0e04 MOVLW 0x4 checksum_ptr = kRX_BUF_SIZE - 1; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +004c72 68db SETF 0xdb,0x0 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004c58 0e04 MOVLW 0x4 while ((g_RX_buf[checksum_ptr] != ',') && (checksum_len < 5u) && (checksum_ptr != g_RX_buf_out)) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004c5a ec97 CALL 0x692e,0x0 -004c5c f034 -004c5e 50ef MOVF 0xef,0x0,0x0 -004c60 082c SUBLW 0x2c -004c62 e016 BZ 0x4c90 -004c64 0e05 MOVLW 0x5 -004c66 6ef3 MOVWF 0xf3,0x0 -004c68 cfdb MOVFF 0xfdb,0xff4 -004c6a fff4 -004c6c 50e8 MOVF 0xe8,0x0,0x0 -004c6e 5cf4 SUBWF 0xf4,0x0,0x0 -004c70 e20f BC 0x4c90 -004c72 0e04 MOVLW 0x4 -004c74 50db MOVF 0xdb,0x0,0x0 -004c76 5dcb SUBWF 0xcb,0x0,0x1 -004c78 e00b BZ 0x4c90 -004c8e d7e4 BRA 0x4c58 +004c74 0e04 MOVLW 0x4 while ((g_RX_buf[checksum_ptr] != ',') && (checksum_len < 5u) && (checksum_ptr != g_RX_buf_out)) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +004c76 eca5 CALL 0x694a,0x0 +004c78 f034 +004c7a 50ef MOVF 0xef,0x0,0x0 +004c7c 082c SUBLW 0x2c +004c7e e016 BZ 0x4cac +004c80 0e05 MOVLW 0x5 +004c82 6ef3 MOVWF 0xf3,0x0 +004c84 cfdb MOVFF 0xfdb,0xff4 +004c86 fff4 +004c88 50e8 MOVF 0xe8,0x0,0x0 +004c8a 5cf4 SUBWF 0xf4,0x0,0x0 +004c8c e20f BC 0x4cac +004c8e 0e04 MOVLW 0x4 +004c90 50db MOVF 0xdb,0x0,0x0 +004c92 5dcb SUBWF 0xcb,0x0,0x1 +004c94 e00b BZ 0x4cac +004caa d7e4 BRA 0x4c74 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004c7a 0e04 MOVLW 0x4 if (checksum_ptr != 0u) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004c7c 50db MOVF 0xdb,0x0,0x0 -004c7e e003 BZ 0x4c86 +004c96 0e04 MOVLW 0x4 if (checksum_ptr != 0u) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +004c98 50db MOVF 0xdb,0x0,0x0 +004c9a e003 BZ 0x4ca2 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004c80 0e04 MOVLW 0x4 checksum_ptr--; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004c82 06db DECF 0xdb,0x1,0x0 +004c9c 0e04 MOVLW 0x4 checksum_ptr--; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +004c9e 06db DECF 0xdb,0x1,0x0 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004c84 d002 BRA 0x4c8a else C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +004ca0 d002 BRA 0x4ca6 else C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004c86 0e04 MOVLW 0x4 checksum_ptr = kRX_BUF_SIZE - 1; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004c88 68db SETF 0xdb,0x0 +004ca2 0e04 MOVLW 0x4 checksum_ptr = kRX_BUF_SIZE - 1; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +004ca4 68db SETF 0xdb,0x0 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004c8a 0e05 MOVLW 0x5 checksum_len++; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004c8c 2adb INCF 0xdb,0x1,0x0 +004ca6 0e05 MOVLW 0x5 checksum_len++; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +004ca8 2adb INCF 0xdb,0x1,0x0 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // If checksum_ptr isn't on a comma then there is no checksum for sure C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // so let checksumOK stay FALSE C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004c90 0e04 MOVLW 0x4 if (g_RX_buf[checksum_ptr] == ',') C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004c92 ec97 CALL 0x692e,0x0 -004c94 f034 -004c96 50ef MOVF 0xef,0x0,0x0 -004c98 082c SUBLW 0x2c -004c9a e157 BNZ 0x4d4a -00692e 50db MOVF 0xdb,0x0,0x0 -006930 ef65 GOTO 0x6aca -006932 f035 +004cac 0e04 MOVLW 0x4 if (g_RX_buf[checksum_ptr] == ',') C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +004cae eca5 CALL 0x694a,0x0 +004cb0 f034 +004cb2 50ef MOVF 0xef,0x0,0x0 +004cb4 082c SUBLW 0x2c +004cb6 e157 BNZ 0x4d66 +00694a 50db MOVF 0xdb,0x0,0x0 +00694c ef73 GOTO 0x6ae6 +00694e f035 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // Last parameter found, hopefully it's a checksum. Read it in. C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // We have to play some games with the buffer index values here C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // since we're extracting a parameter at the very end of the packet C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // before we extract any from the beginning (as part of normal command C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // processing) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004c9c 0e07 MOVLW 0x7 old_rx_buf_out = g_RX_buf_out; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004c9e c0cb MOVFF 0xcb,0xfdb -004ca0 ffdb -004ca2 0e04 MOVLW 0x4 g_RX_buf_out = checksum_ptr; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004ca4 cfdb MOVFF 0xfdb,0xcb -004ca6 f0cb - // We're going to ignore the return value from extract_number() since C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - // we'll get a failure anyway since the checksum value won't match. C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004ca8 6ae6 CLRF 0xe6,0x0 extract_number(kUCHAR, &checksum_cmd, kREQUIRED); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004caa 50d9 MOVF 0xd9,0x0,0x0 -004cac 0f02 ADDLW 0x2 -004cae ec2d CALL 0x6a5a,0x0 -004cb0 f035 -004cb2 0e07 MOVLW 0x7 g_RX_buf_out = old_rx_buf_out; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004cb4 cfdb MOVFF 0xfdb,0xcb -004cb6 f0cb - C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - // Compute the checksum of the packet up to checksum_ptr C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004cb8 0e08 MOVLW 0x8 i = g_RX_buf_out; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +004cb8 0e07 MOVLW 0x7 old_rx_buf_out = g_RX_buf_out; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c 004cba c0cb MOVFF 0xcb,0xfdb 004cbc ffdb -004cbe 0e04 MOVLW 0x4 while(i != checksum_ptr) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004cc0 50db MOVF 0xdb,0x0,0x0 -004cc2 6ef3 MOVWF 0xf3,0x0 -004cc4 0e08 MOVLW 0x8 -004cc6 50db MOVF 0xdb,0x0,0x0 -004cc8 5cf3 SUBWF 0xf3,0x0,0x0 -004cca e018 BZ 0x4cfc -004cfa d7e1 BRA 0x4cbe +004cbe 0e04 MOVLW 0x4 g_RX_buf_out = checksum_ptr; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +004cc0 cfdb MOVFF 0xfdb,0xcb +004cc2 f0cb + // We're going to ignore the return value from extract_number() since C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + // we'll get a failure anyway since the checksum value won't match. C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +004cc4 6ae6 CLRF 0xe6,0x0 extract_number(kUCHAR, &checksum_cmd, kREQUIRED); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +004cc6 50d9 MOVF 0xd9,0x0,0x0 +004cc8 0f02 ADDLW 0x2 +004cca ec3b CALL 0x6a76,0x0 +004ccc f035 +004cce 0e07 MOVLW 0x7 g_RX_buf_out = old_rx_buf_out; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +004cd0 cfdb MOVFF 0xfdb,0xcb +004cd2 f0cb + C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + // Compute the checksum of the packet up to checksum_ptr C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +004cd4 0e08 MOVLW 0x8 i = g_RX_buf_out; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +004cd6 c0cb MOVFF 0xcb,0xfdb +004cd8 ffdb +004cda 0e04 MOVLW 0x4 while(i != checksum_ptr) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +004cdc 50db MOVF 0xdb,0x0,0x0 +004cde 6ef3 MOVWF 0xf3,0x0 +004ce0 0e08 MOVLW 0x8 +004ce2 50db MOVF 0xdb,0x0,0x0 +004ce4 5cf3 SUBWF 0xf3,0x0,0x0 +004ce6 e018 BZ 0x4d18 +004d16 d7e1 BRA 0x4cda { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004ccc 0e08 MOVLW 0x8 checksum_calc += g_RX_buf[i]; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004cce ec97 CALL 0x692e,0x0 -004cd0 f034 -004cd2 0e03 MOVLW 0x3 -004cd4 cfdb MOVFF 0xfdb,0xfe7 -004cd6 ffe7 -004cd8 50ef MOVF 0xef,0x0,0x0 -004cda 26e7 ADDWF 0xe7,0x1,0x0 -004cdc 0e03 MOVLW 0x3 -004cde cfe7 MOVFF 0xfe7,0xfdb -004ce0 ffdb -004ce2 0e08 MOVLW 0x8 i++; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004ce4 2adb INCF 0xdb,0x1,0x0 -004ce6 50db MOVF 0xdb,0x0,0x0 if (i == kRX_BUF_SIZE) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004ce8 6e33 MOVWF 0x33,0x0 -004cea 6a34 CLRF 0x34,0x0 -004cec 50e8 MOVF 0xe8,0x0,0x0 -004cee e1e7 BNZ 0x4cbe -004cf0 0e01 MOVLW 0x1 -004cf2 1834 XORWF 0x34,0x0,0x0 -004cf4 e1e4 BNZ 0x4cbe +004ce8 0e08 MOVLW 0x8 checksum_calc += g_RX_buf[i]; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +004cea eca5 CALL 0x694a,0x0 +004cec f034 +004cee 0e03 MOVLW 0x3 +004cf0 cfdb MOVFF 0xfdb,0xfe7 +004cf2 ffe7 +004cf4 50ef MOVF 0xef,0x0,0x0 +004cf6 26e7 ADDWF 0xe7,0x1,0x0 +004cf8 0e03 MOVLW 0x3 +004cfa cfe7 MOVFF 0xfe7,0xfdb +004cfc ffdb +004cfe 0e08 MOVLW 0x8 i++; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +004d00 2adb INCF 0xdb,0x1,0x0 +004d02 50db MOVF 0xdb,0x0,0x0 if (i == kRX_BUF_SIZE) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +004d04 6e47 MOVWF 0x47,0x0 +004d06 6a48 CLRF 0x48,0x0 +004d08 50e8 MOVF 0xe8,0x0,0x0 +004d0a e1e7 BNZ 0x4cda +004d0c 0e01 MOVLW 0x1 +004d0e 1848 XORWF 0x48,0x0,0x0 +004d10 e1e4 BNZ 0x4cda { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004cf6 0e08 MOVLW 0x8 i = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004cf8 6adb CLRF 0xdb,0x0 +004d12 0e08 MOVLW 0x8 i = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +004d14 6adb CLRF 0xdb,0x0 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004cfc 0e03 MOVLW 0x3 checksum_calc = (~checksum_calc)+1; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004cfe 1cdb COMF 0xdb,0x0,0x0 -004d00 0f01 ADDLW 0x1 -004d02 6ee7 MOVWF 0xe7,0x0 -004d04 0e03 MOVLW 0x3 -004d06 cfe7 MOVFF 0xfe7,0xfdb -004d08 ffdb +004d18 0e03 MOVLW 0x3 checksum_calc = (~checksum_calc)+1; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +004d1a 1cdb COMF 0xdb,0x0,0x0 +004d1c 0f01 ADDLW 0x1 +004d1e 6ee7 MOVWF 0xe7,0x0 +004d20 0e03 MOVLW 0x3 +004d22 cfe7 MOVFF 0xfe7,0xfdb +004d24 ffdb C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // See if it matches C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004d0a 0e02 MOVLW 0x2 if (checksum_calc == checksum_cmd) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004d0c 50db MOVF 0xdb,0x0,0x0 -004d0e 6ef3 MOVWF 0xf3,0x0 -004d10 0e03 MOVLW 0x3 -004d12 50db MOVF 0xdb,0x0,0x0 -004d14 5cf3 SUBWF 0xf3,0x0,0x0 -004d16 e10b BNZ 0x4d2e +004d26 0e02 MOVLW 0x2 if (checksum_calc == checksum_cmd) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +004d28 50db MOVF 0xdb,0x0,0x0 +004d2a 6ef3 MOVWF 0xf3,0x0 +004d2c 0e03 MOVLW 0x3 +004d2e 50db MOVF 0xdb,0x0,0x0 +004d30 5cf3 SUBWF 0xf3,0x0,0x0 +004d32 e10b BNZ 0x4d4a { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // All is good, allow command to proceed C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004d18 0e01 MOVLW 0x1 checksumOK = TRUE; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004d1a 6ef3 MOVWF 0xf3,0x0 -004d1c 0e06 MOVLW 0x6 -004d1e cff3 MOVFF 0xff3,0xfdb -004d20 ffdb +004d34 0e01 MOVLW 0x1 checksumOK = TRUE; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +004d36 6ef3 MOVWF 0xf3,0x0 +004d38 0e06 MOVLW 0x6 +004d3a cff3 MOVFF 0xff3,0xfdb +004d3c ffdb // Need to fake out the command parsing, make it think the packet C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // ends where it expects it to end. It doesn't want to see the comma C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // before the checksum. C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004d22 0e04 MOVLW 0x4 g_RX_buf[checksum_ptr] = kCR; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004d24 ec97 CALL 0x692e,0x0 -004d26 f034 -004d28 0e0d MOVLW 0xd -004d2a 6eef MOVWF 0xef,0x0 +004d3e 0e04 MOVLW 0x4 g_RX_buf[checksum_ptr] = kCR; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +004d40 eca5 CALL 0x694a,0x0 +004d42 f034 +004d44 0e0d MOVLW 0xd +004d46 6eef MOVWF 0xef,0x0 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004d2c d017 BRA 0x4d5c else C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +004d48 d017 BRA 0x4d78 else C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004d2e 0e88 MOVLW 0x88 ebb_print((far rom char *)"!8 Err: Checksum incorrect, expected "); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004d30 6e33 MOVWF 0x33,0x0 -004d32 0e7d MOVLW 0x7d -004d34 ecd1 CALL 0x67a2,0x0 -004d36 f033 -004d38 0e03 MOVLW 0x3 ebb_print_uint(checksum_calc); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004d3a ecd7 CALL 0x69ae,0x0 -004d3c f034 -004d3e ec52 CALL 0x6ca4,0x0 -004d40 f036 -004d42 ec6c CALL 0x86d8,0x0 -004d44 f043 -004d46 52e5 MOVF 0xe5,0x1,0x0 +004d4a 0ea4 MOVLW 0xa4 ebb_print((far rom char *)"!8 Err: Checksum incorrect, expected "); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +004d4c 6e47 MOVWF 0x47,0x0 +004d4e 0e7d MOVLW 0x7d +004d50 ecdf CALL 0x67be,0x0 +004d52 f033 +004d54 0e03 MOVLW 0x3 ebb_print_uint(checksum_calc); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +004d56 ece5 CALL 0x69ca,0x0 +004d58 f034 +004d5a ec60 CALL 0x6cc0,0x0 +004d5c f036 +004d5e ec7a CALL 0x86f4,0x0 +004d60 f043 +004d62 52e5 MOVF 0xe5,0x1,0x0 print_line_ending(kLE_NORM); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004d48 d005 BRA 0x4d54 else C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +004d64 d005 BRA 0x4d70 else C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004d4a 0e5f MOVLW 0x5f ebb_print((far rom char *)"!8 Err: Checksum not found but required."); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004d4c 6e33 MOVWF 0x33,0x0 -004d4e 0e7d MOVLW 0x7d -004d50 ec82 CALL 0x6b04,0x0 -004d52 f035 -004d54 ec19 CALL 0x6c32,0x0 -004d56 f036 -006b04 6e34 MOVWF 0x34,0x0 -006b06 6a35 CLRF 0x35,0x0 -006b08 c033 MOVFF 0x33,0xfe6 -006b0a ffe6 -006b0c 6ee6 MOVWF 0xe6,0x0 -006b0e c035 MOVFF 0x35,0xfe6 -006b10 ffe6 -006b12 ef15 GOTO 0x862a -006b14 f043 -004d58 ecdb CALL 0x67b6,0x0 print_line_ending(kLE_NORM); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004d5a f033 +004d66 0e7b MOVLW 0x7b ebb_print((far rom char *)"!8 Err: Checksum not found but required."); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +004d68 6e47 MOVWF 0x47,0x0 +004d6a 0e7d MOVLW 0x7d +004d6c ec90 CALL 0x6b20,0x0 +004d6e f035 +004d70 ec27 CALL 0x6c4e,0x0 +004d72 f036 +006b20 6e48 MOVWF 0x48,0x0 +006b22 6a49 CLRF 0x49,0x0 +006b24 c047 MOVFF 0x47,0xfe6 +006b26 ffe6 +006b28 6ee6 MOVWF 0xe6,0x0 +006b2a c049 MOVFF 0x49,0xfe6 +006b2c ffe6 +006b2e ef23 GOTO 0x8646 +006b30 f043 +004d74 ece9 CALL 0x67d2,0x0 print_line_ending(kLE_NORM); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +004d76 f033 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004d5c 0e06 MOVLW 0x6 if (checksumOK) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004d5e 50db MOVF 0xdb,0x0,0x0 -004d60 e101 BNZ 0x4d64 -004d62 d248 BRA 0x51f4 +004d78 0e06 MOVLW 0x6 if (checksumOK) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +004d7a 50db MOVF 0xdb,0x0,0x0 +004d7c e101 BNZ 0x4d80 +004d7e d248 BRA 0x5210 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // Always grab the first character (which is the first byte of the command) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004d64 0100 MOVLB 0x0 gCommand_Char1 = toupper(g_RX_buf[g_RX_buf_out]); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004d66 ecde CALL 0x67bc,0x0 -004d68 f033 -004d6a ec02 CALL 0x6a04,0x0 -004d6c f035 -004d6e cff3 MOVFF 0xff3,0xda -004d70 f0da -006a04 6ee6 MOVWF 0xe6,0x0 -006a06 6ae6 CLRF 0xe6,0x0 -006a08 ec53 CALL 0x90a6,0x0 -006a0a f048 -006a0c 52e5 MOVF 0xe5,0x1,0x0 -006a0e 52e5 MOVF 0xe5,0x1,0x0 -006a10 0012 RETURN 0x0 -004d72 0100 MOVLB 0x0 advance_RX_buf_out(); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004d74 ec05 CALL 0x680a,0x0 -004d76 f034 -004d78 e104 BNZ 0x4d82 -004d7a 0e01 MOVLW 0x1 -004d7c 1834 XORWF 0x34,0x0,0x0 -004d7e e101 BNZ 0x4d82 -004d80 6bcb CLRF 0xcb,0x1 -004d82 51da MOVF 0xda,0x0,0x1 command = gCommand_Char1; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004d84 6ede MOVWF 0xde,0x0 -004d86 6add CLRF 0xdd,0x0 +004d80 0100 MOVLB 0x0 gCommand_Char1 = toupper(g_RX_buf[g_RX_buf_out]); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +004d82 ecec CALL 0x67d8,0x0 +004d84 f033 +004d86 ec10 CALL 0x6a20,0x0 +004d88 f035 +004d8a cff3 MOVFF 0xff3,0xda +004d8c f0da +006a20 6ee6 MOVWF 0xe6,0x0 +006a22 6ae6 CLRF 0xe6,0x0 +006a24 ec61 CALL 0x90c2,0x0 +006a26 f048 +006a28 52e5 MOVF 0xe5,0x1,0x0 +006a2a 52e5 MOVF 0xe5,0x1,0x0 +006a2c 0012 RETURN 0x0 +004d8e 0100 MOVLB 0x0 advance_RX_buf_out(); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +004d90 ec13 CALL 0x6826,0x0 +004d92 f034 +004d94 e104 BNZ 0x4d9e +004d96 0e01 MOVLW 0x1 +004d98 1848 XORWF 0x48,0x0,0x0 +004d9a e101 BNZ 0x4d9e +004d9c 6bcb CLRF 0xcb,0x1 +004d9e 51da MOVF 0xda,0x0,0x1 command = gCommand_Char1; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +004da0 6ede MOVWF 0xde,0x0 +004da2 6add CLRF 0xdd,0x0 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // Only grab second one if it is not a comma C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004d88 ecde CALL 0x67bc,0x0 if (g_RX_buf[g_RX_buf_out] != (BYTE)',' && g_RX_buf[g_RX_buf_out] != kCR && g_RX_buf[g_RX_buf_out] != kLF) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004d8a f033 -004d8c 082c SUBLW 0x2c -004d8e e023 BZ 0x4dd6 -004d90 ecde CALL 0x67bc,0x0 -004d92 f033 -004d94 080d SUBLW 0xd -004d96 e01f BZ 0x4dd6 -004d98 ecde CALL 0x67bc,0x0 -004d9a f033 -004d9c 080a SUBLW 0xa -004d9e e01b BZ 0x4dd6 +004da4 ecec CALL 0x67d8,0x0 if (g_RX_buf[g_RX_buf_out] != (BYTE)',' && g_RX_buf[g_RX_buf_out] != kCR && g_RX_buf[g_RX_buf_out] != kLF) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +004da6 f033 +004da8 082c SUBLW 0x2c +004daa e023 BZ 0x4df2 +004dac ecec CALL 0x67d8,0x0 +004dae f033 +004db0 080d SUBLW 0xd +004db2 e01f BZ 0x4df2 +004db4 ecec CALL 0x67d8,0x0 +004db6 f033 +004db8 080a SUBLW 0xa +004dba e01b BZ 0x4df2 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004da0 ecde CALL 0x67bc,0x0 gCommand_Char2 = toupper(g_RX_buf[g_RX_buf_out]); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004da2 f033 -004da4 ec02 CALL 0x6a04,0x0 -004da6 f035 -004da8 cff3 MOVFF 0xff3,0xdb -004daa f0db -004dac 0100 MOVLB 0x0 advance_RX_buf_out(); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004dae ec05 CALL 0x680a,0x0 -004db0 f034 -004db2 e104 BNZ 0x4dbc -004db4 0e01 MOVLW 0x1 -004db6 1834 XORWF 0x34,0x0,0x0 -004db8 e101 BNZ 0x4dbc -004dba 6bcb CLRF 0xcb,0x1 -004dbc c0da MOVFF 0xda,0x36 command = ((unsigned int)(gCommand_Char1) << 8) + gCommand_Char2; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004dbe f036 -004dc0 6a35 CLRF 0x35,0x0 -004dc2 51db MOVF 0xdb,0x0,0x1 -004dc4 0100 MOVLB 0x0 -004dc6 2435 ADDWF 0x35,0x0,0x0 -004dc8 6e33 MOVWF 0x33,0x0 -004dca 0e00 MOVLW 0x0 -004dcc 2036 ADDWFC 0x36,0x0,0x0 -004dce 6e34 MOVWF 0x34,0x0 -004dd0 c033 MOVFF 0x33,0xfde -004dd2 ffde -004dd4 6edd MOVWF 0xdd,0x0 +004dbc ecec CALL 0x67d8,0x0 gCommand_Char2 = toupper(g_RX_buf[g_RX_buf_out]); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +004dbe f033 +004dc0 ec10 CALL 0x6a20,0x0 +004dc2 f035 +004dc4 cff3 MOVFF 0xff3,0xdb +004dc6 f0db +004dc8 0100 MOVLB 0x0 advance_RX_buf_out(); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +004dca ec13 CALL 0x6826,0x0 +004dcc f034 +004dce e104 BNZ 0x4dd8 +004dd0 0e01 MOVLW 0x1 +004dd2 1848 XORWF 0x48,0x0,0x0 +004dd4 e101 BNZ 0x4dd8 +004dd6 6bcb CLRF 0xcb,0x1 +004dd8 c0da MOVFF 0xda,0x4a command = ((unsigned int)(gCommand_Char1) << 8) + gCommand_Char2; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +004dda f04a +004ddc 6a49 CLRF 0x49,0x0 +004dde 51db MOVF 0xdb,0x0,0x1 +004de0 0100 MOVLB 0x0 +004de2 2449 ADDWF 0x49,0x0,0x0 +004de4 6e47 MOVWF 0x47,0x0 +004de6 0e00 MOVLW 0x0 +004de8 204a ADDWFC 0x4a,0x0,0x0 +004dea 6e48 MOVWF 0x48,0x0 +004dec c047 MOVFF 0x47,0xfde +004dee ffde +004df0 6edd MOVWF 0xdd,0x0 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // Now 'command' is equal to one or two bytes of our command C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004dd6 0e00 MOVLW 0x0 switch (command) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -004dd8 cfdf MOVFF 0xfdf,0x2b -004dda f02b -004ddc 0e01 MOVLW 0x1 -004dde cfdb MOVFF 0xfdb,0x2c -004de0 f02c -004de2 0e55 MOVLW 0x55 -004de4 182b XORWF 0x2b,0x0,0x0 -004de6 e102 BNZ 0x4dec -004de8 0e51 MOVLW 0x51 -004dea 182c XORWF 0x2c,0x0,0x0 -004dec e101 BNZ 0x4df0 -004dee d1d2 BRA 0x5194 -004df0 0e4d MOVLW 0x4d -004df2 182b XORWF 0x2b,0x0,0x0 -004df4 e102 BNZ 0x4dfa -004df6 0e48 MOVLW 0x48 -004df8 182c XORWF 0x2c,0x0,0x0 -004dfa e101 BNZ 0x4dfe -004dfc d1c8 BRA 0x518e -004dfe 0e52 MOVLW 0x52 -004e00 182b XORWF 0x2b,0x0,0x0 +004df2 0e00 MOVLW 0x0 switch (command) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +004df4 cfdf MOVFF 0xfdf,0x3f +004df6 f03f +004df8 0e01 MOVLW 0x1 +004dfa cfdb MOVFF 0xfdb,0x40 +004dfc f040 +004dfe 0e55 MOVLW 0x55 +004e00 183f XORWF 0x3f,0x0,0x0 004e02 e102 BNZ 0x4e08 -004e04 0e53 MOVLW 0x53 -004e06 182c XORWF 0x2c,0x0,0x0 +004e04 0e51 MOVLW 0x51 +004e06 1840 XORWF 0x40,0x0,0x0 004e08 e101 BNZ 0x4e0c -004e0a d1be BRA 0x5188 -004e0c 0e52 MOVLW 0x52 -004e0e 182b XORWF 0x2b,0x0,0x0 +004e0a d1d2 BRA 0x51b0 +004e0c 0e4d MOVLW 0x4d +004e0e 183f XORWF 0x3f,0x0,0x0 004e10 e102 BNZ 0x4e16 -004e12 0e51 MOVLW 0x51 -004e14 182c XORWF 0x2c,0x0,0x0 +004e12 0e48 MOVLW 0x48 +004e14 1840 XORWF 0x40,0x0,0x0 004e16 e101 BNZ 0x4e1a -004e18 d1b4 BRA 0x5182 -004e1a 0e42 MOVLW 0x42 -004e1c 182b XORWF 0x2b,0x0,0x0 +004e18 d1c8 BRA 0x51aa +004e1a 0e52 MOVLW 0x52 +004e1c 183f XORWF 0x3f,0x0,0x0 004e1e e102 BNZ 0x4e24 -004e20 0e52 MOVLW 0x52 -004e22 182c XORWF 0x2c,0x0,0x0 +004e20 0e53 MOVLW 0x53 +004e22 1840 XORWF 0x40,0x0,0x0 004e24 e101 BNZ 0x4e28 -004e26 d1aa BRA 0x517c -004e28 0e54 MOVLW 0x54 -004e2a 182b XORWF 0x2b,0x0,0x0 +004e26 d1be BRA 0x51a4 +004e28 0e52 MOVLW 0x52 +004e2a 183f XORWF 0x3f,0x0,0x0 004e2c e102 BNZ 0x4e32 004e2e 0e51 MOVLW 0x51 -004e30 182c XORWF 0x2c,0x0,0x0 +004e30 1840 XORWF 0x40,0x0,0x0 004e32 e101 BNZ 0x4e36 -004e34 d1a0 BRA 0x5176 -004e36 0e54 MOVLW 0x54 -004e38 182b XORWF 0x2b,0x0,0x0 +004e34 d1b4 BRA 0x519e +004e36 0e42 MOVLW 0x42 +004e38 183f XORWF 0x3f,0x0,0x0 004e3a e102 BNZ 0x4e40 -004e3c 0e53 MOVLW 0x53 -004e3e 182c XORWF 0x2c,0x0,0x0 +004e3c 0e52 MOVLW 0x52 +004e3e 1840 XORWF 0x40,0x0,0x0 004e40 e101 BNZ 0x4e44 -004e42 d196 BRA 0x5170 -004e44 0e53 MOVLW 0x53 -004e46 182b XORWF 0x2b,0x0,0x0 +004e42 d1aa BRA 0x5198 +004e44 0e54 MOVLW 0x54 +004e46 183f XORWF 0x3f,0x0,0x0 004e48 e102 BNZ 0x4e4e -004e4a 0e43 MOVLW 0x43 -004e4c 182c XORWF 0x2c,0x0,0x0 +004e4a 0e51 MOVLW 0x51 +004e4c 1840 XORWF 0x40,0x0,0x0 004e4e e101 BNZ 0x4e52 -004e50 d18c BRA 0x516a -004e52 0e53 MOVLW 0x53 -004e54 182b XORWF 0x2b,0x0,0x0 +004e50 d1a0 BRA 0x5192 +004e52 0e54 MOVLW 0x54 +004e54 183f XORWF 0x3f,0x0,0x0 004e56 e102 BNZ 0x4e5c -004e58 0e51 MOVLW 0x51 -004e5a 182c XORWF 0x2c,0x0,0x0 +004e58 0e53 MOVLW 0x53 +004e5a 1840 XORWF 0x40,0x0,0x0 004e5c e101 BNZ 0x4e60 -004e5e d182 BRA 0x5164 -004e60 0e4d MOVLW 0x4d -004e62 182b XORWF 0x2b,0x0,0x0 +004e5e d196 BRA 0x518c +004e60 0e53 MOVLW 0x53 +004e62 183f XORWF 0x3f,0x0,0x0 004e64 e102 BNZ 0x4e6a -004e66 0e58 MOVLW 0x58 -004e68 182c XORWF 0x2c,0x0,0x0 +004e66 0e43 MOVLW 0x43 +004e68 1840 XORWF 0x40,0x0,0x0 004e6a e101 BNZ 0x4e6e -004e6c d178 BRA 0x515e +004e6c d18c BRA 0x5186 004e6e 0e53 MOVLW 0x53 -004e70 182b XORWF 0x2b,0x0,0x0 +004e70 183f XORWF 0x3f,0x0,0x0 004e72 e102 BNZ 0x4e78 -004e74 0e45 MOVLW 0x45 -004e76 182c XORWF 0x2c,0x0,0x0 +004e74 0e51 MOVLW 0x51 +004e76 1840 XORWF 0x40,0x0,0x0 004e78 e101 BNZ 0x4e7c -004e7a d16e BRA 0x5158 -004e7c 0e43 MOVLW 0x43 -004e7e 182b XORWF 0x2b,0x0,0x0 +004e7a d182 BRA 0x5180 +004e7c 0e4d MOVLW 0x4d +004e7e 183f XORWF 0x3f,0x0,0x0 004e80 e102 BNZ 0x4e86 -004e82 0e41 MOVLW 0x41 -004e84 182c XORWF 0x2c,0x0,0x0 +004e82 0e58 MOVLW 0x58 +004e84 1840 XORWF 0x40,0x0,0x0 004e86 e101 BNZ 0x4e8a -004e88 d164 BRA 0x5152 -004e8a 0e4d MOVLW 0x4d -004e8c 182b XORWF 0x2b,0x0,0x0 +004e88 d178 BRA 0x517a +004e8a 0e53 MOVLW 0x53 +004e8c 183f XORWF 0x3f,0x0,0x0 004e8e e102 BNZ 0x4e94 -004e90 0e51 MOVLW 0x51 -004e92 182c XORWF 0x2c,0x0,0x0 +004e90 0e45 MOVLW 0x45 +004e92 1840 XORWF 0x40,0x0,0x0 004e94 e101 BNZ 0x4e98 -004e96 d15a BRA 0x514c -004e98 0e32 MOVLW 0x32 -004e9a 182b XORWF 0x2b,0x0,0x0 +004e96 d16e BRA 0x5174 +004e98 0e43 MOVLW 0x43 +004e9a 183f XORWF 0x3f,0x0,0x0 004e9c e102 BNZ 0x4ea2 -004e9e 0e53 MOVLW 0x53 -004ea0 182c XORWF 0x2c,0x0,0x0 +004e9e 0e41 MOVLW 0x41 +004ea0 1840 XORWF 0x40,0x0,0x0 004ea2 e101 BNZ 0x4ea6 -004ea4 d150 BRA 0x5146 -004ea6 0e45 MOVLW 0x45 -004ea8 182b XORWF 0x2b,0x0,0x0 +004ea4 d164 BRA 0x516e +004ea6 0e4d MOVLW 0x4d +004ea8 183f XORWF 0x3f,0x0,0x0 004eaa e102 BNZ 0x4eb0 -004eac 0e53 MOVLW 0x53 -004eae 182c XORWF 0x2c,0x0,0x0 +004eac 0e51 MOVLW 0x51 +004eae 1840 XORWF 0x40,0x0,0x0 004eb0 e101 BNZ 0x4eb4 -004eb2 d146 BRA 0x5140 -004eb4 0e47 MOVLW 0x47 -004eb6 182b XORWF 0x2b,0x0,0x0 +004eb2 d15a BRA 0x5168 +004eb4 0e32 MOVLW 0x32 +004eb6 183f XORWF 0x3f,0x0,0x0 004eb8 e102 BNZ 0x4ebe -004eba 0e51 MOVLW 0x51 -004ebc 182c XORWF 0x2c,0x0,0x0 +004eba 0e53 MOVLW 0x53 +004ebc 1840 XORWF 0x40,0x0,0x0 004ebe e101 BNZ 0x4ec2 -004ec0 d13c BRA 0x513a -004ec2 0e43 MOVLW 0x43 -004ec4 182b XORWF 0x2b,0x0,0x0 +004ec0 d150 BRA 0x5162 +004ec2 0e45 MOVLW 0x45 +004ec4 183f XORWF 0x3f,0x0,0x0 004ec6 e102 BNZ 0x4ecc -004ec8 0e51 MOVLW 0x51 -004eca 182c XORWF 0x2c,0x0,0x0 +004ec8 0e53 MOVLW 0x53 +004eca 1840 XORWF 0x40,0x0,0x0 004ecc e101 BNZ 0x4ed0 -004ece d132 BRA 0x5134 -004ed0 0e4b MOVLW 0x4b -004ed2 182b XORWF 0x2b,0x0,0x0 +004ece d146 BRA 0x515c +004ed0 0e47 MOVLW 0x47 +004ed2 183f XORWF 0x3f,0x0,0x0 004ed4 e102 BNZ 0x4eda -004ed6 0e43 MOVLW 0x43 -004ed8 182c XORWF 0x2c,0x0,0x0 +004ed6 0e51 MOVLW 0x51 +004ed8 1840 XORWF 0x40,0x0,0x0 004eda e101 BNZ 0x4ede -004edc d128 BRA 0x512e -004ede 0e4c MOVLW 0x4c -004ee0 182b XORWF 0x2b,0x0,0x0 +004edc d13c BRA 0x5156 +004ede 0e43 MOVLW 0x43 +004ee0 183f XORWF 0x3f,0x0,0x0 004ee2 e102 BNZ 0x4ee8 -004ee4 0e42 MOVLW 0x42 -004ee6 182c XORWF 0x2c,0x0,0x0 +004ee4 0e51 MOVLW 0x51 +004ee6 1840 XORWF 0x40,0x0,0x0 004ee8 e101 BNZ 0x4eec -004eea d11e BRA 0x5128 -004eec 0e44 MOVLW 0x44 -004eee 182b XORWF 0x2b,0x0,0x0 +004eea d132 BRA 0x5150 +004eec 0e4b MOVLW 0x4b +004eee 183f XORWF 0x3f,0x0,0x0 004ef0 e102 BNZ 0x4ef6 -004ef2 0e4e MOVLW 0x4e -004ef4 182c XORWF 0x2c,0x0,0x0 +004ef2 0e43 MOVLW 0x43 +004ef4 1840 XORWF 0x40,0x0,0x0 004ef6 e101 BNZ 0x4efa -004ef8 d114 BRA 0x5122 -004efa 0e49 MOVLW 0x49 -004efc 182b XORWF 0x2b,0x0,0x0 +004ef8 d128 BRA 0x514a +004efa 0e4c MOVLW 0x4c +004efc 183f XORWF 0x3f,0x0,0x0 004efe e102 BNZ 0x4f04 -004f00 0e4e MOVLW 0x4e -004f02 182c XORWF 0x2c,0x0,0x0 +004f00 0e42 MOVLW 0x42 +004f02 1840 XORWF 0x40,0x0,0x0 004f04 e101 BNZ 0x4f08 -004f06 d10a BRA 0x511c -004f08 0e42 MOVLW 0x42 -004f0a 182b XORWF 0x2b,0x0,0x0 +004f06 d11e BRA 0x5144 +004f08 0e44 MOVLW 0x44 +004f0a 183f XORWF 0x3f,0x0,0x0 004f0c e102 BNZ 0x4f12 -004f0e 0e51 MOVLW 0x51 -004f10 182c XORWF 0x2c,0x0,0x0 +004f0e 0e4e MOVLW 0x4e +004f10 1840 XORWF 0x40,0x0,0x0 004f12 e101 BNZ 0x4f16 -004f14 d100 BRA 0x5116 -004f16 0e4c MOVLW 0x4c -004f18 182b XORWF 0x2b,0x0,0x0 +004f14 d114 BRA 0x513e +004f16 0e49 MOVLW 0x49 +004f18 183f XORWF 0x3f,0x0,0x0 004f1a e102 BNZ 0x4f20 -004f1c 0e51 MOVLW 0x51 -004f1e 182c XORWF 0x2c,0x0,0x0 +004f1c 0e4e MOVLW 0x4e +004f1e 1840 XORWF 0x40,0x0,0x0 004f20 e101 BNZ 0x4f24 -004f22 d0f6 BRA 0x5110 -004f24 0e4c MOVLW 0x4c -004f26 182b XORWF 0x2b,0x0,0x0 +004f22 d10a BRA 0x5138 +004f24 0e42 MOVLW 0x42 +004f26 183f XORWF 0x3f,0x0,0x0 004f28 e102 BNZ 0x4f2e -004f2a 0e53 MOVLW 0x53 -004f2c 182c XORWF 0x2c,0x0,0x0 +004f2a 0e51 MOVLW 0x51 +004f2c 1840 XORWF 0x40,0x0,0x0 004f2e e101 BNZ 0x4f32 -004f30 d0ec BRA 0x510a -004f32 0e4e MOVLW 0x4e -004f34 182b XORWF 0x2b,0x0,0x0 +004f30 d100 BRA 0x5132 +004f32 0e4c MOVLW 0x4c +004f34 183f XORWF 0x3f,0x0,0x0 004f36 e102 BNZ 0x4f3c 004f38 0e51 MOVLW 0x51 -004f3a 182c XORWF 0x2c,0x0,0x0 +004f3a 1840 XORWF 0x40,0x0,0x0 004f3c e101 BNZ 0x4f40 -004f3e d0e2 BRA 0x5104 -004f40 0e4e MOVLW 0x4e -004f42 182b XORWF 0x2b,0x0,0x0 +004f3e d0f6 BRA 0x512c +004f40 0e4c MOVLW 0x4c +004f42 183f XORWF 0x3f,0x0,0x0 004f44 e102 BNZ 0x4f4a 004f46 0e53 MOVLW 0x53 -004f48 182c XORWF 0x2c,0x0,0x0 +004f48 1840 XORWF 0x40,0x0,0x0 004f4a e101 BNZ 0x4f4e -004f4c d0d8 BRA 0x50fe -004f4e 0e43 MOVLW 0x43 -004f50 182b XORWF 0x2b,0x0,0x0 +004f4c d0ec BRA 0x5126 +004f4e 0e4e MOVLW 0x4e +004f50 183f XORWF 0x3f,0x0,0x0 004f52 e102 BNZ 0x4f58 -004f54 0e53 MOVLW 0x53 -004f56 182c XORWF 0x2c,0x0,0x0 +004f54 0e51 MOVLW 0x51 +004f56 1840 XORWF 0x40,0x0,0x0 004f58 e101 BNZ 0x4f5c -004f5a d0ce BRA 0x50f8 -004f5c 0e4d MOVLW 0x4d -004f5e 182b XORWF 0x2b,0x0,0x0 +004f5a d0e2 BRA 0x5120 +004f5c 0e4e MOVLW 0x4e +004f5e 183f XORWF 0x3f,0x0,0x0 004f60 e102 BNZ 0x4f66 -004f62 0e45 MOVLW 0x45 -004f64 182c XORWF 0x2c,0x0,0x0 +004f62 0e53 MOVLW 0x53 +004f64 1840 XORWF 0x40,0x0,0x0 004f66 e101 BNZ 0x4f6a -004f68 d0c4 BRA 0x50f2 -004f6a 0e45 MOVLW 0x45 -004f6c 182b XORWF 0x2b,0x0,0x0 +004f68 d0d8 BRA 0x511a +004f6a 0e43 MOVLW 0x43 +004f6c 183f XORWF 0x3f,0x0,0x0 004f6e e102 BNZ 0x4f74 -004f70 0e51 MOVLW 0x51 -004f72 182c XORWF 0x2c,0x0,0x0 +004f70 0e53 MOVLW 0x53 +004f72 1840 XORWF 0x40,0x0,0x0 004f74 e101 BNZ 0x4f78 -004f76 d0ba BRA 0x50ec -004f78 0e50 MOVLW 0x50 -004f7a 182b XORWF 0x2b,0x0,0x0 +004f76 d0ce BRA 0x5114 +004f78 0e4d MOVLW 0x4d +004f7a 183f XORWF 0x3f,0x0,0x0 004f7c e102 BNZ 0x4f82 -004f7e 0e51 MOVLW 0x51 -004f80 182c XORWF 0x2c,0x0,0x0 +004f7e 0e45 MOVLW 0x45 +004f80 1840 XORWF 0x40,0x0,0x0 004f82 e101 BNZ 0x4f86 -004f84 d0b0 BRA 0x50e6 -004f86 0e50 MOVLW 0x50 -004f88 182b XORWF 0x2b,0x0,0x0 +004f84 d0c4 BRA 0x510e +004f86 0e45 MOVLW 0x45 +004f88 183f XORWF 0x3f,0x0,0x0 004f8a e102 BNZ 0x4f90 -004f8c 0e54 MOVLW 0x54 -004f8e 182c XORWF 0x2c,0x0,0x0 +004f8c 0e51 MOVLW 0x51 +004f8e 1840 XORWF 0x40,0x0,0x0 004f90 e101 BNZ 0x4f94 -004f92 d0a6 BRA 0x50e0 +004f92 d0ba BRA 0x5108 004f94 0e50 MOVLW 0x50 -004f96 182b XORWF 0x2b,0x0,0x0 +004f96 183f XORWF 0x3f,0x0,0x0 004f98 e102 BNZ 0x4f9e -004f9a 0e53 MOVLW 0x53 -004f9c 182c XORWF 0x2c,0x0,0x0 +004f9a 0e51 MOVLW 0x51 +004f9c 1840 XORWF 0x40,0x0,0x0 004f9e e101 BNZ 0x4fa2 -004fa0 d09c BRA 0x50da -004fa2 0e4d MOVLW 0x4d -004fa4 182b XORWF 0x2b,0x0,0x0 +004fa0 d0b0 BRA 0x5102 +004fa2 0e50 MOVLW 0x50 +004fa4 183f XORWF 0x3f,0x0,0x0 004fa6 e102 BNZ 0x4fac -004fa8 0e53 MOVLW 0x53 -004faa 182c XORWF 0x2c,0x0,0x0 +004fa8 0e54 MOVLW 0x54 +004faa 1840 XORWF 0x40,0x0,0x0 004fac e101 BNZ 0x4fb0 -004fae d092 BRA 0x50d4 -004fb0 0e57 MOVLW 0x57 -004fb2 182b XORWF 0x2b,0x0,0x0 +004fae d0a6 BRA 0x50fc +004fb0 0e50 MOVLW 0x50 +004fb2 183f XORWF 0x3f,0x0,0x0 004fb4 e102 BNZ 0x4fba -004fb6 0e4d MOVLW 0x4d -004fb8 182c XORWF 0x2c,0x0,0x0 +004fb6 0e53 MOVLW 0x53 +004fb8 1840 XORWF 0x40,0x0,0x0 004fba e101 BNZ 0x4fbe -004fbc d088 BRA 0x50ce -004fbe 0e52 MOVLW 0x52 -004fc0 182b XORWF 0x2b,0x0,0x0 +004fbc d09c BRA 0x50f6 +004fbe 0e4d MOVLW 0x4d +004fc0 183f XORWF 0x3f,0x0,0x0 004fc2 e102 BNZ 0x4fc8 -004fc4 0e4d MOVLW 0x4d -004fc6 182c XORWF 0x2c,0x0,0x0 +004fc4 0e53 MOVLW 0x53 +004fc6 1840 XORWF 0x40,0x0,0x0 004fc8 e101 BNZ 0x4fcc -004fca d07e BRA 0x50c8 -004fcc 0e44 MOVLW 0x44 -004fce 182b XORWF 0x2b,0x0,0x0 +004fca d092 BRA 0x50f0 +004fcc 0e57 MOVLW 0x57 +004fce 183f XORWF 0x3f,0x0,0x0 004fd0 e102 BNZ 0x4fd6 -004fd2 0e50 MOVLW 0x50 -004fd4 182c XORWF 0x2c,0x0,0x0 -004fd6 e075 BZ 0x50c2 -004fd8 0e4f MOVLW 0x4f -004fda 182b XORWF 0x2b,0x0,0x0 -004fdc e102 BNZ 0x4fe2 -004fde 0e50 MOVLW 0x50 -004fe0 182c XORWF 0x2c,0x0,0x0 -004fe2 e06c BZ 0x50bc -004fe4 0e49 MOVLW 0x49 -004fe6 182b XORWF 0x2b,0x0,0x0 -004fe8 e102 BNZ 0x4fee -004fea 0e50 MOVLW 0x50 -004fec 182c XORWF 0x2c,0x0,0x0 -004fee e063 BZ 0x50b6 -004ff0 0e41 MOVLW 0x41 -004ff2 182b XORWF 0x2b,0x0,0x0 -004ff4 e101 BNZ 0x4ff8 -004ff6 502c MOVF 0x2c,0x0,0x0 -004ff8 e05b BZ 0x50b0 -004ffa 0e56 MOVLW 0x56 -004ffc 182b XORWF 0x2b,0x0,0x0 -004ffe e101 BNZ 0x5002 -005000 502c MOVF 0x2c,0x0,0x0 -005002 e053 BZ 0x50aa -005004 0e49 MOVLW 0x49 -005006 182b XORWF 0x2b,0x0,0x0 -005008 e101 BNZ 0x500c -00500a 502c MOVF 0x2c,0x0,0x0 -00500c e04b BZ 0x50a4 -00500e 0e4f MOVLW 0x4f -005010 182b XORWF 0x2b,0x0,0x0 -005012 e101 BNZ 0x5016 -005014 502c MOVF 0x2c,0x0,0x0 -005016 e043 BZ 0x509e -005018 0e55 MOVLW 0x55 -00501a 182b XORWF 0x2b,0x0,0x0 -00501c e102 BNZ 0x5022 -00501e 0e43 MOVLW 0x43 -005020 182c XORWF 0x2c,0x0,0x0 -005022 e03b BZ 0x509a -005024 0e43 MOVLW 0x43 -005026 182b XORWF 0x2b,0x0,0x0 -005028 e101 BNZ 0x502c -00502a 502c MOVF 0x2c,0x0,0x0 -00502c e034 BZ 0x5096 -00502e 0e52 MOVLW 0x52 -005030 182b XORWF 0x2b,0x0,0x0 -005032 e101 BNZ 0x5036 -005034 502c MOVF 0x2c,0x0,0x0 -005036 e02d BZ 0x5092 -005038 0e4d MOVLW 0x4d -00503a 182b XORWF 0x2b,0x0,0x0 -00503c e102 BNZ 0x5042 -00503e 0e4c MOVLW 0x4c -005040 182c XORWF 0x2c,0x0,0x0 -005042 e024 BZ 0x508c -005044 0e33 MOVLW 0x33 -005046 182b XORWF 0x2b,0x0,0x0 -005048 e102 BNZ 0x504e -00504a 0e54 MOVLW 0x54 -00504c 182c XORWF 0x2c,0x0,0x0 -00504e e01b BZ 0x5086 -005050 0e33 MOVLW 0x33 -005052 182b XORWF 0x2b,0x0,0x0 -005054 e102 BNZ 0x505a -005056 0e4c MOVLW 0x4c -005058 182c XORWF 0x2c,0x0,0x0 -00505a e012 BZ 0x5080 -00505c 0e54 MOVLW 0x54 -00505e 182b XORWF 0x2b,0x0,0x0 -005060 e102 BNZ 0x5066 -005062 0e4c MOVLW 0x4c -005064 182c XORWF 0x2c,0x0,0x0 -005066 e009 BZ 0x507a +004fd2 0e4d MOVLW 0x4d +004fd4 1840 XORWF 0x40,0x0,0x0 +004fd6 e101 BNZ 0x4fda +004fd8 d088 BRA 0x50ea +004fda 0e52 MOVLW 0x52 +004fdc 183f XORWF 0x3f,0x0,0x0 +004fde e102 BNZ 0x4fe4 +004fe0 0e4d MOVLW 0x4d +004fe2 1840 XORWF 0x40,0x0,0x0 +004fe4 e101 BNZ 0x4fe8 +004fe6 d07e BRA 0x50e4 +004fe8 0e44 MOVLW 0x44 +004fea 183f XORWF 0x3f,0x0,0x0 +004fec e102 BNZ 0x4ff2 +004fee 0e50 MOVLW 0x50 +004ff0 1840 XORWF 0x40,0x0,0x0 +004ff2 e075 BZ 0x50de +004ff4 0e4f MOVLW 0x4f +004ff6 183f XORWF 0x3f,0x0,0x0 +004ff8 e102 BNZ 0x4ffe +004ffa 0e50 MOVLW 0x50 +004ffc 1840 XORWF 0x40,0x0,0x0 +004ffe e06c BZ 0x50d8 +005000 0e49 MOVLW 0x49 +005002 183f XORWF 0x3f,0x0,0x0 +005004 e102 BNZ 0x500a +005006 0e50 MOVLW 0x50 +005008 1840 XORWF 0x40,0x0,0x0 +00500a e063 BZ 0x50d2 +00500c 0e41 MOVLW 0x41 +00500e 183f XORWF 0x3f,0x0,0x0 +005010 e101 BNZ 0x5014 +005012 5040 MOVF 0x40,0x0,0x0 +005014 e05b BZ 0x50cc +005016 0e56 MOVLW 0x56 +005018 183f XORWF 0x3f,0x0,0x0 +00501a e101 BNZ 0x501e +00501c 5040 MOVF 0x40,0x0,0x0 +00501e e053 BZ 0x50c6 +005020 0e49 MOVLW 0x49 +005022 183f XORWF 0x3f,0x0,0x0 +005024 e101 BNZ 0x5028 +005026 5040 MOVF 0x40,0x0,0x0 +005028 e04b BZ 0x50c0 +00502a 0e4f MOVLW 0x4f +00502c 183f XORWF 0x3f,0x0,0x0 +00502e e101 BNZ 0x5032 +005030 5040 MOVF 0x40,0x0,0x0 +005032 e043 BZ 0x50ba +005034 0e55 MOVLW 0x55 +005036 183f XORWF 0x3f,0x0,0x0 +005038 e102 BNZ 0x503e +00503a 0e43 MOVLW 0x43 +00503c 1840 XORWF 0x40,0x0,0x0 +00503e e03b BZ 0x50b6 +005040 0e43 MOVLW 0x43 +005042 183f XORWF 0x3f,0x0,0x0 +005044 e101 BNZ 0x5048 +005046 5040 MOVF 0x40,0x0,0x0 +005048 e034 BZ 0x50b2 +00504a 0e52 MOVLW 0x52 +00504c 183f XORWF 0x3f,0x0,0x0 +00504e e101 BNZ 0x5052 +005050 5040 MOVF 0x40,0x0,0x0 +005052 e02d BZ 0x50ae +005054 0e4d MOVLW 0x4d +005056 183f XORWF 0x3f,0x0,0x0 +005058 e102 BNZ 0x505e +00505a 0e4c MOVLW 0x4c +00505c 1840 XORWF 0x40,0x0,0x0 +00505e e024 BZ 0x50a8 +005060 0e33 MOVLW 0x33 +005062 183f XORWF 0x3f,0x0,0x0 +005064 e102 BNZ 0x506a +005066 0e54 MOVLW 0x54 +005068 1840 XORWF 0x40,0x0,0x0 +00506a e01b BZ 0x50a2 +00506c 0e33 MOVLW 0x33 +00506e 183f XORWF 0x3f,0x0,0x0 +005070 e102 BNZ 0x5076 +005072 0e4c MOVLW 0x4c +005074 1840 XORWF 0x40,0x0,0x0 +005076 e012 BZ 0x509c +005078 0e54 MOVLW 0x54 +00507a 183f XORWF 0x3f,0x0,0x0 +00507c e102 BNZ 0x5082 +00507e 0e4c MOVLW 0x4c +005080 1840 XORWF 0x40,0x0,0x0 +005082 e009 BZ 0x5096 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c case ('L' * 256) + 'T': C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // Low Level Timed Move C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00507a ecd2 CALL 0x1fa4,0x0 parse_LT_packet(); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00507c f00f -00507e d0a8 BRA 0x51d0 break; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005096 ecd1 CALL 0x1fa2,0x0 parse_LT_packet(); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005098 f00f +00509a d0a8 BRA 0x51ec break; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c case ('L' * 256) + '3': C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // Low Level 3rd derivative (jerk) move C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005080 ec77 CALL 0x1eee,0x0 parse_L3_packet(); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005082 f00f -005084 d0a5 BRA 0x51d0 break; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +00509c ec76 CALL 0x1eec,0x0 parse_L3_packet(); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +00509e f00f +0050a0 d0a5 BRA 0x51ec break; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c case ('T' * 256) + '3': C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // Timed 3rd derivative (jerk) move C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005086 ecb2 CALL 0x1f64,0x0 parse_T3_packet(); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005088 f00f -00508a d0a2 BRA 0x51d0 break; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0050a2 ecb1 CALL 0x1f62,0x0 parse_T3_packet(); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0050a4 f00f +0050a6 d0a2 BRA 0x51ec break; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c case ('L' * 256) + 'M': C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // Low Level Move C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00508c ec48 CALL 0x1e90,0x0 parse_LM_packet(); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00508e f00f -005090 d09f BRA 0x51d0 break; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0050a8 ec47 CALL 0x1e8e,0x0 parse_LM_packet(); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0050aa f00f +0050ac d09f BRA 0x51ec break; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c case 'R': C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // Reset command (resets everything to power-on state) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005092 d8fb RCALL 0x528a parse_R_packet(); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005094 d09d BRA 0x51d0 break; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0050ae d8fb RCALL 0x52a6 parse_R_packet(); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0050b0 d09d BRA 0x51ec break; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c case 'C': C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // Configure command (configure ports for Input or Output) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005096 dbed RCALL 0x5872 parse_C_packet(); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005098 d09b BRA 0x51d0 break; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0050b2 dbed RCALL 0x588e parse_C_packet(); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0050b4 d09b BRA 0x51ec break; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c case ('C' * 256) + 'U': C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // For configuring UBW C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00509a d8fe RCALL 0x5298 parse_CU_packet(); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00509c d099 BRA 0x51d0 break; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0050b6 d8fe RCALL 0x52b4 parse_CU_packet(); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0050b8 d099 BRA 0x51ec break; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c case 'O': C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // Output command (tell the ports to output something) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00509e ece9 CALL 0x59d2,0x0 parse_O_packet(); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0050a0 f02c -0050a2 d096 BRA 0x51d0 break; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0050ba ecf7 CALL 0x59ee,0x0 parse_O_packet(); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0050bc f02c +0050be d096 BRA 0x51ec break; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c case 'I': C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // Input command (return the current status of the ports) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0050a4 ec1f CALL 0x5a3e,0x0 parse_I_packet(); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0050a6 f02d -0050a8 d093 BRA 0x51d0 break; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0050c0 ec2d CALL 0x5a5a,0x0 parse_I_packet(); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0050c2 f02d +0050c4 d093 BRA 0x51ec break; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c case 'V': C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // Version command C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0050aa ec35 CALL 0x5a6a,0x0 parse_V_packet(); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0050ac f02d -0050ae d090 BRA 0x51d0 break; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0050c6 ec43 CALL 0x5a86,0x0 parse_V_packet(); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0050c8 f02d +0050ca d090 BRA 0x51ec break; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c case 'A': C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // Analog command C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0050b0 ec3c CALL 0x5a78,0x0 parse_A_packet(); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0050b2 f02d -0050b4 d08d BRA 0x51d0 break; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0050cc ec4a CALL 0x5a94,0x0 parse_A_packet(); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0050ce f02d +0050d0 d08d BRA 0x51ec break; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c #if PC_PG_T_COMMANDS_ENABLED C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c case 'T': C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c @@ -19702,37 +19732,37 @@ Address Value Disassembly Source case ('P' * 256) + 'I': C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // PI for reading a single pin C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0050b6 ec74 CALL 0x5ce8,0x0 parse_PI_packet(); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0050b8 f02e -0050ba d08a BRA 0x51d0 break; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0050d2 ec82 CALL 0x5d04,0x0 parse_PI_packet(); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0050d4 f02e +0050d6 d08a BRA 0x51ec break; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c case ('P' * 256) + 'O': C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // PO for setting a single pin C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0050bc ece9 CALL 0x5dd2,0x0 parse_PO_packet(); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0050be f02e -0050c0 d087 BRA 0x51d0 break; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0050d8 ecf7 CALL 0x5dee,0x0 parse_PO_packet(); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0050da f02e +0050dc d087 BRA 0x51ec break; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c case ('P' * 256) + 'D': C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // PD for setting a pin's direction C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0050c2 ecd8 CALL 0x5bb0,0x0 parse_PD_packet(); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0050c4 f02d -0050c6 d084 BRA 0x51d0 break; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0050de ece6 CALL 0x5bcc,0x0 parse_PD_packet(); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0050e0 f02d +0050e2 d084 BRA 0x51ec break; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c case ('M' * 256) + 'R': C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // MR for Memory Read C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0050c8 ecb9 CALL 0x5b72,0x0 parse_MR_packet(); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0050ca f02d -0050cc d081 BRA 0x51d0 break; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0050e4 ecc7 CALL 0x5b8e,0x0 parse_MR_packet(); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0050e6 f02d +0050e8 d081 BRA 0x51ec break; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c case ('M' * 256) + 'W': C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // MW for Memory Write C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0050ce ec9e CALL 0x5b3c,0x0 parse_MW_packet(); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0050d0 f02d -0050d2 d07e BRA 0x51d0 break; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0050ea ecac CALL 0x5b58,0x0 parse_MW_packet(); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0050ec f02d +0050ee d07e BRA 0x51ec break; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c #if PC_PG_T_COMMANDS_ENABLED C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c case ('P' * 256) + 'C': C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c @@ -19751,301 +19781,301 @@ Address Value Disassembly Source case ('S' * 256) + 'M': C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // SM for stepper motor C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0050d4 ece5 CALL 0x23ca,0x0 parse_SM_packet(); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0050d6 f011 -0050d8 d07b BRA 0x51d0 break; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0050f0 ecef CALL 0x23de,0x0 parse_SM_packet(); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0050f2 f011 +0050f4 d07b BRA 0x51ec break; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c case ('S' * 256) + 'P': C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // SP for set pen C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0050da ec8c CALL 0x2f18,0x0 parse_SP_packet(); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0050dc f017 -0050de d078 BRA 0x51d0 break; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0050f6 eca1 CALL 0x2f42,0x0 parse_SP_packet(); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0050f8 f017 +0050fa d078 BRA 0x51ec break; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c case ('T' * 256) + 'P': C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // TP for toggle pen C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0050e0 ec68 CALL 0x2ed0,0x0 parse_TP_packet(); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0050e2 f017 -0050e4 d075 BRA 0x51d0 break; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0050fc ec7d CALL 0x2efa,0x0 parse_TP_packet(); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0050fe f017 +005100 d075 BRA 0x51ec break; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c case ('Q' * 256) + 'P': C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // QP for query pen C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0050e6 ecea CALL 0x2dd4,0x0 parse_QP_packet(); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0050e8 f016 -0050ea d072 BRA 0x51d0 break; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005102 ecff CALL 0x2dfe,0x0 parse_QP_packet(); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005104 f016 +005106 d072 BRA 0x51ec break; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c case ('Q' * 256) + 'E': C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // QE for Query motor Enable and resolution C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0050ec ec03 CALL 0x2e06,0x0 parse_QE_packet(); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0050ee f017 -0050f0 d06f BRA 0x51d0 break; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005108 ec18 CALL 0x2e30,0x0 parse_QE_packet(); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +00510a f017 +00510c d06f BRA 0x51ec break; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c case ('E' * 256) + 'M': C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // EM for enable motors C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0050f2 ec01 CALL 0x3002,0x0 parse_EM_packet(); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0050f4 f018 -0050f6 d06c BRA 0x51d0 break; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +00510e ec16 CALL 0x302c,0x0 parse_EM_packet(); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005110 f018 +005112 d06c BRA 0x51ec break; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c case ('S' * 256) + 'C': C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // SC for stepper mode configure C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0050f8 ec85 CALL 0x1d0a,0x0 parse_SC_packet(); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0050fa f00e -0050fc d069 BRA 0x51d0 break; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005114 ec84 CALL 0x1d08,0x0 parse_SC_packet(); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005116 f00e +005118 d069 BRA 0x51ec break; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c case ('S' * 256) + 'N': C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // SN for Clear Node count C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0050fe ec61 CALL 0x30c2,0x0 parse_SN_packet(); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005100 f018 -005102 d066 BRA 0x51d0 break; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +00511a ec76 CALL 0x30ec,0x0 parse_SN_packet(); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +00511c f018 +00511e d066 BRA 0x51ec break; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c case ('Q' * 256) + 'N': C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // QN for Query Node count C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005104 ec7f CALL 0x30fe,0x0 parse_QN_packet(); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005106 f018 -005108 d063 BRA 0x51d0 break; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005120 ec94 CALL 0x3128,0x0 parse_QN_packet(); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005122 f018 +005124 d063 BRA 0x51ec break; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c case ('S' * 256) + 'L': C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // SL for Set Layer C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00510a ec91 CALL 0x3122,0x0 parse_SL_packet(); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00510c f018 -00510e d060 BRA 0x51d0 break; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005126 eca6 CALL 0x314c,0x0 parse_SL_packet(); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005128 f018 +00512a d060 BRA 0x51ec break; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c case ('Q' * 256) + 'L': C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // QL for Query Layer count C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005110 ecad CALL 0x315a,0x0 parse_QL_packet(); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005112 f018 -005114 d05d BRA 0x51d0 break; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +00512c ecc2 CALL 0x3184,0x0 parse_QL_packet(); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +00512e f018 +005130 d05d BRA 0x51ec break; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c case ('Q' * 256) + 'B': C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // QL for Query Button (program) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005116 eccf CALL 0x319e,0x0 parse_QB_packet(); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005118 f018 -00511a d05a BRA 0x51d0 break; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005132 ece4 CALL 0x31c8,0x0 parse_QB_packet(); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005134 f018 +005136 d05a BRA 0x51ec break; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c case ('N' * 256) + 'I': C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // NI for Node count Increment C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00511c ec3f CALL 0x307e,0x0 parse_NI_packet(); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00511e f018 -005120 d057 BRA 0x51d0 break; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005138 ec54 CALL 0x30a8,0x0 parse_NI_packet(); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +00513a f018 +00513c d057 BRA 0x51ec break; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c case ('N' * 256) + 'D': C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // ND Node count Decrement C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005122 ec52 CALL 0x30a4,0x0 parse_ND_packet(); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005124 f018 -005126 d054 BRA 0x51d0 break; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +00513e ec67 CALL 0x30ce,0x0 parse_ND_packet(); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005140 f018 +005142 d054 BRA 0x51ec break; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c case ('B' * 256) + 'L': C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // BL for Boot Load C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005128 ec9d CALL 0x5f3a,0x0 parse_BL_packet(); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00512a f02f -00512c d051 BRA 0x51d0 break; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005144 ecab CALL 0x5f56,0x0 parse_BL_packet(); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005146 f02f +005148 d051 BRA 0x51ec break; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c case ('C' * 256) + 'K': C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // CL for Check C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00512e ecef CALL 0x5fde,0x0 parse_CK_packet(); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005130 f02f -005132 d04e BRA 0x51d0 break; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +00514a ecfd CALL 0x5ffa,0x0 parse_CK_packet(); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +00514c f02f +00514e d04e BRA 0x51ec break; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c case ('Q' * 256) + 'C': C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // QC for Query Current C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005134 ece3 CALL 0x31c6,0x0 parse_QC_packet(); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005136 f018 -005138 d04b BRA 0x51d0 break; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005150 ecf8 CALL 0x31f0,0x0 parse_QC_packet(); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005152 f018 +005154 d04b BRA 0x51ec break; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c case ('Q' * 256) + 'G': C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // QG for Query General C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00513a ecfa CALL 0x31f4,0x0 parse_QG_packet(); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00513c f018 -00513e d048 BRA 0x51d0 break; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005156 ec0f CALL 0x321e,0x0 parse_QG_packet(); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005158 f019 +00515a d048 BRA 0x51ec break; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c case ('S' * 256) + 'E': C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // SE for Set Engraver C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005140 ec2c CALL 0x3258,0x0 parse_SE_packet(); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005142 f019 -005144 d045 BRA 0x51d0 break; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +00515c ec41 CALL 0x3282,0x0 parse_SE_packet(); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +00515e f019 +005160 d045 BRA 0x51ec break; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c case ('S' * 256) + '2': C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // S2 for RC Servo method 2 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005146 ecb5 CALL 0x7f6a,0x0 RCServo2_S2_command(); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005148 f03f -00514a d042 BRA 0x51d0 break; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005162 ecc3 CALL 0x7f86,0x0 RCServo2_S2_command(); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005164 f03f +005166 d042 BRA 0x51ec break; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c case ('Q' * 256) + 'M': C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // QM for Query Motor C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00514c ec14 CALL 0x3428,0x0 parse_QM_packet(); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00514e f01a -005150 d03f BRA 0x51d0 break; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005168 ec29 CALL 0x3452,0x0 parse_QM_packet(); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +00516a f01a +00516c d03f BRA 0x51ec break; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c case ('A' * 256) + 'C': C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // AC for Analog Configure C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005152 eccf CALL 0x599e,0x0 parse_AC_packet(); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005154 f02c -005156 d03c BRA 0x51d0 break; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +00516e ecdd CALL 0x59ba,0x0 parse_AC_packet(); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005170 f02c +005172 d03c BRA 0x51ec break; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c case ('E' * 256) + 'S': C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // ES for E-Stop C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005158 ec9d CALL 0x2d3a,0x0 parse_ES_packet(); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00515a f016 -00515c d039 BRA 0x51d0 break; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005174 ecb2 CALL 0x2d64,0x0 parse_ES_packet(); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005176 f016 +005178 d039 BRA 0x51ec break; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c case ('X' * 256) + 'M': C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // XM for X motor move C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00515e ec4e CALL 0x289c,0x0 parse_XM_packet(); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005160 f014 -005162 d036 BRA 0x51d0 break; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +00517a ec58 CALL 0x28b0,0x0 parse_XM_packet(); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +00517c f014 +00517e d036 BRA 0x51ec break; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c case ('Q' * 256) + 'S': C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // QP for Query Step position C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005164 ec54 CALL 0x34a8,0x0 parse_QS_packet(); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005166 f01a -005168 d033 BRA 0x51d0 break; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005180 ec69 CALL 0x34d2,0x0 parse_QS_packet(); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005182 f01a +005184 d033 BRA 0x51ec break; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c case ('C' * 256) + 'S': C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // CS for Clear Step position C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00516a ec8c CALL 0x3518,0x0 parse_CS_packet(); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00516c f01a -00516e d030 BRA 0x51d0 break; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005186 ec9f CALL 0x353e,0x0 parse_CS_packet(); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005188 f01a +00518a d030 BRA 0x51ec break; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c case ('S' * 256) + 'T': C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // ST for Set Tag C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005170 eccd CALL 0x619a,0x0 parse_ST_packet(); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005172 f030 -005174 d02d BRA 0x51d0 break; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +00518c ecdb CALL 0x61b6,0x0 parse_ST_packet(); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +00518e f030 +005190 d02d BRA 0x51ec break; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c case ('Q' * 256) + 'T': C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // QT for Query Tag C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005176 ec03 CALL 0x6206,0x0 parse_QT_packet(); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005178 f031 -00517a d02a BRA 0x51d0 break; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005192 ec11 CALL 0x6222,0x0 parse_QT_packet(); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005194 f031 +005196 d02a BRA 0x51ec break; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c case ('R' * 256) + 'B': C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // RB for ReBoot C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00517c eca5 CALL 0x5f4a,0x0 parse_RB_packet(); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00517e f02f -005180 d027 BRA 0x51d0 break; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005198 ecb3 CALL 0x5f66,0x0 parse_RB_packet(); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +00519a f02f +00519c d027 BRA 0x51ec break; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c case ('Q' * 256) + 'R': C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // QR is for Query RC Servo power state C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005182 ecac CALL 0x5f58,0x0 parse_QR_packet(); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005184 f02f -005186 d024 BRA 0x51d0 break; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +00519e ecba CALL 0x5f74,0x0 parse_QR_packet(); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0051a0 f02f +0051a2 d024 BRA 0x51ec break; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c case ('S' * 256) + 'R': C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // SR is for Set RC Servo power timeout C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005188 ecbc CALL 0x5f78,0x0 parse_SR_packet(); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00518a f02f -00518c d021 BRA 0x51d0 break; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0051a4 ecca CALL 0x5f94,0x0 parse_SR_packet(); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0051a6 f02f +0051a8 d021 BRA 0x51ec break; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c case ('H' * 256) + 'M': C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // HM is for Home Motor C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00518e ec7c CALL 0x24f8,0x0 parse_HM_packet(); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005190 f012 -005192 d01e BRA 0x51d0 break; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0051aa ec86 CALL 0x250c,0x0 parse_HM_packet(); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0051ac f012 +0051ae d01e BRA 0x51ec break; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c case ('Q' * 256) + 'U': C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // QU is for General Query C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005194 daff RCALL 0x5794 parse_QU_packet(); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005196 d01c BRA 0x51d0 break; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0051b0 daff RCALL 0x57b0 parse_QU_packet(); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0051b2 d01c BRA 0x51ec break; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c default: C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005068 0100 MOVLB 0x0 if (0u == gCommand_Char2) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00506a 51db MOVF 0xdb,0x0,0x1 -00506c e001 BZ 0x5070 -00506e d094 BRA 0x5198 +005084 0100 MOVLB 0x0 if (0u == gCommand_Char2) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005086 51db MOVF 0xdb,0x0,0x1 +005088 e001 BZ 0x508c +00508a d094 BRA 0x51b4 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // Send back 'unknown command' error C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005070 ecaf CALL 0x6b5e,0x0 ebb_print((far rom char *)"!8 Err: Unknown command '"); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005072 f035 -006b5e 0e45 MOVLW 0x45 -006b60 6e33 MOVWF 0x33,0x0 -006b62 0e7d MOVLW 0x7d -006b64 de1e RCALL 0x67a2 -006b66 efe3 GOTO 0x69c6 ebb_print_char(gCommand_Char1); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -006b68 f034 -005074 ecb5 CALL 0x6b6a,0x0 ebb_print_char(':'); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005076 f035 -006b6a 0e3a MOVLW 0x3a -006b6c de49 RCALL 0x6800 -006b6e 0e02 MOVLW 0x2 ebb_print_hex(gCommand_Char1, 2); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -006b70 6ee6 MOVWF 0xe6,0x0 -006b72 c0da MOVFF 0xda,0x33 -006b74 f033 -006b76 0012 RETURN 0x0 +00508c ecbd CALL 0x6b7a,0x0 ebb_print((far rom char *)"!8 Err: Unknown command '"); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +00508e f035 +006b7a 0e61 MOVLW 0x61 +006b7c 6e47 MOVWF 0x47,0x0 +006b7e 0e7d MOVLW 0x7d +006b80 de1e RCALL 0x67be +006b82 eff1 GOTO 0x69e2 ebb_print_char(gCommand_Char1); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +006b84 f034 +005090 ecc3 CALL 0x6b86,0x0 ebb_print_char(':'); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005092 f035 +006b86 0e3a MOVLW 0x3a +006b88 de49 RCALL 0x681c +006b8a 0e02 MOVLW 0x2 ebb_print_hex(gCommand_Char1, 2); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +006b8c 6ee6 MOVWF 0xe6,0x0 +006b8e c0da MOVFF 0xda,0x47 +006b90 f047 +006b92 0012 RETURN 0x0 ebb_print_char(0x27); // the ' character C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005078 d0a3 BRA 0x51c0 else C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005094 d0a3 BRA 0x51dc else C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // Send back 'unknown command' error C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005198 ecaf CALL 0x6b5e,0x0 ebb_print((far rom char *)"!8 Err: Unknown command '"); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00519a f035 - ebb_print_char(gCommand_Char1); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00519c c0db MOVFF 0xdb,0xfe6 ebb_print_char(gCommand_Char2); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00519e ffe6 -0051a0 dce3 RCALL 0x4b68 -0051a2 52e5 MOVF 0xe5,0x1,0x0 -0051a4 ecb5 CALL 0x6b6a,0x0 ebb_print_char(':'); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0051a6 f035 -0051a8 ec01 CALL 0x6c02,0x0 ebb_print_hex(gCommand_Char1, 2); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0051aa f036 -0051ac c0da MOVFF 0xda,0xfe6 -0051ae ffe6 -0051b0 ec35 CALL 0x6a6a,0x0 -0051b2 f035 -0051b4 ecc9 CALL 0x6b92,0x0 +0051b4 ecbd CALL 0x6b7a,0x0 ebb_print((far rom char *)"!8 Err: Unknown command '"); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c 0051b6 f035 -006b92 ec32 CALL 0x8664,0x0 -006b94 f043 -006b96 6e37 MOVWF 0x37,0x0 -006b98 0e05 MOVLW 0x5 -006b9a 5ee1 SUBWF 0xe1,0x1,0x0 -006b9c 5037 MOVF 0x37,0x0,0x0 -006b9e 0012 RETURN 0x0 -0051b8 0e02 MOVLW 0x2 ebb_print_hex(gCommand_Char2, 2); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0051ba 6ee6 MOVWF 0xe6,0x0 -0051bc c0db MOVFF 0xdb,0x33 -0051be f033 -0051c0 6a34 CLRF 0x34,0x0 -0051c2 ecf6 CALL 0x67ec,0x0 -0051c4 f033 -0051c6 0e27 MOVLW 0x27 ebb_print_char(0x27); // the ' character C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0051c8 ec00 CALL 0x6800,0x0 -0051ca f034 + ebb_print_char(gCommand_Char1); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0051b8 c0db MOVFF 0xdb,0xfe6 ebb_print_char(gCommand_Char2); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0051ba ffe6 +0051bc dce3 RCALL 0x4b84 +0051be 52e5 MOVF 0xe5,0x1,0x0 +0051c0 ecc3 CALL 0x6b86,0x0 ebb_print_char(':'); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0051c2 f035 +0051c4 ec0f CALL 0x6c1e,0x0 ebb_print_hex(gCommand_Char1, 2); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0051c6 f036 +0051c8 c0da MOVFF 0xda,0xfe6 +0051ca ffe6 +0051cc ec43 CALL 0x6a86,0x0 +0051ce f035 +0051d0 ecd7 CALL 0x6bae,0x0 +0051d2 f035 +006bae ec40 CALL 0x8680,0x0 +006bb0 f043 +006bb2 6e4b MOVWF 0x4b,0x0 +006bb4 0e05 MOVLW 0x5 +006bb6 5ee1 SUBWF 0xe1,0x1,0x0 +006bb8 504b MOVF 0x4b,0x0,0x0 +006bba 0012 RETURN 0x0 +0051d4 0e02 MOVLW 0x2 ebb_print_hex(gCommand_Char2, 2); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0051d6 6ee6 MOVWF 0xe6,0x0 +0051d8 c0db MOVFF 0xdb,0x47 +0051da f047 +0051dc 6a48 CLRF 0x48,0x0 +0051de ec04 CALL 0x6808,0x0 +0051e0 f034 +0051e2 0e27 MOVLW 0x27 ebb_print_char(0x27); // the ' character C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0051e4 ec0e CALL 0x681c,0x0 +0051e6 f034 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0051cc ecdb CALL 0x67b6,0x0 print_line_ending(kLE_NORM); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0051ce f033 +0051e8 ece9 CALL 0x67d2,0x0 print_line_ending(kLE_NORM); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0051ea f033 break; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c @@ -20055,42 +20085,42 @@ Address Value Disassembly Source // the command parsing routine didn't eat. This would be an error and needs C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // to be reported. (Ignore for Reset command because FIFO pointers get cleared.) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c if ( C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0051d0 0100 MOVLB 0x0 (g_RX_buf[g_RX_buf_out] != kCR && 0u == error_byte) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0051d2 ecde CALL 0x67bc,0x0 -0051d4 f033 -0051d6 080d SUBLW 0xd -0051d8 e00d BZ 0x51f4 -0051da 5197 MOVF 0x97,0x0,0x1 -0051dc e10b BNZ 0x51f4 +0051ec 0100 MOVLB 0x0 (g_RX_buf[g_RX_buf_out] != kCR && 0u == error_byte) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0051ee ecec CALL 0x67d8,0x0 +0051f0 f033 +0051f2 080d SUBLW 0xd +0051f4 e00d BZ 0x5210 +0051f6 5197 MOVF 0x97,0x0,0x1 +0051f8 e10b BNZ 0x5210 && C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0051de 0e52 MOVLW 0x52 ('R' != command) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0051e0 6e33 MOVWF 0x33,0x0 -0051e2 6a34 CLRF 0x34,0x0 -0051e4 50df MOVF 0xdf,0x0,0x0 -0051e6 1833 XORWF 0x33,0x0,0x0 -0051e8 e103 BNZ 0x51f0 -0051ea 52de MOVF 0xde,0x1,0x0 -0051ec 50dd MOVF 0xdd,0x0,0x0 -0051ee 1834 XORWF 0x34,0x0,0x0 -0051f0 e001 BZ 0x51f4 ) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0051fa 0e52 MOVLW 0x52 ('R' != command) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0051fc 6e47 MOVWF 0x47,0x0 +0051fe 6a48 CLRF 0x48,0x0 +005200 50df MOVF 0xdf,0x0,0x0 +005202 1847 XORWF 0x47,0x0,0x0 +005204 e103 BNZ 0x520c +005206 52de MOVF 0xde,0x1,0x0 +005208 50dd MOVF 0xdd,0x0,0x0 +00520a 1848 XORWF 0x48,0x0,0x0 +00520c e001 BZ 0x5210 ) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0051f2 8f97 BSF 0x97,0x7,0x1 bitset(error_byte, kERROR_BYTE_EXTRA_CHARACTERS); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +00520e 8f97 BSF 0x97,0x7,0x1 bitset(error_byte, kERROR_BYTE_EXTRA_CHARACTERS); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // Clean up by skipping over any bytes we haven't eaten C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // This is safe since we parse each packet as we get a C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // (i.e. g_RX_buf_in doesn't move while we are in this routine) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0051f4 c0ca MOVFF 0xca,0xcb g_RX_buf_out = g_RX_buf_in; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0051f6 f0cb -0051f8 0e09 MOVLW 0x9 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0051fa 5ce1 SUBWF 0xe1,0x0,0x0 -0051fc e202 BC 0x5202 -0051fe 6ae1 CLRF 0xe1,0x0 -005200 52e5 MOVF 0xe5,0x1,0x0 -005202 6ee1 MOVWF 0xe1,0x0 -005204 eff2 GOTO 0x67e4 -005206 f033 +005210 c0ca MOVFF 0xca,0xcb g_RX_buf_out = g_RX_buf_in; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005212 f0cb +005214 0e09 MOVLW 0x9 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005216 5ce1 SUBWF 0xe1,0x0,0x0 +005218 e202 BC 0x521e +00521a 6ae1 CLRF 0xe1,0x0 +00521c 52e5 MOVF 0xe5,0x1,0x0 +00521e 6ee1 MOVWF 0xe1,0x0 +005220 ef00 GOTO 0x6800 +005222 f034 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // This function will print out the two character command that was just parsed C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // if the New line ending mode is set (CU,10,1). Every time a command is sent C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c @@ -20101,50 +20131,50 @@ Address Value Disassembly Source // print_comma = true : if command printed, also print comma after C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // print_comma = false : if command printed, do not print comma after C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // If Legacy line ending mode is turned on this function will not print anything C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005208 ec8b CALL 0x6b16,0x0 void print_command(BOOL print_always, BOOL print_comma) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00520a f035 +005224 ec99 CALL 0x6b32,0x0 void print_command(BOOL print_always, BOOL print_comma) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005226 f035 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00520c 0e2c MOVLW 0x2c char comma = ','; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00520e 6edf MOVWF 0xdf,0x0 +005228 0e2c MOVLW 0x2c char comma = ','; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +00522a 6edf MOVWF 0xdf,0x0 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005210 0e01 MOVLW 0x1 if (bittstzero(gStandardizedCommandFormat) || print_always) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005212 010b MOVLB 0xb -005214 1584 ANDWF 0x84,0x0,0x1 -005216 e103 BNZ 0x521e -005218 0efe MOVLW 0xfe -00521a 50db MOVF 0xdb,0x0,0x0 -00521c e010 BZ 0x523e +00522c 0e01 MOVLW 0x1 if (bittstzero(gStandardizedCommandFormat) || print_always) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +00522e 0101 MOVLB 0x1 +005230 15be ANDWF 0xbe,0x0,0x1 +005232 e103 BNZ 0x523a +005234 0efe MOVLW 0xfe +005236 50db MOVF 0xdb,0x0,0x0 +005238 e010 BZ 0x525a { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00521e ece3 CALL 0x69c6,0x0 ebb_putc(gCommand_Char1); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005220 f034 -0069c6 c0da MOVFF 0xda,0xfe6 -0069c8 ffe6 -0069ca ecb4 CALL 0x4b68,0x0 -0069cc f025 -0069ce 52e5 MOVF 0xe5,0x1,0x0 -0069d0 0012 RETURN 0x0 -005222 0100 MOVLB 0x0 if (gCommand_Char2 != 0u) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005224 51db MOVF 0xdb,0x0,0x1 -005226 e004 BZ 0x5230 +00523a ecf1 CALL 0x69e2,0x0 ebb_putc(gCommand_Char1); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +00523c f034 +0069e2 c0da MOVFF 0xda,0xfe6 +0069e4 ffe6 +0069e6 ecc2 CALL 0x4b84,0x0 +0069e8 f025 +0069ea 52e5 MOVF 0xe5,0x1,0x0 +0069ec 0012 RETURN 0x0 +00523e 0100 MOVLB 0x0 if (gCommand_Char2 != 0u) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005240 51db MOVF 0xdb,0x0,0x1 +005242 e004 BZ 0x524c { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005228 c0db MOVFF 0xdb,0xfe6 ebb_putc(gCommand_Char2); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00522a ffe6 -00522c dc9d RCALL 0x4b68 -00522e 52e5 MOVF 0xe5,0x1,0x0 +005244 c0db MOVFF 0xdb,0xfe6 ebb_putc(gCommand_Char2); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005246 ffe6 +005248 dc9d RCALL 0x4b84 +00524a 52e5 MOVF 0xe5,0x1,0x0 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005230 0efd MOVLW 0xfd if (print_comma) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005232 50db MOVF 0xdb,0x0,0x0 -005234 e004 BZ 0x523e +00524c 0efd MOVLW 0xfd if (print_comma) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +00524e 50db MOVF 0xdb,0x0,0x0 +005250 e004 BZ 0x525a { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005236 cfdf MOVFF 0xfdf,0xfe6 ebb_putc(comma); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005238 ffe6 -00523a dc96 RCALL 0x4b68 -00523c 52e5 MOVF 0xe5,0x1,0x0 +005252 cfdf MOVFF 0xfdf,0xfe6 ebb_putc(comma); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005254 ffe6 +005256 dc96 RCALL 0x4b84 +005258 52e5 MOVF 0xe5,0x1,0x0 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00523e 52e5 MOVF 0xe5,0x1,0x0 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005240 eff2 GOTO 0x67e4 -005242 f033 +00525a 52e5 MOVF 0xe5,0x1,0x0 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +00525c ef00 GOTO 0x6800 +00525e f034 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // This function prints out the common endings needed on text lines sent back C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // to the PC. It operates in two modes, Legacy and New. Legacy mode is used C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c @@ -20159,64 +20189,64 @@ Address Value Disassembly Source // = LE_REV : Print "\n\r" C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // New Mode: C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // Regardless of the value of , always print "\n" C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005244 eced CALL 0x67da,0x0 void print_line_ending(tLineEnding le_type) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005246 f033 +005260 ecfb CALL 0x67f6,0x0 void print_line_ending(tLineEnding le_type) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005262 f033 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005248 010b MOVLB 0xb if (bittstzero(gStandardizedCommandFormat)) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00524a a184 BTFSS 0x84,0x0,0x1 -00524c d004 BRA 0x5256 +005264 0101 MOVLB 0x1 if (bittstzero(gStandardizedCommandFormat)) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005266 a1be BTFSS 0xbe,0x0,0x1 +005268 d004 BRA 0x5272 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00524e 0e43 MOVLW 0x43 ebb_print((far rom char *)"\n"); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005250 6e33 MOVWF 0x33,0x0 -005252 0e7d MOVLW 0x7d +00526a 0e5f MOVLW 0x5f ebb_print((far rom char *)"\n"); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +00526c 6e47 MOVWF 0x47,0x0 +00526e 0e7d MOVLW 0x7d } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005254 d016 BRA 0x5282 else C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005270 d016 BRA 0x529e else C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005256 0100 MOVLB 0x0 if ((g_ack_enable) && (le_type == kLE_OK_NORM)) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005258 51d0 MOVF 0xd0,0x0,0x1 -00525a e008 BZ 0x526c -00525c 0efe MOVLW 0xfe -00525e 50db MOVF 0xdb,0x0,0x0 -005260 e105 BNZ 0x526c +005272 0100 MOVLB 0x0 if ((g_ack_enable) && (le_type == kLE_OK_NORM)) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005274 51d0 MOVF 0xd0,0x0,0x1 +005276 e008 BZ 0x5288 +005278 0efe MOVLW 0xfe +00527a 50db MOVF 0xdb,0x0,0x0 +00527c e105 BNZ 0x5288 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005262 0e40 MOVLW 0x40 ebb_print((far rom char *)"OK"); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005264 6e33 MOVWF 0x33,0x0 -005266 0e7d MOVLW 0x7d -005268 ecd1 CALL 0x67a2,0x0 -00526a f033 +00527e 0e5c MOVLW 0x5c ebb_print((far rom char *)"OK"); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005280 6e47 MOVWF 0x47,0x0 +005282 0e7d MOVLW 0x7d +005284 ecdf CALL 0x67be,0x0 +005286 f033 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00526c 0efe MOVLW 0xfe if (le_type == kLE_REV) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00526e 50db MOVF 0xdb,0x0,0x0 -005270 0802 SUBLW 0x2 -005272 e104 BNZ 0x527c +005288 0efe MOVLW 0xfe if (le_type == kLE_REV) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +00528a 50db MOVF 0xdb,0x0,0x0 +00528c 0802 SUBLW 0x2 +00528e e104 BNZ 0x5298 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005274 0e3d MOVLW 0x3d ebb_print((far rom char *)"\n\r"); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005276 6e33 MOVWF 0x33,0x0 -005278 0e7d MOVLW 0x7d +005290 0e59 MOVLW 0x59 ebb_print((far rom char *)"\n\r"); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005292 6e47 MOVWF 0x47,0x0 +005294 0e7d MOVLW 0x7d } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00527a d003 BRA 0x5282 else C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005296 d003 BRA 0x529e else C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // le_type == kLE_NORM C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00527c 0e3a MOVLW 0x3a ebb_print((far rom char *)"\r\n"); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00527e 6e33 MOVWF 0x33,0x0 -005280 0e7d MOVLW 0x7d -005282 ecd1 CALL 0x67a2,0x0 -005284 f033 +005298 0e56 MOVLW 0x56 ebb_print((far rom char *)"\r\n"); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +00529a 6e47 MOVWF 0x47,0x0 +00529c 0e7d MOVLW 0x7d +00529e ecdf CALL 0x67be,0x0 +0052a0 f033 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005286 eff2 GOTO 0x67e4 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005288 f033 +0052a2 ef00 GOTO 0x6800 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0052a4 f034 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // Return all I/Os to their default power-on values C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c void parse_R_packet(void) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00528a ec32 CALL 0x6c64,0x0 print_command(FALSE, FALSE); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00528c f036 -00528e ec26 CALL 0x684c,0x0 print_line_ending(kLE_OK_NORM); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005290 f034 -005292 dc99 RCALL 0x4bc6 check_and_send_TX_data(); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005294 efd6 GOTO 0x47ac UserInit(); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005296 f023 +0052a6 ec40 CALL 0x6c80,0x0 print_command(FALSE, FALSE); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0052a8 f036 +0052aa ec34 CALL 0x6868,0x0 print_line_ending(kLE_OK_NORM); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0052ac f034 +0052ae dc99 RCALL 0x4be2 check_and_send_TX_data(); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0052b0 efe4 GOTO 0x47c8 UserInit(); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0052b2 f023 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // CU is "Configure UBW" and controls system-wide configuration values C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c @@ -20241,579 +20271,579 @@ Address Value Disassembly Source // 254 {1} turns on lock up mode. Tight loop of I/O toggles shows true ISR timing. Reset to exit. C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // 255 {1|0} turns on or off command parsing debug printing on USB C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005298 cfd9 MOVFF 0xfd9,0xfe6 void parse_CU_packet(void) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00529a ffe6 -00529c cfe1 MOVFF 0xfe1,0xfd9 -00529e ffd9 -0052a0 0e03 MOVLW 0x3 -0052a2 26e1 ADDWF 0xe1,0x1,0x0 +0052b4 cfd9 MOVFF 0xfd9,0xfe6 void parse_CU_packet(void) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0052b6 ffe6 +0052b8 cfe1 MOVFF 0xfe1,0xfd9 +0052ba ffd9 +0052bc 0e03 MOVLW 0x3 +0052be 26e1 ADDWF 0xe1,0x1,0x0 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c UINT8 parameter_number; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c INT16 paramater_value; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0052a4 6ae6 CLRF 0xe6,0x0 print_command(FALSE, FALSE); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0052a6 6ae6 CLRF 0xe6,0x0 -0052a8 dfaf RCALL 0x5208 -0052aa 52e5 MOVF 0xe5,0x1,0x0 -0052ac 52e5 MOVF 0xe5,0x1,0x0 - C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0052ae 6ae6 CLRF 0xe6,0x0 extract_number(kUCHAR, ¶meter_number, kREQUIRED); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0052b0 cfd9 MOVFF 0xfd9,0xfe6 -0052b2 ffe6 -0052b4 cfda MOVFF 0xfda,0xfe6 -0052b6 ffe6 -0052b8 0e01 MOVLW 0x1 -0052ba 6ee6 MOVWF 0xe6,0x0 -0052bc ec5e CALL 0x62bc,0x0 -0052be f031 -0052c0 52e5 MOVF 0xe5,0x1,0x0 -0052c2 52e5 MOVF 0xe5,0x1,0x0 -0052c4 52e5 MOVF 0xe5,0x1,0x0 +0052c0 6ae6 CLRF 0xe6,0x0 print_command(FALSE, FALSE); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0052c2 6ae6 CLRF 0xe6,0x0 +0052c4 dfaf RCALL 0x5224 0052c6 52e5 MOVF 0xe5,0x1,0x0 -0052c8 6ae6 CLRF 0xe6,0x0 extract_number(kINT, ¶mater_value, kREQUIRED); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0052ca 50d9 MOVF 0xd9,0x0,0x0 -0052cc 0f01 ADDLW 0x1 -0052ce 6ee6 MOVWF 0xe6,0x0 -0052d0 0e00 MOVLW 0x0 -0052d2 20da ADDWFC 0xda,0x0,0x0 -0052d4 6ee6 MOVWF 0xe6,0x0 -0052d6 0e02 MOVLW 0x2 -0052d8 6ee6 MOVWF 0xe6,0x0 -0052da ec5e CALL 0x62bc,0x0 -0052dc f031 +0052c8 52e5 MOVF 0xe5,0x1,0x0 + C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0052ca 6ae6 CLRF 0xe6,0x0 extract_number(kUCHAR, ¶meter_number, kREQUIRED); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0052cc cfd9 MOVFF 0xfd9,0xfe6 +0052ce ffe6 +0052d0 cfda MOVFF 0xfda,0xfe6 +0052d2 ffe6 +0052d4 0e01 MOVLW 0x1 +0052d6 6ee6 MOVWF 0xe6,0x0 +0052d8 ec6c CALL 0x62d8,0x0 +0052da f031 +0052dc 52e5 MOVF 0xe5,0x1,0x0 0052de 52e5 MOVF 0xe5,0x1,0x0 0052e0 52e5 MOVF 0xe5,0x1,0x0 0052e2 52e5 MOVF 0xe5,0x1,0x0 -0052e4 52e5 MOVF 0xe5,0x1,0x0 +0052e4 6ae6 CLRF 0xe6,0x0 extract_number(kINT, ¶mater_value, kREQUIRED); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0052e6 50d9 MOVF 0xd9,0x0,0x0 +0052e8 0f01 ADDLW 0x1 +0052ea 6ee6 MOVWF 0xe6,0x0 +0052ec 0e00 MOVLW 0x0 +0052ee 20da ADDWFC 0xda,0x0,0x0 +0052f0 6ee6 MOVWF 0xe6,0x0 +0052f2 0e02 MOVLW 0x2 +0052f4 6ee6 MOVWF 0xe6,0x0 +0052f6 ec6c CALL 0x62d8,0x0 +0052f8 f031 +0052fa 52e5 MOVF 0xe5,0x1,0x0 +0052fc 52e5 MOVF 0xe5,0x1,0x0 +0052fe 52e5 MOVF 0xe5,0x1,0x0 +005300 52e5 MOVF 0xe5,0x1,0x0 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // Bail if we got a conversion error C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0052e6 0100 MOVLB 0x0 if (error_byte) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0052e8 5197 MOVF 0x97,0x0,0x1 -0052ea e001 BZ 0x52ee +005302 0100 MOVLB 0x0 if (error_byte) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005304 5197 MOVF 0x97,0x0,0x1 +005306 e001 BZ 0x530a { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0052ec d249 BRA 0x5780 return; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005308 d249 BRA 0x579c return; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // CU,1,1 or CU,1,0 to turn on/off "OK" at end of command reply C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0052ee 04df DECF 0xdf,0x0,0x0 if (1u == parameter_number) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0052f0 e11a BNZ 0x5326 +00530a 04df DECF 0xdf,0x0,0x0 if (1u == parameter_number) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +00530c e11a BNZ 0x5342 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0052f2 50d9 MOVF 0xd9,0x0,0x0 if (0 == paramater_value || 1 == paramater_value) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0052f4 0f01 ADDLW 0x1 -0052f6 6ee9 MOVWF 0xe9,0x0 -0052f8 cfda MOVFF 0xfda,0xfea -0052fa ffea -0052fc 50ee MOVF 0xee,0x0,0x0 -0052fe 10ed IORWF 0xed,0x0,0x0 -005300 e00b BZ 0x5318 -005302 0e01 MOVLW 0x1 -005304 6e33 MOVWF 0x33,0x0 -005306 6a34 CLRF 0x34,0x0 -005308 0e01 MOVLW 0x1 -00530a 50db MOVF 0xdb,0x0,0x0 -00530c 1833 XORWF 0x33,0x0,0x0 -00530e e103 BNZ 0x5316 -005310 0e02 MOVLW 0x2 -005312 50db MOVF 0xdb,0x0,0x0 -005314 1834 XORWF 0x34,0x0,0x0 -005316 e104 BNZ 0x5320 +00530e 50d9 MOVF 0xd9,0x0,0x0 if (0 == paramater_value || 1 == paramater_value) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005310 0f01 ADDLW 0x1 +005312 6ee9 MOVWF 0xe9,0x0 +005314 cfda MOVFF 0xfda,0xfea +005316 ffea +005318 50ee MOVF 0xee,0x0,0x0 +00531a 10ed IORWF 0xed,0x0,0x0 +00531c e00b BZ 0x5334 +00531e 0e01 MOVLW 0x1 +005320 6e47 MOVWF 0x47,0x0 +005322 6a48 CLRF 0x48,0x0 +005324 0e01 MOVLW 0x1 +005326 50db MOVF 0xdb,0x0,0x0 +005328 1847 XORWF 0x47,0x0,0x0 +00532a e103 BNZ 0x5332 +00532c 0e02 MOVLW 0x2 +00532e 50db MOVF 0xdb,0x0,0x0 +005330 1848 XORWF 0x48,0x0,0x0 +005332 e104 BNZ 0x533c { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005318 0e01 MOVLW 0x1 g_ack_enable = paramater_value; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00531a cfdb MOVFF 0xfdb,0xd0 -00531c f0d0 +005334 0e01 MOVLW 0x1 g_ack_enable = paramater_value; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005336 cfdb MOVFF 0xfdb,0xd0 +005338 f0d0 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00531e d002 BRA 0x5324 else C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +00533a d002 BRA 0x5340 else C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005320 0100 MOVLB 0x0 bitset(error_byte, kERROR_BYTE_PARAMETER_OUTSIDE_LIMIT); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005322 8d97 BSF 0x97,0x6,0x1 +00533c 0100 MOVLB 0x0 bitset(error_byte, kERROR_BYTE_PARAMETER_OUTSIDE_LIMIT); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +00533e 8d97 BSF 0x97,0x6,0x1 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // CU,2,1 or CU,2,0 to turn on/off parameter limit checks C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005324 d22a BRA 0x577a else if (2u == parameter_number) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005326 0e02 MOVLW 0x2 -005328 6e33 MOVWF 0x33,0x0 -00532a 50df MOVF 0xdf,0x0,0x0 -00532c 5c33 SUBWF 0x33,0x0,0x0 -00532e e11a BNZ 0x5364 +005340 d22a BRA 0x5796 else if (2u == parameter_number) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005342 0e02 MOVLW 0x2 +005344 6e47 MOVWF 0x47,0x0 +005346 50df MOVF 0xdf,0x0,0x0 +005348 5c47 SUBWF 0x47,0x0,0x0 +00534a e11a BNZ 0x5380 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005330 50d9 MOVF 0xd9,0x0,0x0 if (0 == paramater_value || 1 == paramater_value) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005332 0f01 ADDLW 0x1 -005334 6ee9 MOVWF 0xe9,0x0 -005336 cfda MOVFF 0xfda,0xfea -005338 ffea -00533a 50ee MOVF 0xee,0x0,0x0 -00533c 10ed IORWF 0xed,0x0,0x0 -00533e e00b BZ 0x5356 -005340 0e01 MOVLW 0x1 -005342 6e33 MOVWF 0x33,0x0 -005344 6a34 CLRF 0x34,0x0 -005346 0e01 MOVLW 0x1 -005348 50db MOVF 0xdb,0x0,0x0 -00534a 1833 XORWF 0x33,0x0,0x0 -00534c e103 BNZ 0x5354 -00534e 0e02 MOVLW 0x2 -005350 50db MOVF 0xdb,0x0,0x0 -005352 1834 XORWF 0x34,0x0,0x0 -005354 e104 BNZ 0x535e +00534c 50d9 MOVF 0xd9,0x0,0x0 if (0 == paramater_value || 1 == paramater_value) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +00534e 0f01 ADDLW 0x1 +005350 6ee9 MOVWF 0xe9,0x0 +005352 cfda MOVFF 0xfda,0xfea +005354 ffea +005356 50ee MOVF 0xee,0x0,0x0 +005358 10ed IORWF 0xed,0x0,0x0 +00535a e00b BZ 0x5372 +00535c 0e01 MOVLW 0x1 +00535e 6e47 MOVWF 0x47,0x0 +005360 6a48 CLRF 0x48,0x0 +005362 0e01 MOVLW 0x1 +005364 50db MOVF 0xdb,0x0,0x0 +005366 1847 XORWF 0x47,0x0,0x0 +005368 e103 BNZ 0x5370 +00536a 0e02 MOVLW 0x2 +00536c 50db MOVF 0xdb,0x0,0x0 +00536e 1848 XORWF 0x48,0x0,0x0 +005370 e104 BNZ 0x537a { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005356 0e01 MOVLW 0x1 gLimitChecks = paramater_value; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005358 cfdb MOVFF 0xfdb,0xb83 -00535a fb83 +005372 0e01 MOVLW 0x1 gLimitChecks = paramater_value; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005374 cfdb MOVFF 0xfdb,0x1bd +005376 f1bd } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00535c d002 BRA 0x5362 else C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005378 d002 BRA 0x537e else C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00535e 0100 MOVLB 0x0 bitset(error_byte, kERROR_BYTE_PARAMETER_OUTSIDE_LIMIT); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005360 8d97 BSF 0x97,0x6,0x1 +00537a 0100 MOVLB 0x0 bitset(error_byte, kERROR_BYTE_PARAMETER_OUTSIDE_LIMIT); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +00537c 8d97 BSF 0x97,0x6,0x1 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // CU,3,1 or CU,3,0 to turn on/off red LED FIFO empty indicator C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005362 d20b BRA 0x577a else if (3u == parameter_number) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005364 0e03 MOVLW 0x3 -005366 6e33 MOVWF 0x33,0x0 -005368 50df MOVF 0xdf,0x0,0x0 -00536a 5c33 SUBWF 0x33,0x0,0x0 -00536c e11c BNZ 0x53a6 +00537e d20b BRA 0x5796 else if (3u == parameter_number) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005380 0e03 MOVLW 0x3 +005382 6e47 MOVWF 0x47,0x0 +005384 50df MOVF 0xdf,0x0,0x0 +005386 5c47 SUBWF 0x47,0x0,0x0 +005388 e11c BNZ 0x53c2 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00536e 50d9 MOVF 0xd9,0x0,0x0 if (0 == paramater_value) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005370 0f01 ADDLW 0x1 -005372 6ee9 MOVWF 0xe9,0x0 -005374 cfda MOVFF 0xfda,0xfea -005376 ffea -005378 50ee MOVF 0xee,0x0,0x0 -00537a 10ed IORWF 0xed,0x0,0x0 -00537c e103 BNZ 0x5384 - { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00537e 9006 BCF 0x6,0x0,0x0 bitclrzero(gRedLEDEmptyFIFO); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005380 948c BCF 0x8c,0x2,0x0 mLED_2_Off() C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005382 d010 BRA 0x53a4 else if (1 == paramater_value) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005384 0e01 MOVLW 0x1 -005386 6e33 MOVWF 0x33,0x0 -005388 6a34 CLRF 0x34,0x0 -00538a 0e01 MOVLW 0x1 -00538c 50db MOVF 0xdb,0x0,0x0 -00538e 1833 XORWF 0x33,0x0,0x0 -005390 e103 BNZ 0x5398 -005392 0e02 MOVLW 0x2 -005394 50db MOVF 0xdb,0x0,0x0 -005396 1834 XORWF 0x34,0x0,0x0 +00538a 50d9 MOVF 0xd9,0x0,0x0 if (0 == paramater_value) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +00538c 0f01 ADDLW 0x1 +00538e 6ee9 MOVWF 0xe9,0x0 +005390 cfda MOVFF 0xfda,0xfea +005392 ffea +005394 50ee MOVF 0xee,0x0,0x0 +005396 10ed IORWF 0xed,0x0,0x0 005398 e103 BNZ 0x53a0 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00539a 8006 BSF 0x6,0x0,0x0 bitsetzero(gRedLEDEmptyFIFO); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +00539a 9006 BCF 0x6,0x0,0x0 bitclrzero(gRedLEDEmptyFIFO); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c 00539c 948c BCF 0x8c,0x2,0x0 mLED_2_Off() C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00539e d002 BRA 0x53a4 else C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +00539e d010 BRA 0x53c0 else if (1 == paramater_value) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0053a0 0e01 MOVLW 0x1 +0053a2 6e47 MOVWF 0x47,0x0 +0053a4 6a48 CLRF 0x48,0x0 +0053a6 0e01 MOVLW 0x1 +0053a8 50db MOVF 0xdb,0x0,0x0 +0053aa 1847 XORWF 0x47,0x0,0x0 +0053ac e103 BNZ 0x53b4 +0053ae 0e02 MOVLW 0x2 +0053b0 50db MOVF 0xdb,0x0,0x0 +0053b2 1848 XORWF 0x48,0x0,0x0 +0053b4 e103 BNZ 0x53bc { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0053a0 0100 MOVLB 0x0 bitset(error_byte, kERROR_BYTE_PARAMETER_OUTSIDE_LIMIT); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0053a2 8d97 BSF 0x97,0x6,0x1 +0053b6 8006 BSF 0x6,0x0,0x0 bitsetzero(gRedLEDEmptyFIFO); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0053b8 948c BCF 0x8c,0x2,0x0 mLED_2_Off() C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0053ba d002 BRA 0x53c0 else C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0053bc 0100 MOVLB 0x0 bitset(error_byte, kERROR_BYTE_PARAMETER_OUTSIDE_LIMIT); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0053be 8d97 BSF 0x97,0x6,0x1 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // CU,4, C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0053a4 d1ea BRA 0x577a else if (4u == parameter_number) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0053a6 0e04 MOVLW 0x4 -0053a8 6e33 MOVWF 0x33,0x0 -0053aa 50df MOVF 0xdf,0x0,0x0 -0053ac 5c33 SUBWF 0x33,0x0,0x0 -0053ae e11d BNZ 0x53ea +0053c0 d1ea BRA 0x5796 else if (4u == parameter_number) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0053c2 0e04 MOVLW 0x4 +0053c4 6e47 MOVWF 0x47,0x0 +0053c6 50df MOVF 0xdf,0x0,0x0 +0053c8 5c47 SUBWF 0x47,0x0,0x0 +0053ca e11d BNZ 0x5406 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0053b0 0e01 MOVLW 0x1 if (paramater_value > (INT16)COMMAND_FIFO_MAX_LENGTH) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0053b2 cfdb MOVFF 0xfdb,0x33 -0053b4 f033 -0053b6 0e02 MOVLW 0x2 -0053b8 cfdb MOVFF 0xfdb,0x34 -0053ba f034 -0053bc 3434 RLCF 0x34,0x0,0x0 -0053be e204 BC 0x53c8 -0053c0 5033 MOVF 0x33,0x0,0x0 -0053c2 081c SUBLW 0x1c -0053c4 0e00 MOVLW 0x0 -0053c6 5434 SUBFWB 0x34,0x0,0x0 -0053c8 e207 BC 0x53d8 +0053cc 0e01 MOVLW 0x1 if (paramater_value > (INT16)COMMAND_FIFO_MAX_LENGTH) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0053ce cfdb MOVFF 0xfdb,0x47 +0053d0 f047 +0053d2 0e02 MOVLW 0x2 +0053d4 cfdb MOVFF 0xfdb,0x48 +0053d6 f048 +0053d8 3448 RLCF 0x48,0x0,0x0 +0053da e204 BC 0x53e4 +0053dc 5047 MOVF 0x47,0x0,0x0 +0053de 0820 SUBLW 0x20 +0053e0 0e00 MOVLW 0x0 +0053e2 5448 SUBFWB 0x48,0x0,0x0 +0053e4 e207 BC 0x53f4 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0053ca 0e1c MOVLW 0x1c paramater_value = COMMAND_FIFO_MAX_LENGTH; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0053cc 6ef3 MOVWF 0xf3,0x0 -0053ce 0e01 MOVLW 0x1 -0053d0 cff3 MOVFF 0xff3,0xfdb -0053d2 ffdb -0053d4 0e02 MOVLW 0x2 -0053d6 6adb CLRF 0xdb,0x0 +0053e6 0e20 MOVLW 0x20 paramater_value = COMMAND_FIFO_MAX_LENGTH; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0053e8 6ef3 MOVWF 0xf3,0x0 +0053ea 0e01 MOVLW 0x1 +0053ec cff3 MOVFF 0xff3,0xfdb +0053ee ffdb +0053f0 0e02 MOVLW 0x2 +0053f2 6adb CLRF 0xdb,0x0 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // Spin here until we're certain the FIFO is empty and there are no C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // command executing. We want the ISR to be completely idle while we C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // change this value. C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0053d8 eccf CALL 0x339e,0x0 while (process_QM()) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0053da f019 -0053dc 0900 IORLW 0x0 -0053de e001 BZ 0x53e2 -0053e0 d7fb BRA 0x53d8 +0053f4 ece4 CALL 0x33c8,0x0 while (process_QM()) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0053f6 f019 +0053f8 0900 IORLW 0x0 +0053fa e001 BZ 0x53fe +0053fc d7fb BRA 0x53f4 ; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0053e2 0e01 MOVLW 0x1 gCurrentFIFOLength = paramater_value; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0053e4 50db MOVF 0xdb,0x0,0x0 -0053e6 6e18 MOVWF 0x18,0x0 +0053fe 0e01 MOVLW 0x1 gCurrentFIFOLength = paramater_value; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005400 50db MOVF 0xdb,0x0,0x0 +005402 6e18 MOVWF 0x18,0x0 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // CU,10,1 or CU,10,0 to turn on/off standardized line ending C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0053e8 d1c8 BRA 0x577a else if (10u == parameter_number) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0053ea 0e0a MOVLW 0xa -0053ec 6e33 MOVWF 0x33,0x0 -0053ee 50df MOVF 0xdf,0x0,0x0 -0053f0 5c33 SUBWF 0x33,0x0,0x0 -0053f2 e11c BNZ 0x542c +005404 d1c8 BRA 0x5796 else if (10u == parameter_number) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005406 0e0a MOVLW 0xa +005408 6e47 MOVWF 0x47,0x0 +00540a 50df MOVF 0xdf,0x0,0x0 +00540c 5c47 SUBWF 0x47,0x0,0x0 +00540e e11c BNZ 0x5448 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0053f4 50d9 MOVF 0xd9,0x0,0x0 if (0 == paramater_value) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0053f6 0f01 ADDLW 0x1 -0053f8 6ee9 MOVWF 0xe9,0x0 -0053fa cfda MOVFF 0xfda,0xfea -0053fc ffea -0053fe 50ee MOVF 0xee,0x0,0x0 -005400 10ed IORWF 0xed,0x0,0x0 -005402 e103 BNZ 0x540a - { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005404 010b MOVLB 0xb bitclrzero(gStandardizedCommandFormat); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005406 9184 BCF 0x84,0x0,0x1 - } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005408 d010 BRA 0x542a else if (1 == paramater_value) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00540a 0e01 MOVLW 0x1 -00540c 6e33 MOVWF 0x33,0x0 -00540e 6a34 CLRF 0x34,0x0 -005410 0e01 MOVLW 0x1 -005412 50db MOVF 0xdb,0x0,0x0 -005414 1833 XORWF 0x33,0x0,0x0 -005416 e103 BNZ 0x541e -005418 0e02 MOVLW 0x2 -00541a 50db MOVF 0xdb,0x0,0x0 -00541c 1834 XORWF 0x34,0x0,0x0 +005410 50d9 MOVF 0xd9,0x0,0x0 if (0 == paramater_value) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005412 0f01 ADDLW 0x1 +005414 6ee9 MOVWF 0xe9,0x0 +005416 cfda MOVFF 0xfda,0xfea +005418 ffea +00541a 50ee MOVF 0xee,0x0,0x0 +00541c 10ed IORWF 0xed,0x0,0x0 00541e e103 BNZ 0x5426 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005420 010b MOVLB 0xb bitsetzero(gStandardizedCommandFormat); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005422 8184 BSF 0x84,0x0,0x1 +005420 0101 MOVLB 0x1 bitclrzero(gStandardizedCommandFormat); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005422 91be BCF 0xbe,0x0,0x1 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005424 d002 BRA 0x542a else C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005424 d010 BRA 0x5446 else if (1 == paramater_value) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005426 0e01 MOVLW 0x1 +005428 6e47 MOVWF 0x47,0x0 +00542a 6a48 CLRF 0x48,0x0 +00542c 0e01 MOVLW 0x1 +00542e 50db MOVF 0xdb,0x0,0x0 +005430 1847 XORWF 0x47,0x0,0x0 +005432 e103 BNZ 0x543a +005434 0e02 MOVLW 0x2 +005436 50db MOVF 0xdb,0x0,0x0 +005438 1848 XORWF 0x48,0x0,0x0 +00543a e103 BNZ 0x5442 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005426 0100 MOVLB 0x0 bitset(error_byte, kERROR_BYTE_PARAMETER_OUTSIDE_LIMIT); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005428 8d97 BSF 0x97,0x6,0x1 +00543c 0101 MOVLB 0x1 bitsetzero(gStandardizedCommandFormat); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +00543e 81be BSF 0xbe,0x0,0x1 + } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005440 d002 BRA 0x5446 else C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005442 0100 MOVLB 0x0 bitset(error_byte, kERROR_BYTE_PARAMETER_OUTSIDE_LIMIT); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005444 8d97 BSF 0x97,0x6,0x1 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // CU,50,1 or CU,50,0 to turn on/off automatic motor enable C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00542a d1a7 BRA 0x577a else if (50u == parameter_number) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00542c 0e32 MOVLW 0x32 -00542e 6e33 MOVWF 0x33,0x0 -005430 50df MOVF 0xdf,0x0,0x0 -005432 5c33 SUBWF 0x33,0x0,0x0 -005434 e10f BNZ 0x5454 +005446 d1a7 BRA 0x5796 else if (50u == parameter_number) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005448 0e32 MOVLW 0x32 +00544a 6e47 MOVWF 0x47,0x0 +00544c 50df MOVF 0xdf,0x0,0x0 +00544e 5c47 SUBWF 0x47,0x0,0x0 +005450 e10f BNZ 0x5470 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005436 50d9 MOVF 0xd9,0x0,0x0 if (0 == paramater_value) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005438 0f01 ADDLW 0x1 -00543a 6ee9 MOVWF 0xe9,0x0 -00543c cfda MOVFF 0xfda,0xfea -00543e ffea -005440 50ee MOVF 0xee,0x0,0x0 -005442 10ed IORWF 0xed,0x0,0x0 -005444 e103 BNZ 0x544c +005452 50d9 MOVF 0xd9,0x0,0x0 if (0 == paramater_value) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005454 0f01 ADDLW 0x1 +005456 6ee9 MOVWF 0xe9,0x0 +005458 cfda MOVFF 0xfda,0xfea +00545a ffea +00545c 50ee MOVF 0xee,0x0,0x0 +00545e 10ed IORWF 0xed,0x0,0x0 +005460 e103 BNZ 0x5468 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005446 0100 MOVLB 0x0 gAutomaticMotorEnable = FALSE; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005448 6bd9 CLRF 0xd9,0x1 +005462 0100 MOVLB 0x0 gAutomaticMotorEnable = FALSE; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005464 6bd9 CLRF 0xd9,0x1 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00544a d003 BRA 0x5452 else C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005466 d003 BRA 0x546e else C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00544c 0100 MOVLB 0x0 gAutomaticMotorEnable = TRUE; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00544e 0e01 MOVLW 0x1 -005450 6fd9 MOVWF 0xd9,0x1 +005468 0100 MOVLB 0x0 gAutomaticMotorEnable = TRUE; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +00546a 0e01 MOVLW 0x1 +00546c 6fd9 MOVWF 0xd9,0x1 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // CU,51, C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005452 d193 BRA 0x577a else if (51u == parameter_number) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005454 0e33 MOVLW 0x33 -005456 6e33 MOVWF 0x33,0x0 -005458 50df MOVF 0xdf,0x0,0x0 -00545a 5c33 SUBWF 0x33,0x0,0x0 -00545c e111 BNZ 0x5480 +00546e d193 BRA 0x5796 else if (51u == parameter_number) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005470 0e33 MOVLW 0x33 +005472 6e47 MOVWF 0x47,0x0 +005474 50df MOVF 0xdf,0x0,0x0 +005476 5c47 SUBWF 0x47,0x0,0x0 +005478 e111 BNZ 0x549c { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00545e 0eff MOVLW 0xff gLimitSwitchMask = (paramater_value & 0xFF); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005460 6ee7 MOVWF 0xe7,0x0 -005462 0e01 MOVLW 0x1 -005464 cfdb MOVFF 0xfdb,0x33 -005466 f033 -005468 0e02 MOVLW 0x2 -00546a cfdb MOVFF 0xfdb,0x34 -00546c f034 -00546e 50e7 MOVF 0xe7,0x0,0x0 -005470 1633 ANDWF 0x33,0x1,0x0 -005472 6a34 CLRF 0x34,0x0 -005474 5033 MOVF 0x33,0x0,0x0 -005476 6e0c MOVWF 0xc,0x0 -005478 500c MOVF 0xc,0x0,0x0 if (gLimitSwitchMask == 0u) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00547a e101 BNZ 0x547e +00547a 0eff MOVLW 0xff gLimitSwitchMask = (paramater_value & 0xFF); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +00547c 6ee7 MOVWF 0xe7,0x0 +00547e 0e01 MOVLW 0x1 +005480 cfdb MOVFF 0xfdb,0x47 +005482 f047 +005484 0e02 MOVLW 0x2 +005486 cfdb MOVFF 0xfdb,0x48 +005488 f048 +00548a 50e7 MOVF 0xe7,0x0,0x0 +00548c 1647 ANDWF 0x47,0x1,0x0 +00548e 6a48 CLRF 0x48,0x0 +005490 5047 MOVF 0x47,0x0,0x0 +005492 6e0c MOVWF 0xc,0x0 +005494 500c MOVF 0xc,0x0,0x0 if (gLimitSwitchMask == 0u) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005496 e101 BNZ 0x549a { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00547c 900e BCF 0xe,0x0,0x0 bitclrzero(gLimitSwitchTriggered); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005498 900e BCF 0xe,0x0,0x0 bitclrzero(gLimitSwitchTriggered); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // CU,52, C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00547e d17d BRA 0x577a else if (52u == parameter_number) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005480 0e34 MOVLW 0x34 -005482 6e33 MOVWF 0x33,0x0 -005484 50df MOVF 0xdf,0x0,0x0 -005486 5c33 SUBWF 0x33,0x0,0x0 -005488 e10e BNZ 0x54a6 +00549a d17d BRA 0x5796 else if (52u == parameter_number) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +00549c 0e34 MOVLW 0x34 +00549e 6e47 MOVWF 0x47,0x0 +0054a0 50df MOVF 0xdf,0x0,0x0 +0054a2 5c47 SUBWF 0x47,0x0,0x0 +0054a4 e10e BNZ 0x54c2 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00548a 0eff MOVLW 0xff gLimitSwitchTarget = (paramater_value & 0xFF); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00548c 6ee7 MOVWF 0xe7,0x0 -00548e 0e01 MOVLW 0x1 -005490 cfdb MOVFF 0xfdb,0x33 -005492 f033 -005494 0e02 MOVLW 0x2 -005496 cfdb MOVFF 0xfdb,0x34 -005498 f034 -00549a 50e7 MOVF 0xe7,0x0,0x0 -00549c 1633 ANDWF 0x33,0x1,0x0 -00549e 6a34 CLRF 0x34,0x0 -0054a0 5033 MOVF 0x33,0x0,0x0 -0054a2 6e0d MOVWF 0xd,0x0 +0054a6 0eff MOVLW 0xff gLimitSwitchTarget = (paramater_value & 0xFF); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0054a8 6ee7 MOVWF 0xe7,0x0 +0054aa 0e01 MOVLW 0x1 +0054ac cfdb MOVFF 0xfdb,0x47 +0054ae f047 +0054b0 0e02 MOVLW 0x2 +0054b2 cfdb MOVFF 0xfdb,0x48 +0054b4 f048 +0054b6 50e7 MOVF 0xe7,0x0,0x0 +0054b8 1647 ANDWF 0x47,0x1,0x0 +0054ba 6a48 CLRF 0x48,0x0 +0054bc 5047 MOVF 0x47,0x0,0x0 +0054be 6e0d MOVWF 0xd,0x0 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // CU,53,1 turns on the sending of "Limit switch trigger" replies C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0054a4 d16a BRA 0x577a else if (53u == parameter_number) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0054a6 0e35 MOVLW 0x35 -0054a8 6e33 MOVWF 0x33,0x0 -0054aa 50df MOVF 0xdf,0x0,0x0 -0054ac 5c33 SUBWF 0x33,0x0,0x0 -0054ae e114 BNZ 0x54d8 +0054c0 d16a BRA 0x5796 else if (53u == parameter_number) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0054c2 0e35 MOVLW 0x35 +0054c4 6e47 MOVWF 0x47,0x0 +0054c6 50df MOVF 0xdf,0x0,0x0 +0054c8 5c47 SUBWF 0x47,0x0,0x0 +0054ca e114 BNZ 0x54f4 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0054b0 0e01 MOVLW 0x1 if (1 == paramater_value) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0054b2 6e33 MOVWF 0x33,0x0 -0054b4 6a34 CLRF 0x34,0x0 -0054b6 0e01 MOVLW 0x1 -0054b8 50db MOVF 0xdb,0x0,0x0 -0054ba 1833 XORWF 0x33,0x0,0x0 -0054bc e103 BNZ 0x54c4 -0054be 0e02 MOVLW 0x2 -0054c0 50db MOVF 0xdb,0x0,0x0 -0054c2 1834 XORWF 0x34,0x0,0x0 -0054c4 e104 BNZ 0x54ce +0054cc 0e01 MOVLW 0x1 if (1 == paramater_value) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0054ce 6e47 MOVWF 0x47,0x0 +0054d0 6a48 CLRF 0x48,0x0 +0054d2 0e01 MOVLW 0x1 +0054d4 50db MOVF 0xdb,0x0,0x0 +0054d6 1847 XORWF 0x47,0x0,0x0 +0054d8 e103 BNZ 0x54e0 +0054da 0e02 MOVLW 0x2 +0054dc 50db MOVF 0xdb,0x0,0x0 +0054de 1848 XORWF 0x48,0x0,0x0 +0054e0 e104 BNZ 0x54ea { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0054c6 0100 MOVLB 0x0 gLimitSwitchReplies = TRUE; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0054c8 0e01 MOVLW 0x1 -0054ca 6fdd MOVWF 0xdd,0x1 +0054e2 0100 MOVLB 0x0 gLimitSwitchReplies = TRUE; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0054e4 0e01 MOVLW 0x1 +0054e6 6fdd MOVWF 0xdd,0x1 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0054cc d004 BRA 0x54d6 else C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0054e8 d004 BRA 0x54f2 else C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0054ce 0100 MOVLB 0x0 gLimitSwitchReplies = FALSE; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0054d0 6bdd CLRF 0xdd,0x1 -0054d2 0100 MOVLB 0x0 gLimitSwitchReplyPrinted = FALSE; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0054d4 6bde CLRF 0xde,0x1 +0054ea 0100 MOVLB 0x0 gLimitSwitchReplies = FALSE; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0054ec 6bdd CLRF 0xdd,0x1 +0054ee 0100 MOVLB 0x0 gLimitSwitchReplyPrinted = FALSE; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0054f0 6bde CLRF 0xde,0x1 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // CU,54,1 turns on command checksums C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0054d6 d151 BRA 0x577a else if (54u == parameter_number) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0054d8 0e36 MOVLW 0x36 -0054da 6e33 MOVWF 0x33,0x0 -0054dc 50df MOVF 0xdf,0x0,0x0 -0054de 5c33 SUBWF 0x33,0x0,0x0 -0054e0 e112 BNZ 0x5506 +0054f2 d151 BRA 0x5796 else if (54u == parameter_number) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0054f4 0e36 MOVLW 0x36 +0054f6 6e47 MOVWF 0x47,0x0 +0054f8 50df MOVF 0xdf,0x0,0x0 +0054fa 5c47 SUBWF 0x47,0x0,0x0 +0054fc e112 BNZ 0x5522 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0054e2 0e01 MOVLW 0x1 if (1 == paramater_value) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0054e4 6e33 MOVWF 0x33,0x0 -0054e6 6a34 CLRF 0x34,0x0 -0054e8 0e01 MOVLW 0x1 -0054ea 50db MOVF 0xdb,0x0,0x0 -0054ec 1833 XORWF 0x33,0x0,0x0 -0054ee e103 BNZ 0x54f6 -0054f0 0e02 MOVLW 0x2 -0054f2 50db MOVF 0xdb,0x0,0x0 -0054f4 1834 XORWF 0x34,0x0,0x0 -0054f6 e104 BNZ 0x5500 +0054fe 0e01 MOVLW 0x1 if (1 == paramater_value) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005500 6e47 MOVWF 0x47,0x0 +005502 6a48 CLRF 0x48,0x0 +005504 0e01 MOVLW 0x1 +005506 50db MOVF 0xdb,0x0,0x0 +005508 1847 XORWF 0x47,0x0,0x0 +00550a e103 BNZ 0x5512 +00550c 0e02 MOVLW 0x2 +00550e 50db MOVF 0xdb,0x0,0x0 +005510 1848 XORWF 0x48,0x0,0x0 +005512 e104 BNZ 0x551c { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0054f8 0100 MOVLB 0x0 gCommandChecksumRequired = TRUE; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0054fa 0e01 MOVLW 0x1 -0054fc 6fdf MOVWF 0xdf,0x1 +005514 0100 MOVLB 0x0 gCommandChecksumRequired = TRUE; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005516 0e01 MOVLW 0x1 +005518 6fdf MOVWF 0xdf,0x1 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0054fe d002 BRA 0x5504 else C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +00551a d002 BRA 0x5520 else C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005500 0100 MOVLB 0x0 gCommandChecksumRequired = FALSE; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005502 6bdf CLRF 0xdf,0x1 +00551c 0100 MOVLB 0x0 gCommandChecksumRequired = FALSE; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +00551e 6bdf CLRF 0xdf,0x1 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // CU,60, C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005504 d13a BRA 0x577a else if (60u == parameter_number) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005506 0e3c MOVLW 0x3c -005508 6e33 MOVWF 0x33,0x0 -00550a 50df MOVF 0xdf,0x0,0x0 -00550c 5c33 SUBWF 0x33,0x0,0x0 -00550e e10d BNZ 0x552a +005520 d13a BRA 0x5796 else if (60u == parameter_number) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005522 0e3c MOVLW 0x3c +005524 6e47 MOVWF 0x47,0x0 +005526 50df MOVF 0xdf,0x0,0x0 +005528 5c47 SUBWF 0x47,0x0,0x0 +00552a e10d BNZ 0x5546 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005510 0e01 MOVLW 0x1 g_PowerMonitorThresholdADC = (paramater_value & 0x03FF); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005512 cfdb MOVFF 0xfdb,0xa5 -005514 f0a5 -005516 0e02 MOVLW 0x2 -005518 cfdb MOVFF 0xfdb,0xa6 -00551a f0a6 -00551c 0eff MOVLW 0xff -00551e 0100 MOVLB 0x0 -005520 17a5 ANDWF 0xa5,0x1,0x1 -005522 0e03 MOVLW 0x3 -005524 0100 MOVLB 0x0 -005526 17a6 ANDWF 0xa6,0x1,0x1 +00552c 0e01 MOVLW 0x1 g_PowerMonitorThresholdADC = (paramater_value & 0x03FF); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +00552e cfdb MOVFF 0xfdb,0xa5 +005530 f0a5 +005532 0e02 MOVLW 0x2 +005534 cfdb MOVFF 0xfdb,0xa6 +005536 f0a6 +005538 0eff MOVLW 0xff +00553a 0100 MOVLB 0x0 +00553c 17a5 ANDWF 0xa5,0x1,0x1 +00553e 0e03 MOVLW 0x3 +005540 0100 MOVLB 0x0 +005542 17a6 ANDWF 0xa6,0x1,0x1 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // CU,61, C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005528 d128 BRA 0x577a else if (61u == parameter_number) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00552a 0e3d MOVLW 0x3d -00552c 6e33 MOVWF 0x33,0x0 -00552e 50df MOVF 0xdf,0x0,0x0 -005530 5c33 SUBWF 0x33,0x0,0x0 -005532 e137 BNZ 0x55a2 +005544 d128 BRA 0x5796 else if (61u == parameter_number) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005546 0e3d MOVLW 0x3d +005548 6e47 MOVWF 0x47,0x0 +00554a 50df MOVF 0xdf,0x0,0x0 +00554c 5c47 SUBWF 0x47,0x0,0x0 +00554e e137 BNZ 0x55be { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005534 9ef2 BCF 0xf2,0x7,0x0 INTCONbits.GIEH = 0; // Turn high priority interrupts off C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005536 9cf2 BCF 0xf2,0x6,0x0 INTCONbits.GIEL = 0; // Turn low priority interrupts off C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005550 9ef2 BCF 0xf2,0x7,0x0 INTCONbits.GIEH = 0; // Turn high priority interrupts off C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005552 9cf2 BCF 0xf2,0x6,0x0 INTCONbits.GIEL = 0; // Turn low priority interrupts off C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005538 0e01 MOVLW 0x1 g_StepperDisableTimeoutS = paramater_value; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00553a cfdb MOVFF 0xfdb,0xa9 -00553c f0a9 -00553e 0e02 MOVLW 0x2 -005540 cfdb MOVFF 0xfdb,0xaa -005542 f0aa +005554 0e01 MOVLW 0x1 g_StepperDisableTimeoutS = paramater_value; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005556 cfdb MOVFF 0xfdb,0xa9 +005558 f0a9 +00555a 0e02 MOVLW 0x2 +00555c cfdb MOVFF 0xfdb,0xaa +00555e f0aa C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005544 0100 MOVLB 0x0 if (g_StepperDisableTimeoutS == 0u) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005546 51a9 MOVF 0xa9,0x0,0x1 -005548 11aa IORWF 0xaa,0x0,0x1 -00554a e109 BNZ 0x555e +005560 0100 MOVLB 0x0 if (g_StepperDisableTimeoutS == 0u) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005562 51a9 MOVF 0xa9,0x0,0x1 +005564 11aa IORWF 0xaa,0x0,0x1 +005566 e109 BNZ 0x557a { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // Turn feature completely off no matter what state we're in C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00554c 0100 MOVLB 0x0 g_StepperDisableState = kSTEPPER_TIMEOUT_DISABLED; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00554e 6ba8 CLRF 0xa8,0x1 -005550 0100 MOVLB 0x0 g_StepperDisableSecondCounter = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005552 6bab CLRF 0xab,0x1 -005554 6bac CLRF 0xac,0x1 -005556 0100 MOVLB 0x0 g_StepperDisableCountdownS = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005558 6bad CLRF 0xad,0x1 -00555a 6bae CLRF 0xae,0x1 +005568 0100 MOVLB 0x0 g_StepperDisableState = kSTEPPER_TIMEOUT_DISABLED; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +00556a 6ba8 CLRF 0xa8,0x1 +00556c 0100 MOVLB 0x0 g_StepperDisableSecondCounter = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +00556e 6bab CLRF 0xab,0x1 +005570 6bac CLRF 0xac,0x1 +005572 0100 MOVLB 0x0 g_StepperDisableCountdownS = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005574 6bad CLRF 0xad,0x1 +005576 6bae CLRF 0xae,0x1 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00555c d01f BRA 0x559c else C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005578 d01f BRA 0x55b8 else C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // User wants feature enabled with new timeout. Do different things C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // based on current state. C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00555e 0100 MOVLB 0x0 switch (g_StepperDisableState) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005560 51a8 MOVF 0xa8,0x0,0x1 -005562 0a03 XORLW 0x3 -005564 e014 BZ 0x558e -005566 0a02 XORLW 0x2 -005568 e00f BZ 0x5588 -00556a 0a01 XORLW 0x1 -00556c e00d BZ 0x5588 -00556e 0a02 XORLW 0x2 -005570 e001 BZ 0x5574 -005572 d00a BRA 0x5588 +00557a 0100 MOVLB 0x0 switch (g_StepperDisableState) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +00557c 51a8 MOVF 0xa8,0x0,0x1 +00557e 0a03 XORLW 0x3 +005580 e014 BZ 0x55aa +005582 0a02 XORLW 0x2 +005584 e00f BZ 0x55a4 +005586 0a01 XORLW 0x1 +005588 e00d BZ 0x55a4 +00558a 0a02 XORLW 0x2 +00558c e001 BZ 0x5590 +00558e d00a BRA 0x55a4 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c case kSTEPPER_TIMEOUT_TIMING: C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // Always start over with new timeout value C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005574 c0a9 MOVFF 0xa9,0xad g_StepperDisableCountdownS = g_StepperDisableTimeoutS; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005576 f0ad -005578 c0aa MOVFF 0xaa,0xae -00557a f0ae -00557c 0100 MOVLB 0x0 g_StepperDisableSecondCounter = 1000u; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00557e 0ee8 MOVLW 0xe8 -005580 6fab MOVWF 0xab,0x1 -005582 0e03 MOVLW 0x3 -005584 6fac MOVWF 0xac,0x1 -005586 d00a BRA 0x559c break; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005590 c0a9 MOVFF 0xa9,0xad g_StepperDisableCountdownS = g_StepperDisableTimeoutS; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005592 f0ad +005594 c0aa MOVFF 0xaa,0xae +005596 f0ae +005598 0100 MOVLB 0x0 g_StepperDisableSecondCounter = 1000u; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +00559a 0ee8 MOVLW 0xe8 +00559c 6fab MOVWF 0xab,0x1 +00559e 0e03 MOVLW 0x3 +0055a0 6fac MOVWF 0xac,0x1 +0055a2 d00a BRA 0x55b8 break; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c default: C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c case kSTEPPER_TIMEOUT_PRIMED: C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c case kSTEPPER_TIMEOUT_DISABLED: C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005588 0100 MOVLB 0x0 g_StepperDisableState = kSTEPPER_TIMEOUT_PRIMED; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00558a 0e01 MOVLW 0x1 -00558c 6fa8 MOVWF 0xa8,0x1 +0055a4 0100 MOVLB 0x0 g_StepperDisableState = kSTEPPER_TIMEOUT_PRIMED; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0055a6 0e01 MOVLW 0x1 +0055a8 6fa8 MOVWF 0xa8,0x1 // Note intentional fall-through C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c case kSTEPPER_TIMEOUT_FIRED: C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00558e 0100 MOVLB 0x0 g_StepperDisableSecondCounter = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005590 6bab CLRF 0xab,0x1 -005592 6bac CLRF 0xac,0x1 -005594 0100 MOVLB 0x0 g_StepperDisableCountdownS = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005596 6bad CLRF 0xad,0x1 -005598 6bae CLRF 0xae,0x1 -00559a d000 BRA 0x559c break; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0055aa 0100 MOVLB 0x0 g_StepperDisableSecondCounter = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0055ac 6bab CLRF 0xab,0x1 +0055ae 6bac CLRF 0xac,0x1 +0055b0 0100 MOVLB 0x0 g_StepperDisableCountdownS = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0055b2 6bad CLRF 0xad,0x1 +0055b4 6bae CLRF 0xae,0x1 +0055b6 d000 BRA 0x55b8 break; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00559c 8cf2 BSF 0xf2,0x6,0x0 INTCONbits.GIEL = 1; // Turn low priority interrupts on C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00559e 8ef2 BSF 0xf2,0x7,0x0 INTCONbits.GIEH = 1; // Turn high priority interrupts on C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0055b8 8cf2 BSF 0xf2,0x6,0x0 INTCONbits.GIEL = 1; // Turn low priority interrupts on C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0055ba 8ef2 BSF 0xf2,0x7,0x0 INTCONbits.GIEH = 1; // Turn high priority interrupts on C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // CU,250,1 or CU,250,0 to turn on/off GPIO ISR timing debug C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0055a0 d0ec BRA 0x577a else if (250u == parameter_number) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0055a2 0efa MOVLW 0xfa -0055a4 6e33 MOVWF 0x33,0x0 -0055a6 50df MOVF 0xdf,0x0,0x0 -0055a8 5c33 SUBWF 0x33,0x0,0x0 -0055aa e11f BNZ 0x55ea +0055bc d0ec BRA 0x5796 else if (250u == parameter_number) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0055be 0efa MOVLW 0xfa +0055c0 6e47 MOVWF 0x47,0x0 +0055c2 50df MOVF 0xdf,0x0,0x0 +0055c4 5c47 SUBWF 0x47,0x0,0x0 +0055c6 e11f BNZ 0x5606 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0055ac 50d9 MOVF 0xd9,0x0,0x0 if (0 == paramater_value) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0055ae 0f01 ADDLW 0x1 -0055b0 6ee9 MOVWF 0xe9,0x0 -0055b2 cfda MOVFF 0xfda,0xfea -0055b4 ffea -0055b6 50ee MOVF 0xee,0x0,0x0 -0055b8 10ed IORWF 0xed,0x0,0x0 -0055ba e102 BNZ 0x55c0 +0055c8 50d9 MOVF 0xd9,0x0,0x0 if (0 == paramater_value) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0055ca 0f01 ADDLW 0x1 +0055cc 6ee9 MOVWF 0xe9,0x0 +0055ce cfda MOVFF 0xfda,0xfea +0055d0 ffea +0055d2 50ee MOVF 0xee,0x0,0x0 +0055d4 10ed IORWF 0xed,0x0,0x0 +0055d6 e102 BNZ 0x55dc { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0055bc 9209 BCF 0x9,0x1,0x0 bitclr(TestMode, TEST_MODE_GPIO_BIT_NUM); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0055d8 9209 BCF 0x9,0x1,0x0 bitclr(TestMode, TEST_MODE_GPIO_BIT_NUM); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0055be d014 BRA 0x55e8 else if (1 == paramater_value) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0055c0 0e01 MOVLW 0x1 -0055c2 6e33 MOVWF 0x33,0x0 -0055c4 6a34 CLRF 0x34,0x0 -0055c6 0e01 MOVLW 0x1 -0055c8 50db MOVF 0xdb,0x0,0x0 -0055ca 1833 XORWF 0x33,0x0,0x0 -0055cc e103 BNZ 0x55d4 -0055ce 0e02 MOVLW 0x2 -0055d0 50db MOVF 0xdb,0x0,0x0 -0055d2 1834 XORWF 0x34,0x0,0x0 -0055d4 e107 BNZ 0x55e4 +0055da d014 BRA 0x5604 else if (1 == paramater_value) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0055dc 0e01 MOVLW 0x1 +0055de 6e47 MOVWF 0x47,0x0 +0055e0 6a48 CLRF 0x48,0x0 +0055e2 0e01 MOVLW 0x1 +0055e4 50db MOVF 0xdb,0x0,0x0 +0055e6 1847 XORWF 0x47,0x0,0x0 +0055e8 e103 BNZ 0x55f0 +0055ea 0e02 MOVLW 0x2 +0055ec 50db MOVF 0xdb,0x0,0x0 +0055ee 1848 XORWF 0x48,0x0,0x0 +0055f0 e107 BNZ 0x5600 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0055d6 8209 BSF 0x9,0x1,0x0 bitset(TestMode, TEST_MODE_GPIO_BIT_NUM); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0055d8 9295 BCF 0x95,0x1,0x0 TRISDbits.TRISD1 = 0; // D1 high when in ISR C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0055da 9095 BCF 0x95,0x0,0x0 TRISDbits.TRISD0 = 0; // D0 high when loading next command C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0055dc 9292 BCF 0x92,0x1,0x0 TRISAbits.TRISA1 = 0; // A1 when FIFO empty C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0055de 9094 BCF 0x94,0x0,0x0 TRISCbits.TRISC0 = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0055e0 9a92 BCF 0x92,0x5,0x0 TRISAbits.TRISA5 = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0055f2 8209 BSF 0x9,0x1,0x0 bitset(TestMode, TEST_MODE_GPIO_BIT_NUM); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0055f4 9295 BCF 0x95,0x1,0x0 TRISDbits.TRISD1 = 0; // D1 high when in ISR C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0055f6 9095 BCF 0x95,0x0,0x0 TRISDbits.TRISD0 = 0; // D0 high when loading next command C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0055f8 9292 BCF 0x92,0x1,0x0 TRISAbits.TRISA1 = 0; // A1 when FIFO empty C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0055fa 9094 BCF 0x94,0x0,0x0 TRISCbits.TRISC0 = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0055fc 9a92 BCF 0x92,0x5,0x0 TRISAbits.TRISA5 = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0055e2 d002 BRA 0x55e8 else C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0055fe d002 BRA 0x5604 else C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0055e4 0100 MOVLB 0x0 bitset(error_byte, kERROR_BYTE_PARAMETER_OUTSIDE_LIMIT); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0055e6 8d97 BSF 0x97,0x6,0x1 +005600 0100 MOVLB 0x0 bitset(error_byte, kERROR_BYTE_PARAMETER_OUTSIDE_LIMIT); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005602 8d97 BSF 0x97,0x6,0x1 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // CU,251,1 or CU,251,0 to turn on/off ISR end of move values printing (On RC6) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0055e8 d0c8 BRA 0x577a else if (251u == parameter_number) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0055ea 0efb MOVLW 0xfb -0055ec 6e33 MOVWF 0x33,0x0 -0055ee 50df MOVF 0xdf,0x0,0x0 -0055f0 5c33 SUBWF 0x33,0x0,0x0 -0055f2 e126 BNZ 0x5640 +005604 d0c8 BRA 0x5796 else if (251u == parameter_number) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005606 0efb MOVLW 0xfb +005608 6e47 MOVWF 0x47,0x0 +00560a 50df MOVF 0xdf,0x0,0x0 +00560c 5c47 SUBWF 0x47,0x0,0x0 +00560e e126 BNZ 0x565c { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0055f4 50d9 MOVF 0xd9,0x0,0x0 if (0 == paramater_value) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0055f6 0f01 ADDLW 0x1 -0055f8 6ee9 MOVWF 0xe9,0x0 -0055fa cfda MOVFF 0xfda,0xfea -0055fc ffea -0055fe 50ee MOVF 0xee,0x0,0x0 -005600 10ed IORWF 0xed,0x0,0x0 -005602 e103 BNZ 0x560a +005610 50d9 MOVF 0xd9,0x0,0x0 if (0 == paramater_value) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005612 0f01 ADDLW 0x1 +005614 6ee9 MOVWF 0xe9,0x0 +005616 cfda MOVFF 0xfda,0xfea +005618 ffea +00561a 50ee MOVF 0xee,0x0,0x0 +00561c 10ed IORWF 0xed,0x0,0x0 +00561e e103 BNZ 0x5626 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005604 9609 BCF 0x9,0x3,0x0 bitclr(TestMode, TEST_MODE_USART_ISR_FULL_BIT_NUM); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005606 9409 BCF 0x9,0x2,0x0 bitclr(TestMode, TEST_MODE_USART_ISR_BIT_NUM); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005620 9609 BCF 0x9,0x3,0x0 bitclr(TestMode, TEST_MODE_USART_ISR_FULL_BIT_NUM); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005622 9409 BCF 0x9,0x2,0x0 bitclr(TestMode, TEST_MODE_USART_ISR_BIT_NUM); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005608 d01a BRA 0x563e else if (1 == paramater_value) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00560a 0e01 MOVLW 0x1 -00560c 6e33 MOVWF 0x33,0x0 -00560e 6a34 CLRF 0x34,0x0 -005610 0e01 MOVLW 0x1 -005612 50db MOVF 0xdb,0x0,0x0 -005614 1833 XORWF 0x33,0x0,0x0 -005616 e103 BNZ 0x561e -005618 0e02 MOVLW 0x2 -00561a 50db MOVF 0xdb,0x0,0x0 -00561c 1834 XORWF 0x34,0x0,0x0 -00561e e10d BNZ 0x563a +005624 d01a BRA 0x565a else if (1 == paramater_value) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005626 0e01 MOVLW 0x1 +005628 6e47 MOVWF 0x47,0x0 +00562a 6a48 CLRF 0x48,0x0 +00562c 0e01 MOVLW 0x1 +00562e 50db MOVF 0xdb,0x0,0x0 +005630 1847 XORWF 0x47,0x0,0x0 +005632 e103 BNZ 0x563a +005634 0e02 MOVLW 0x2 +005636 50db MOVF 0xdb,0x0,0x0 +005638 1848 XORWF 0x48,0x0,0x0 +00563a e10d BNZ 0x5656 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005620 8409 BSF 0x9,0x2,0x0 bitset(TestMode, TEST_MODE_USART_ISR_BIT_NUM); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005622 9609 BCF 0x9,0x3,0x0 bitclr(TestMode, TEST_MODE_USART_ISR_FULL_BIT_NUM); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +00563c 8409 BSF 0x9,0x2,0x0 bitset(TestMode, TEST_MODE_USART_ISR_BIT_NUM); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +00563e 9609 BCF 0x9,0x3,0x0 bitclr(TestMode, TEST_MODE_USART_ISR_FULL_BIT_NUM); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c Open1USART( C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c USART_TX_INT_OFF & C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c USART_RX_INT_OFF & C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c @@ -20821,58 +20851,58 @@ Address Value Disassembly Source USART_EIGHT_BIT & C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c USART_CONT_RX & C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c USART_BRGH_HIGH & C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00562a 0e1c MOVLW 0x1c USART_ADDEN_OFF, C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00562c 6ee6 MOVWF 0xe6,0x0 -005624 0e02 MOVLW 0x2 2 // At 48 MHz, this creates 1 Mbaud output C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005626 6ee6 MOVWF 0xe6,0x0 ); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005628 6ae6 CLRF 0xe6,0x0 -00562e ec2d CALL 0x8e5a,0x0 -005630 f047 -005632 52e5 MOVF 0xe5,0x1,0x0 -005634 52e5 MOVF 0xe5,0x1,0x0 -005636 52e5 MOVF 0xe5,0x1,0x0 +005646 0e1c MOVLW 0x1c USART_ADDEN_OFF, C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005648 6ee6 MOVWF 0xe6,0x0 +005640 0e02 MOVLW 0x2 2 // At 48 MHz, this creates 1 Mbaud output C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005642 6ee6 MOVWF 0xe6,0x0 ); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005644 6ae6 CLRF 0xe6,0x0 +00564a ec3b CALL 0x8e76,0x0 +00564c f047 +00564e 52e5 MOVF 0xe5,0x1,0x0 +005650 52e5 MOVF 0xe5,0x1,0x0 +005652 52e5 MOVF 0xe5,0x1,0x0 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005638 d002 BRA 0x563e else C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005654 d002 BRA 0x565a else C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00563a 0100 MOVLB 0x0 bitset(error_byte, kERROR_BYTE_PARAMETER_OUTSIDE_LIMIT); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00563c 8d97 BSF 0x97,0x6,0x1 +005656 0100 MOVLB 0x0 bitset(error_byte, kERROR_BYTE_PARAMETER_OUTSIDE_LIMIT); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005658 8d97 BSF 0x97,0x6,0x1 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // CU,252,1 or CU,252,0 to turn on/off every ISR tick values printing (on RC6) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00563e d09d BRA 0x577a else if (252u == parameter_number) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005640 0efc MOVLW 0xfc -005642 6e33 MOVWF 0x33,0x0 -005644 50df MOVF 0xdf,0x0,0x0 -005646 5c33 SUBWF 0x33,0x0,0x0 -005648 e126 BNZ 0x5696 +00565a d09d BRA 0x5796 else if (252u == parameter_number) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +00565c 0efc MOVLW 0xfc +00565e 6e47 MOVWF 0x47,0x0 +005660 50df MOVF 0xdf,0x0,0x0 +005662 5c47 SUBWF 0x47,0x0,0x0 +005664 e126 BNZ 0x56b2 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00564a 50d9 MOVF 0xd9,0x0,0x0 if (0 == paramater_value) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00564c 0f01 ADDLW 0x1 -00564e 6ee9 MOVWF 0xe9,0x0 -005650 cfda MOVFF 0xfda,0xfea -005652 ffea -005654 50ee MOVF 0xee,0x0,0x0 -005656 10ed IORWF 0xed,0x0,0x0 -005658 e103 BNZ 0x5660 +005666 50d9 MOVF 0xd9,0x0,0x0 if (0 == paramater_value) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005668 0f01 ADDLW 0x1 +00566a 6ee9 MOVWF 0xe9,0x0 +00566c cfda MOVFF 0xfda,0xfea +00566e ffea +005670 50ee MOVF 0xee,0x0,0x0 +005672 10ed IORWF 0xed,0x0,0x0 +005674 e103 BNZ 0x567c { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00565a 9609 BCF 0x9,0x3,0x0 bitclr(TestMode, TEST_MODE_USART_ISR_FULL_BIT_NUM); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00565c 9409 BCF 0x9,0x2,0x0 bitclr(TestMode, TEST_MODE_USART_ISR_BIT_NUM); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005676 9609 BCF 0x9,0x3,0x0 bitclr(TestMode, TEST_MODE_USART_ISR_FULL_BIT_NUM); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005678 9409 BCF 0x9,0x2,0x0 bitclr(TestMode, TEST_MODE_USART_ISR_BIT_NUM); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00565e d01a BRA 0x5694 else if (1 == paramater_value) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005660 0e01 MOVLW 0x1 -005662 6e33 MOVWF 0x33,0x0 -005664 6a34 CLRF 0x34,0x0 -005666 0e01 MOVLW 0x1 -005668 50db MOVF 0xdb,0x0,0x0 -00566a 1833 XORWF 0x33,0x0,0x0 -00566c e103 BNZ 0x5674 -00566e 0e02 MOVLW 0x2 -005670 50db MOVF 0xdb,0x0,0x0 -005672 1834 XORWF 0x34,0x0,0x0 -005674 e10d BNZ 0x5690 +00567a d01a BRA 0x56b0 else if (1 == paramater_value) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +00567c 0e01 MOVLW 0x1 +00567e 6e47 MOVWF 0x47,0x0 +005680 6a48 CLRF 0x48,0x0 +005682 0e01 MOVLW 0x1 +005684 50db MOVF 0xdb,0x0,0x0 +005686 1847 XORWF 0x47,0x0,0x0 +005688 e103 BNZ 0x5690 +00568a 0e02 MOVLW 0x2 +00568c 50db MOVF 0xdb,0x0,0x0 +00568e 1848 XORWF 0x48,0x0,0x0 +005690 e10d BNZ 0x56ac { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005676 8609 BSF 0x9,0x3,0x0 bitset(TestMode, TEST_MODE_USART_ISR_FULL_BIT_NUM); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005678 8409 BSF 0x9,0x2,0x0 bitset(TestMode, TEST_MODE_USART_ISR_BIT_NUM); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005692 8609 BSF 0x9,0x3,0x0 bitset(TestMode, TEST_MODE_USART_ISR_FULL_BIT_NUM); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005694 8409 BSF 0x9,0x2,0x0 bitset(TestMode, TEST_MODE_USART_ISR_BIT_NUM); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c Open1USART( C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c USART_TX_INT_OFF & C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c USART_RX_INT_OFF & C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c @@ -20880,56 +20910,56 @@ Address Value Disassembly Source USART_EIGHT_BIT & C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c USART_CONT_RX & C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c USART_BRGH_HIGH & C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005680 0e1c MOVLW 0x1c USART_ADDEN_OFF, C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005682 6ee6 MOVWF 0xe6,0x0 -00567a 0e02 MOVLW 0x2 2 // At 48 MHz, this creates 1 Mbaud output C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00567c 6ee6 MOVWF 0xe6,0x0 ); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00567e 6ae6 CLRF 0xe6,0x0 -005684 ec2d CALL 0x8e5a,0x0 -005686 f047 -005688 52e5 MOVF 0xe5,0x1,0x0 -00568a 52e5 MOVF 0xe5,0x1,0x0 -00568c 52e5 MOVF 0xe5,0x1,0x0 +00569c 0e1c MOVLW 0x1c USART_ADDEN_OFF, C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +00569e 6ee6 MOVWF 0xe6,0x0 +005696 0e02 MOVLW 0x2 2 // At 48 MHz, this creates 1 Mbaud output C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005698 6ee6 MOVWF 0xe6,0x0 ); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +00569a 6ae6 CLRF 0xe6,0x0 +0056a0 ec3b CALL 0x8e76,0x0 +0056a2 f047 +0056a4 52e5 MOVF 0xe5,0x1,0x0 +0056a6 52e5 MOVF 0xe5,0x1,0x0 +0056a8 52e5 MOVF 0xe5,0x1,0x0 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00568e d002 BRA 0x5694 else C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0056aa d002 BRA 0x56b0 else C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005690 0100 MOVLB 0x0 bitset(error_byte, kERROR_BYTE_PARAMETER_OUTSIDE_LIMIT); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005692 8d97 BSF 0x97,0x6,0x1 +0056ac 0100 MOVLB 0x0 bitset(error_byte, kERROR_BYTE_PARAMETER_OUTSIDE_LIMIT); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0056ae 8d97 BSF 0x97,0x6,0x1 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // CU,253,1 or CU,253,0 to turn on/off move command extra debug printing (on RC6) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005694 d072 BRA 0x577a else if (253u == parameter_number) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005696 0efd MOVLW 0xfd -005698 6e33 MOVWF 0x33,0x0 -00569a 50df MOVF 0xdf,0x0,0x0 -00569c 5c33 SUBWF 0x33,0x0,0x0 -00569e e124 BNZ 0x56e8 +0056b0 d072 BRA 0x5796 else if (253u == parameter_number) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0056b2 0efd MOVLW 0xfd +0056b4 6e47 MOVWF 0x47,0x0 +0056b6 50df MOVF 0xdf,0x0,0x0 +0056b8 5c47 SUBWF 0x47,0x0,0x0 +0056ba e124 BNZ 0x5704 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0056a0 50d9 MOVF 0xd9,0x0,0x0 if (0 == paramater_value) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0056a2 0f01 ADDLW 0x1 -0056a4 6ee9 MOVWF 0xe9,0x0 -0056a6 cfda MOVFF 0xfda,0xfea -0056a8 ffea -0056aa 50ee MOVF 0xee,0x0,0x0 -0056ac 10ed IORWF 0xed,0x0,0x0 -0056ae e102 BNZ 0x56b4 +0056bc 50d9 MOVF 0xd9,0x0,0x0 if (0 == paramater_value) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0056be 0f01 ADDLW 0x1 +0056c0 6ee9 MOVWF 0xe9,0x0 +0056c2 cfda MOVFF 0xfda,0xfea +0056c4 ffea +0056c6 50ee MOVF 0xee,0x0,0x0 +0056c8 10ed IORWF 0xed,0x0,0x0 +0056ca e102 BNZ 0x56d0 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0056b0 9809 BCF 0x9,0x4,0x0 bitclr(TestMode, TEST_MODE_USART_COMMAND_BIT_NUM); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0056cc 9809 BCF 0x9,0x4,0x0 bitclr(TestMode, TEST_MODE_USART_COMMAND_BIT_NUM); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0056b2 d019 BRA 0x56e6 else if (1 == paramater_value) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0056b4 0e01 MOVLW 0x1 -0056b6 6e33 MOVWF 0x33,0x0 -0056b8 6a34 CLRF 0x34,0x0 -0056ba 0e01 MOVLW 0x1 -0056bc 50db MOVF 0xdb,0x0,0x0 -0056be 1833 XORWF 0x33,0x0,0x0 -0056c0 e103 BNZ 0x56c8 -0056c2 0e02 MOVLW 0x2 -0056c4 50db MOVF 0xdb,0x0,0x0 -0056c6 1834 XORWF 0x34,0x0,0x0 -0056c8 e10c BNZ 0x56e2 +0056ce d019 BRA 0x5702 else if (1 == paramater_value) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0056d0 0e01 MOVLW 0x1 +0056d2 6e47 MOVWF 0x47,0x0 +0056d4 6a48 CLRF 0x48,0x0 +0056d6 0e01 MOVLW 0x1 +0056d8 50db MOVF 0xdb,0x0,0x0 +0056da 1847 XORWF 0x47,0x0,0x0 +0056dc e103 BNZ 0x56e4 +0056de 0e02 MOVLW 0x2 +0056e0 50db MOVF 0xdb,0x0,0x0 +0056e2 1848 XORWF 0x48,0x0,0x0 +0056e4 e10c BNZ 0x56fe { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0056ca 8809 BSF 0x9,0x4,0x0 bitset(TestMode, TEST_MODE_USART_COMMAND_BIT_NUM); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0056e6 8809 BSF 0x9,0x4,0x0 bitset(TestMode, TEST_MODE_USART_COMMAND_BIT_NUM); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c Open1USART( C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c USART_TX_INT_OFF & C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c USART_RX_INT_OFF & C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c @@ -20937,95 +20967,95 @@ Address Value Disassembly Source USART_EIGHT_BIT & C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c USART_CONT_RX & C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c USART_BRGH_HIGH & C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0056d2 0e1c MOVLW 0x1c USART_ADDEN_OFF, C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0056d4 6ee6 MOVWF 0xe6,0x0 -0056cc 0e02 MOVLW 0x2 2 // At 48 MHz, this creates 1 Mbaud output C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0056ce 6ee6 MOVWF 0xe6,0x0 ); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0056d0 6ae6 CLRF 0xe6,0x0 -0056d6 ec2d CALL 0x8e5a,0x0 -0056d8 f047 -0056da 52e5 MOVF 0xe5,0x1,0x0 -0056dc 52e5 MOVF 0xe5,0x1,0x0 -0056de 52e5 MOVF 0xe5,0x1,0x0 +0056ee 0e1c MOVLW 0x1c USART_ADDEN_OFF, C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0056f0 6ee6 MOVWF 0xe6,0x0 +0056e8 0e02 MOVLW 0x2 2 // At 48 MHz, this creates 1 Mbaud output C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0056ea 6ee6 MOVWF 0xe6,0x0 ); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0056ec 6ae6 CLRF 0xe6,0x0 +0056f2 ec3b CALL 0x8e76,0x0 +0056f4 f047 +0056f6 52e5 MOVF 0xe5,0x1,0x0 +0056f8 52e5 MOVF 0xe5,0x1,0x0 +0056fa 52e5 MOVF 0xe5,0x1,0x0 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0056e0 d002 BRA 0x56e6 else C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0056fc d002 BRA 0x5702 else C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0056e2 0100 MOVLB 0x0 bitset(error_byte, kERROR_BYTE_PARAMETER_OUTSIDE_LIMIT); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0056e4 8d97 BSF 0x97,0x6,0x1 +0056fe 0100 MOVLB 0x0 bitset(error_byte, kERROR_BYTE_PARAMETER_OUTSIDE_LIMIT); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005700 8d97 BSF 0x97,0x6,0x1 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // CU,254 turns on 'lock up mode' for measuring true ISR timing by cycling C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // I/O pin on and off as fast as possible, then breaks in that I/O toggle C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // can be seen for the ISR and measured. C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0056e6 d049 BRA 0x577a else if (254u == parameter_number) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0056e8 0efe MOVLW 0xfe -0056ea 6e33 MOVWF 0x33,0x0 -0056ec 50df MOVF 0xdf,0x0,0x0 -0056ee 5c33 SUBWF 0x33,0x0,0x0 -0056f0 e11a BNZ 0x5726 +005702 d049 BRA 0x5796 else if (254u == parameter_number) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005704 0efe MOVLW 0xfe +005706 6e47 MOVWF 0x47,0x0 +005708 50df MOVF 0xdf,0x0,0x0 +00570a 5c47 SUBWF 0x47,0x0,0x0 +00570c e11a BNZ 0x5742 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0056f2 8209 BSF 0x9,0x1,0x0 bitset(TestMode, TEST_MODE_GPIO_BIT_NUM); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0056f4 9295 BCF 0x95,0x1,0x0 TRISDbits.TRISD1 = 0; // D1 high when in ISR C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0056f6 9095 BCF 0x95,0x0,0x0 TRISDbits.TRISD0 = 0; // D0 high when loading next command C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0056f8 9292 BCF 0x92,0x1,0x0 TRISAbits.TRISA1 = 0; // A1 when FIFO empty C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005722 d7eb BRA 0x56fa while(1) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +00570e 8209 BSF 0x9,0x1,0x0 bitset(TestMode, TEST_MODE_GPIO_BIT_NUM); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005710 9295 BCF 0x95,0x1,0x0 TRISDbits.TRISD1 = 0; // D1 high when in ISR C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005712 9095 BCF 0x95,0x0,0x0 TRISDbits.TRISD0 = 0; // D0 high when loading next command C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005714 9292 BCF 0x92,0x1,0x0 TRISAbits.TRISA1 = 0; // A1 when FIFO empty C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +00573e d7eb BRA 0x5716 while(1) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c _asm C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0056fa 908c BCF 0x8c,0x0,0x0 BCF 0x8c,0x0,0x0 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0056fc 808c BSF 0x8c,0x0,0x0 BSF 0x8c,0x0,0x0 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0056fe 908c BCF 0x8c,0x0,0x0 BCF 0x8c,0x0,0x0 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005700 808c BSF 0x8c,0x0,0x0 BSF 0x8c,0x0,0x0 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005702 908c BCF 0x8c,0x0,0x0 BCF 0x8c,0x0,0x0 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005704 808c BSF 0x8c,0x0,0x0 BSF 0x8c,0x0,0x0 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005706 908c BCF 0x8c,0x0,0x0 BCF 0x8c,0x0,0x0 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005708 808c BSF 0x8c,0x0,0x0 BSF 0x8c,0x0,0x0 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00570a 908c BCF 0x8c,0x0,0x0 BCF 0x8c,0x0,0x0 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00570c 808c BSF 0x8c,0x0,0x0 BSF 0x8c,0x0,0x0 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00570e 908c BCF 0x8c,0x0,0x0 BCF 0x8c,0x0,0x0 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005710 808c BSF 0x8c,0x0,0x0 BSF 0x8c,0x0,0x0 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005712 908c BCF 0x8c,0x0,0x0 BCF 0x8c,0x0,0x0 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005714 808c BSF 0x8c,0x0,0x0 BSF 0x8c,0x0,0x0 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c 005716 908c BCF 0x8c,0x0,0x0 BCF 0x8c,0x0,0x0 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c 005718 808c BSF 0x8c,0x0,0x0 BSF 0x8c,0x0,0x0 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c 00571a 908c BCF 0x8c,0x0,0x0 BCF 0x8c,0x0,0x0 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c 00571c 808c BSF 0x8c,0x0,0x0 BSF 0x8c,0x0,0x0 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c 00571e 908c BCF 0x8c,0x0,0x0 BCF 0x8c,0x0,0x0 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c 005720 808c BSF 0x8c,0x0,0x0 BSF 0x8c,0x0,0x0 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005722 908c BCF 0x8c,0x0,0x0 BCF 0x8c,0x0,0x0 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005724 808c BSF 0x8c,0x0,0x0 BSF 0x8c,0x0,0x0 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005726 908c BCF 0x8c,0x0,0x0 BCF 0x8c,0x0,0x0 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005728 808c BSF 0x8c,0x0,0x0 BSF 0x8c,0x0,0x0 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +00572a 908c BCF 0x8c,0x0,0x0 BCF 0x8c,0x0,0x0 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +00572c 808c BSF 0x8c,0x0,0x0 BSF 0x8c,0x0,0x0 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +00572e 908c BCF 0x8c,0x0,0x0 BCF 0x8c,0x0,0x0 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005730 808c BSF 0x8c,0x0,0x0 BSF 0x8c,0x0,0x0 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005732 908c BCF 0x8c,0x0,0x0 BCF 0x8c,0x0,0x0 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005734 808c BSF 0x8c,0x0,0x0 BSF 0x8c,0x0,0x0 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005736 908c BCF 0x8c,0x0,0x0 BCF 0x8c,0x0,0x0 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005738 808c BSF 0x8c,0x0,0x0 BSF 0x8c,0x0,0x0 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +00573a 908c BCF 0x8c,0x0,0x0 BCF 0x8c,0x0,0x0 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +00573c 808c BSF 0x8c,0x0,0x0 BSF 0x8c,0x0,0x0 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c _endasm C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // CU,255,1 or CU,255,0 to turn on/off command parsing debug printing on USB C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005724 d02a BRA 0x577a else if (255u == parameter_number) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005726 6833 SETF 0x33,0x0 -005728 50df MOVF 0xdf,0x0,0x0 -00572a 5c33 SUBWF 0x33,0x0,0x0 -00572c e124 BNZ 0x5776 +005740 d02a BRA 0x5796 else if (255u == parameter_number) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005742 6847 SETF 0x47,0x0 +005744 50df MOVF 0xdf,0x0,0x0 +005746 5c47 SUBWF 0x47,0x0,0x0 +005748 e124 BNZ 0x5792 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00572e 50d9 MOVF 0xd9,0x0,0x0 if (0 == paramater_value) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005730 0f01 ADDLW 0x1 -005732 6ee9 MOVWF 0xe9,0x0 -005734 cfda MOVFF 0xfda,0xfea -005736 ffea -005738 50ee MOVF 0xee,0x0,0x0 -00573a 10ed IORWF 0xed,0x0,0x0 -00573c e102 BNZ 0x5742 +00574a 50d9 MOVF 0xd9,0x0,0x0 if (0 == paramater_value) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +00574c 0f01 ADDLW 0x1 +00574e 6ee9 MOVWF 0xe9,0x0 +005750 cfda MOVFF 0xfda,0xfea +005752 ffea +005754 50ee MOVF 0xee,0x0,0x0 +005756 10ed IORWF 0xed,0x0,0x0 +005758 e102 BNZ 0x575e { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00573e 9a09 BCF 0x9,0x5,0x0 bitclr(TestMode, TEST_MODE_DEBUG_COMMAND_BIT_NUM); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +00575a 9a09 BCF 0x9,0x5,0x0 bitclr(TestMode, TEST_MODE_DEBUG_COMMAND_BIT_NUM); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005740 d019 BRA 0x5774 else if (1 == paramater_value) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005742 0e01 MOVLW 0x1 -005744 6e33 MOVWF 0x33,0x0 -005746 6a34 CLRF 0x34,0x0 -005748 0e01 MOVLW 0x1 -00574a 50db MOVF 0xdb,0x0,0x0 -00574c 1833 XORWF 0x33,0x0,0x0 -00574e e103 BNZ 0x5756 -005750 0e02 MOVLW 0x2 -005752 50db MOVF 0xdb,0x0,0x0 -005754 1834 XORWF 0x34,0x0,0x0 -005756 e10c BNZ 0x5770 +00575c d019 BRA 0x5790 else if (1 == paramater_value) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +00575e 0e01 MOVLW 0x1 +005760 6e47 MOVWF 0x47,0x0 +005762 6a48 CLRF 0x48,0x0 +005764 0e01 MOVLW 0x1 +005766 50db MOVF 0xdb,0x0,0x0 +005768 1847 XORWF 0x47,0x0,0x0 +00576a e103 BNZ 0x5772 +00576c 0e02 MOVLW 0x2 +00576e 50db MOVF 0xdb,0x0,0x0 +005770 1848 XORWF 0x48,0x0,0x0 +005772 e10c BNZ 0x578c { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005758 8a09 BSF 0x9,0x5,0x0 bitset(TestMode, TEST_MODE_DEBUG_COMMAND_BIT_NUM); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005774 8a09 BSF 0x9,0x5,0x0 bitset(TestMode, TEST_MODE_DEBUG_COMMAND_BIT_NUM); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c Open1USART( C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c USART_TX_INT_OFF & C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c USART_RX_INT_OFF & C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c @@ -21033,42 +21063,42 @@ Address Value Disassembly Source USART_EIGHT_BIT & C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c USART_CONT_RX & C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c USART_BRGH_HIGH & C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005760 0e1c MOVLW 0x1c USART_ADDEN_OFF, C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005762 6ee6 MOVWF 0xe6,0x0 -00575a 0e02 MOVLW 0x2 2 // At 48 MHz, this creates 1 Mbaud output C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00575c 6ee6 MOVWF 0xe6,0x0 ); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00575e 6ae6 CLRF 0xe6,0x0 -005764 ec2d CALL 0x8e5a,0x0 -005766 f047 -005768 52e5 MOVF 0xe5,0x1,0x0 -00576a 52e5 MOVF 0xe5,0x1,0x0 -00576c 52e5 MOVF 0xe5,0x1,0x0 +00577c 0e1c MOVLW 0x1c USART_ADDEN_OFF, C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +00577e 6ee6 MOVWF 0xe6,0x0 +005776 0e02 MOVLW 0x2 2 // At 48 MHz, this creates 1 Mbaud output C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005778 6ee6 MOVWF 0xe6,0x0 ); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +00577a 6ae6 CLRF 0xe6,0x0 +005780 ec3b CALL 0x8e76,0x0 +005782 f047 +005784 52e5 MOVF 0xe5,0x1,0x0 +005786 52e5 MOVF 0xe5,0x1,0x0 +005788 52e5 MOVF 0xe5,0x1,0x0 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00576e d002 BRA 0x5774 else C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +00578a d002 BRA 0x5790 else C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005770 0100 MOVLB 0x0 bitset(error_byte, kERROR_BYTE_PARAMETER_OUTSIDE_LIMIT); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005772 8d97 BSF 0x97,0x6,0x1 +00578c 0100 MOVLB 0x0 bitset(error_byte, kERROR_BYTE_PARAMETER_OUTSIDE_LIMIT); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +00578e 8d97 BSF 0x97,0x6,0x1 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005774 d002 BRA 0x577a else C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005790 d002 BRA 0x5796 else C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // parameter_number is not understood C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005776 0100 MOVLB 0x0 bitset(error_byte, kERROR_BYTE_PARAMETER_OUTSIDE_LIMIT); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005778 8d97 BSF 0x97,0x6,0x1 +005792 0100 MOVLB 0x0 bitset(error_byte, kERROR_BYTE_PARAMETER_OUTSIDE_LIMIT); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005794 8d97 BSF 0x97,0x6,0x1 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00577a 6ae6 CLRF 0xe6,0x0 print_line_ending(kLE_OK_NORM); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00577c dd63 RCALL 0x5244 -00577e 52e5 MOVF 0xe5,0x1,0x0 -005780 0e03 MOVLW 0x3 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005782 5ce1 SUBWF 0xe1,0x0,0x0 -005784 e202 BC 0x578a -005786 6ae1 CLRF 0xe1,0x0 -005788 52e5 MOVF 0xe5,0x1,0x0 -00578a 6ee1 MOVWF 0xe1,0x0 -00578c 52e5 MOVF 0xe5,0x1,0x0 -00578e cfe7 MOVFF 0xfe7,0xfd9 -005790 ffd9 -005792 0012 RETURN 0x0 +005796 6ae6 CLRF 0xe6,0x0 print_line_ending(kLE_OK_NORM); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005798 dd63 RCALL 0x5260 +00579a 52e5 MOVF 0xe5,0x1,0x0 +00579c 0e03 MOVLW 0x3 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +00579e 5ce1 SUBWF 0xe1,0x0,0x0 +0057a0 e202 BC 0x57a6 +0057a2 6ae1 CLRF 0xe1,0x0 +0057a4 52e5 MOVF 0xe5,0x1,0x0 +0057a6 6ee1 MOVWF 0xe1,0x0 +0057a8 52e5 MOVF 0xe5,0x1,0x0 +0057aa cfe7 MOVFF 0xfe7,0xfd9 +0057ac ffd9 +0057ae 0012 RETURN 0x0 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // QU is "Query Utility" and provides a simple mechanism for the PC reading C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // certain values from the EBB. C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c @@ -21083,187 +21113,187 @@ Address Value Disassembly Source // 5 QU,5,XXX prints out stack high water value (as 3 digit hex value) and resets it to zero C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // 60 QU,60,dddd prints out current value of g_PowerMonitorThresholdADC C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // 61 QU,61,dddddd prints out current value of g_StepperDisableTimeoutS C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005794 ec8b CALL 0x6b16,0x0 void parse_QU_packet(void) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005796 f035 +0057b0 ec99 CALL 0x6b32,0x0 void parse_QU_packet(void) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0057b2 f035 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c UINT8 parameter_number; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005798 ec9e CALL 0x6b3c,0x0 print_command(TRUE, TRUE); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00579a f035 +0057b4 ecac CALL 0x6b58,0x0 print_command(TRUE, TRUE); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0057b6 f035 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00579c 0e01 MOVLW 0x1 extract_number(kUCHAR, ¶meter_number, kREQUIRED); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00579e ecd7 CALL 0x67ae,0x0 -0057a0 f033 +0057b8 0e01 MOVLW 0x1 extract_number(kUCHAR, ¶meter_number, kREQUIRED); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0057ba ece5 CALL 0x67ca,0x0 +0057bc f033 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // Bail if we got a conversion error C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0057a2 0100 MOVLB 0x0 if (error_byte) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0057a4 5197 MOVF 0x97,0x0,0x1 -0057a6 e162 BNZ 0x586c +0057be 0100 MOVLB 0x0 if (error_byte) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0057c0 5197 MOVF 0x97,0x0,0x1 +0057c2 e162 BNZ 0x5888 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c return; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // QU,1 to read back current value of gLimitSwitchPortB C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // Returns "QU,1,XX" where XX is two digit hex value from 00 to FF C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0057a8 04df DECF 0xdf,0x0,0x0 if (1u == parameter_number) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0057aa e108 BNZ 0x57bc +0057c4 04df DECF 0xdf,0x0,0x0 if (1u == parameter_number) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0057c6 e108 BNZ 0x57d8 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0057ac ec28 CALL 0x6a50,0x0 ebb_print_uint(parameter_number); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0057ae f035 -006800 6ee6 MOVWF 0xe6,0x0 ebb_print_char(','); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -006802 ecb4 CALL 0x4b68,0x0 -006804 f025 -006806 52e5 MOVF 0xe5,0x1,0x0 -006808 0012 RETURN 0x0 -0057b0 0e02 MOVLW 0x2 ebb_print_hex(gLimitSwitchPortB, 2); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0057b2 6ee6 MOVWF 0xe6,0x0 -0057b4 c0dc MOVFF 0xdc,0x33 -0057b6 f033 -0057b8 6a34 CLRF 0x34,0x0 +0057c8 ec36 CALL 0x6a6c,0x0 ebb_print_uint(parameter_number); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0057ca f035 +00681c 6ee6 MOVWF 0xe6,0x0 ebb_print_char(','); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +00681e ecc2 CALL 0x4b84,0x0 +006820 f025 +006822 52e5 MOVF 0xe5,0x1,0x0 +006824 0012 RETURN 0x0 +0057cc 0e02 MOVLW 0x2 ebb_print_hex(gLimitSwitchPortB, 2); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0057ce 6ee6 MOVWF 0xe6,0x0 +0057d0 c0dc MOVFF 0xdc,0x47 +0057d2 f047 +0057d4 6a48 CLRF 0x48,0x0 print_line_ending(kLE_NORM); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // QU,2 to read back the maximum supported FIFO length for this version C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // Returns "QU,2,ddd" where ddd is one to three digit decimal value from 0 to 255 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0057ba d020 BRA 0x57fc else if (2u == parameter_number) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0057bc 0e02 MOVLW 0x2 -0057be ec3f CALL 0x687e,0x0 -0057c0 f034 -0057c2 e108 BNZ 0x57d4 +0057d6 d020 BRA 0x5818 else if (2u == parameter_number) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0057d8 0e02 MOVLW 0x2 +0057da ec4d CALL 0x689a,0x0 +0057dc f034 +0057de e108 BNZ 0x57f0 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0057c4 ec28 CALL 0x6a50,0x0 ebb_print_uint(parameter_number); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0057c6 f035 +0057e0 ec36 CALL 0x6a6c,0x0 ebb_print_uint(parameter_number); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0057e2 f035 ebb_print_char(','); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0057c8 0e1c MOVLW 0x1c ebb_print_uint(COMMAND_FIFO_MAX_LENGTH); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0057ca 6ee6 MOVWF 0xe6,0x0 -0057cc 6ae6 CLRF 0xe6,0x0 -0057ce 6ae6 CLRF 0xe6,0x0 -0057d0 6ae6 CLRF 0xe6,0x0 +0057e4 0e20 MOVLW 0x20 ebb_print_uint(COMMAND_FIFO_MAX_LENGTH); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0057e6 6ee6 MOVWF 0xe6,0x0 +0057e8 6ae6 CLRF 0xe6,0x0 +0057ea 6ae6 CLRF 0xe6,0x0 +0057ec 6ae6 CLRF 0xe6,0x0 print_line_ending(kLE_NORM); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // QU,3 to read back the current FIFO length C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // Returns "QU,3,ddd" where ddd is one to three digit decimal value from 0 to 255 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0057d2 d044 BRA 0x585c else if (3u == parameter_number) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0057d4 0e03 MOVLW 0x3 -0057d6 ec3f CALL 0x687e,0x0 -0057d8 f034 -0057da e106 BNZ 0x57e8 +0057ee d044 BRA 0x5878 else if (3u == parameter_number) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0057f0 0e03 MOVLW 0x3 +0057f2 ec4d CALL 0x689a,0x0 +0057f4 f034 +0057f6 e106 BNZ 0x5804 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0057dc ec28 CALL 0x6a50,0x0 ebb_print_uint(parameter_number); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0057de f035 +0057f8 ec36 CALL 0x6a6c,0x0 ebb_print_uint(parameter_number); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0057fa f035 ebb_print_char(','); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0057e0 5018 MOVF 0x18,0x0,0x0 ebb_print_uint(gCurrentFIFOLength); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0057e2 ec58 CALL 0x68b0,0x0 -0057e4 f034 +0057fc 5018 MOVF 0x18,0x0,0x0 ebb_print_uint(gCurrentFIFOLength); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0057fe ec66 CALL 0x68cc,0x0 +005800 f034 print_line_ending(kLE_NORM); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // QU,4 prints out current stack high water value C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0057e6 d038 BRA 0x5858 else if (4u == parameter_number) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0057e8 0e04 MOVLW 0x4 -0057ea ec3f CALL 0x687e,0x0 -0057ec f034 -0057ee e109 BNZ 0x5802 +005802 d038 BRA 0x5874 else if (4u == parameter_number) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005804 0e04 MOVLW 0x4 +005806 ec4d CALL 0x689a,0x0 +005808 f034 +00580a e109 BNZ 0x581e { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0057f0 eca3 CALL 0x4746,0x0 check_high_water(); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0057f2 f023 -0057f4 ec28 CALL 0x6a50,0x0 ebb_print_uint(parameter_number); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0057f6 f035 +00580c ecb1 CALL 0x4762,0x0 check_high_water(); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +00580e f023 +005810 ec36 CALL 0x6a6c,0x0 ebb_print_uint(parameter_number); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005812 f035 ebb_print_char(','); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0057f8 ec09 CALL 0x6a12,0x0 ebb_print_hex(gStackHighWater, 3); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0057fa f035 -0057fc ecf6 CALL 0x67ec,0x0 -0057fe f033 -006a12 0e03 MOVLW 0x3 -006a14 6ee6 MOVWF 0xe6,0x0 -006a16 c0e0 MOVFF 0xe0,0x33 -006a18 f033 -006a1a c0e1 MOVFF 0xe1,0x34 -006a1c f034 -006a1e 0012 RETURN 0x0 +005814 ec17 CALL 0x6a2e,0x0 ebb_print_hex(gStackHighWater, 3); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005816 f035 +005818 ec04 CALL 0x6808,0x0 +00581a f034 +006a2e 0e03 MOVLW 0x3 +006a30 6ee6 MOVWF 0xe6,0x0 +006a32 c0e0 MOVFF 0xe0,0x47 +006a34 f047 +006a36 c0e1 MOVFF 0xe1,0x48 +006a38 f048 +006a3a 0012 RETURN 0x0 print_line_ending(kLE_NORM); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // CU,5 prints out current stack high water value and resets it to zero C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005800 d02f BRA 0x5860 else if (5u == parameter_number) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005802 0e05 MOVLW 0x5 -005804 ec3f CALL 0x687e,0x0 -005806 f034 -005808 e10e BNZ 0x5826 +00581c d02f BRA 0x587c else if (5u == parameter_number) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +00581e 0e05 MOVLW 0x5 +005820 ec4d CALL 0x689a,0x0 +005822 f034 +005824 e10e BNZ 0x5842 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00580a ec28 CALL 0x6a50,0x0 ebb_print_uint(parameter_number); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00580c f035 +005826 ec36 CALL 0x6a6c,0x0 ebb_print_uint(parameter_number); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005828 f035 ebb_print_char(','); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00580e ec09 CALL 0x6a12,0x0 ebb_print_hex(gStackHighWater, 3); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005810 f035 -005812 ecf6 CALL 0x67ec,0x0 -005814 f033 -0067ec 6a35 CLRF 0x35,0x0 -0067ee 6a36 CLRF 0x36,0x0 -0067f0 da59 RCALL 0x6ca4 -0067f2 efc9 GOTO 0x6b92 -0067f4 f035 -005816 ecdb CALL 0x67b6,0x0 print_line_ending(kLE_NORM); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005818 f033 -00581a 9cf2 BCF 0xf2,0x6,0x0 INTCONbits.GIEL = 0; // Turn low priority interrupts off C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00581c 0100 MOVLB 0x0 gStackHighWater = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00581e 6be0 CLRF 0xe0,0x1 -005820 6be1 CLRF 0xe1,0x1 -005822 8cf2 BSF 0xf2,0x6,0x0 INTCONbits.GIEL = 1; // Turn low priority interrupts on C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +00582a ec17 CALL 0x6a2e,0x0 ebb_print_hex(gStackHighWater, 3); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +00582c f035 +00582e ec04 CALL 0x6808,0x0 +005830 f034 +006808 6a49 CLRF 0x49,0x0 +00680a 6a4a CLRF 0x4a,0x0 +00680c da59 RCALL 0x6cc0 +00680e efd7 GOTO 0x6bae +006810 f035 +005832 ece9 CALL 0x67d2,0x0 print_line_ending(kLE_NORM); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005834 f033 +005836 9cf2 BCF 0xf2,0x6,0x0 INTCONbits.GIEL = 0; // Turn low priority interrupts off C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005838 0100 MOVLB 0x0 gStackHighWater = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +00583a 6be0 CLRF 0xe0,0x1 +00583c 6be1 CLRF 0xe1,0x1 +00583e 8cf2 BSF 0xf2,0x6,0x0 INTCONbits.GIEL = 1; // Turn low priority interrupts on C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // 60 QU,60,dddd prints out current value of g_PowerMonitorThresholdADC C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005824 d021 BRA 0x5868 else if (60u == parameter_number) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005826 0e3c MOVLW 0x3c -005828 ec3f CALL 0x687e,0x0 -00582a f034 -00582c e107 BNZ 0x583c +005840 d021 BRA 0x5884 else if (60u == parameter_number) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005842 0e3c MOVLW 0x3c +005844 ec4d CALL 0x689a,0x0 +005846 f034 +005848 e107 BNZ 0x5858 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00582e ec28 CALL 0x6a50,0x0 ebb_print_uint(parameter_number); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005830 f035 +00584a ec36 CALL 0x6a6c,0x0 ebb_print_uint(parameter_number); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +00584c f035 ebb_print_char(','); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005832 c0a5 MOVFF 0xa5,0x33 ebb_print_uint(g_PowerMonitorThresholdADC); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005834 f033 -005836 c0a6 MOVFF 0xa6,0x34 -005838 f034 +00584e c0a5 MOVFF 0xa5,0x47 ebb_print_uint(g_PowerMonitorThresholdADC); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005850 f047 +005852 c0a6 MOVFF 0xa6,0x48 +005854 f048 print_line_ending(kLE_NORM); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // 61 QU,61,dddddd prints out current value of g_StepperDisableTimeoutS C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00583a d00a BRA 0x5850 else if (61u == parameter_number) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00583c 0e3d MOVLW 0x3d -00583e ec3f CALL 0x687e,0x0 -005840 f034 -005842 e111 BNZ 0x5866 +005856 d00a BRA 0x586c else if (61u == parameter_number) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005858 0e3d MOVLW 0x3d +00585a ec4d CALL 0x689a,0x0 +00585c f034 +00585e e111 BNZ 0x5882 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005844 ec28 CALL 0x6a50,0x0 ebb_print_uint(parameter_number); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005846 f035 -006a50 def9 RCALL 0x6844 -006a52 d900 RCALL 0x6c54 -006a54 0e2c MOVLW 0x2c ebb_print_char(','); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -006a56 ef00 GOTO 0x6800 -006a58 f034 -005848 c0a9 MOVFF 0xa9,0x33 ebb_print_uint(g_StepperDisableTimeoutS); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00584a f033 -00584c c0aa MOVFF 0xaa,0x34 -00584e f034 -005850 6a35 CLRF 0x35,0x0 -005852 6a36 CLRF 0x36,0x0 -005854 c033 MOVFF 0x33,0xfe6 -005856 ffe6 -005858 ec35 CALL 0x6a6a,0x0 -00585a f035 -00585c ec36 CALL 0x6c6c,0x0 -00585e f036 -005860 ecdb CALL 0x67b6,0x0 print_line_ending(kLE_NORM); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005862 f033 +005860 ec36 CALL 0x6a6c,0x0 ebb_print_uint(parameter_number); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005862 f035 +006a6c def9 RCALL 0x6860 +006a6e d900 RCALL 0x6c70 +006a70 0e2c MOVLW 0x2c ebb_print_char(','); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +006a72 ef0e GOTO 0x681c +006a74 f034 +005864 c0a9 MOVFF 0xa9,0x47 ebb_print_uint(g_StepperDisableTimeoutS); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005866 f047 +005868 c0aa MOVFF 0xaa,0x48 +00586a f048 +00586c 6a49 CLRF 0x49,0x0 +00586e 6a4a CLRF 0x4a,0x0 +005870 c047 MOVFF 0x47,0xfe6 +005872 ffe6 +005874 ec43 CALL 0x6a86,0x0 +005876 f035 +005878 ec44 CALL 0x6c88,0x0 +00587a f036 +00587c ece9 CALL 0x67d2,0x0 print_line_ending(kLE_NORM); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +00587e f033 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005864 d001 BRA 0x5868 else C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005880 d001 BRA 0x5884 else C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // parameter_number is not understood C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005866 8d97 BSF 0x97,0x6,0x1 bitset(error_byte, kERROR_BYTE_PARAMETER_OUTSIDE_LIMIT); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005882 8d97 BSF 0x97,0x6,0x1 bitset(error_byte, kERROR_BYTE_PARAMETER_OUTSIDE_LIMIT); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005868 ec26 CALL 0x684c,0x0 print_line_ending(kLE_OK_NORM); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00586a f034 -00586c 52e5 MOVF 0xe5,0x1,0x0 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00586e eff2 GOTO 0x67e4 -005870 f033 +005884 ec34 CALL 0x6868,0x0 print_line_ending(kLE_OK_NORM); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005886 f034 +005888 52e5 MOVF 0xe5,0x1,0x0 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +00588a ef00 GOTO 0x6800 +00588c f034 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c #if PC_PG_T_COMMANDS_ENABLED C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // "T" Packet C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c @@ -21339,206 +21369,206 @@ Address Value Disassembly Source // C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // NOTE: it is up to the user to tell the proper port direction bits to be C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // inputs for the analog channels they wish to use. C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005872 eced CALL 0x67da,0x0 void parse_C_packet(void) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005874 f033 -005876 0e05 MOVLW 0x5 -005878 ec3c CALL 0x6a78,0x0 +00588e ecfb CALL 0x67f6,0x0 void parse_C_packet(void) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005890 f033 +005892 0e05 MOVLW 0x5 +005894 ec4a CALL 0x6a94,0x0 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c unsigned char PA, PB, PC, PD, PE; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00587a f035 print_command(FALSE, FALSE); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005896 f035 print_command(FALSE, FALSE); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // Extract each of the four values. C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00587c 0e01 MOVLW 0x1 extract_number(kUCHAR, &PA, kREQUIRED); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00587e ec05 CALL 0x6c0a,0x0 -005880 f036 -005882 ec09 CALL 0x6c12,0x0 extract_number(kUCHAR, &PB, kREQUIRED); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005884 f036 +005898 0e01 MOVLW 0x1 extract_number(kUCHAR, &PA, kREQUIRED); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +00589a ec13 CALL 0x6c26,0x0 +00589c f036 +00589e ec17 CALL 0x6c2e,0x0 extract_number(kUCHAR, &PB, kREQUIRED); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0058a0 f036 extract_number(kUCHAR, &PC, kREQUIRED); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005886 6ae6 CLRF 0xe6,0x0 extract_number(kUCHAR, &PD, kREQUIRED); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005888 50d9 MOVF 0xd9,0x0,0x0 -00588a 0f03 ADDLW 0x3 -00588c ec2d CALL 0x6a5a,0x0 -00588e f035 -005890 6ae6 CLRF 0xe6,0x0 extract_number(kUCHAR, &PE, kREQUIRED); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005892 50d9 MOVF 0xd9,0x0,0x0 -005894 0f04 ADDLW 0x4 -005896 ec44 CALL 0x6c88,0x0 -005898 f036 +0058a2 6ae6 CLRF 0xe6,0x0 extract_number(kUCHAR, &PD, kREQUIRED); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0058a4 50d9 MOVF 0xd9,0x0,0x0 +0058a6 0f03 ADDLW 0x3 +0058a8 ec3b CALL 0x6a76,0x0 +0058aa f035 +0058ac 6ae6 CLRF 0xe6,0x0 extract_number(kUCHAR, &PE, kREQUIRED); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0058ae 50d9 MOVF 0xd9,0x0,0x0 +0058b0 0f04 ADDLW 0x4 +0058b2 ec52 CALL 0x6ca4,0x0 +0058b4 f036 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // Bail if we got a conversion error C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00589a e110 BNZ 0x58bc if (error_byte) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0058b6 e110 BNZ 0x58d8 if (error_byte) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c return; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // Now write those values to the data direction registers. C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00589c 50df MOVF 0xdf,0x0,0x0 TRISA = PA; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00589e 6e92 MOVWF 0x92,0x0 -0058a0 0e01 MOVLW 0x1 TRISB = PB; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0058a2 50db MOVF 0xdb,0x0,0x0 -0058a4 6e93 MOVWF 0x93,0x0 -0058a6 0e02 MOVLW 0x2 TRISC = PC; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0058a8 50db MOVF 0xdb,0x0,0x0 -0058aa 6e94 MOVWF 0x94,0x0 -0058ac 0e03 MOVLW 0x3 TRISD = PD; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0058ae 50db MOVF 0xdb,0x0,0x0 -0058b0 6e95 MOVWF 0x95,0x0 -0058b2 0e04 MOVLW 0x4 TRISE = PE; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0058b4 50db MOVF 0xdb,0x0,0x0 -0058b6 6e96 MOVWF 0x96,0x0 +0058b8 50df MOVF 0xdf,0x0,0x0 TRISA = PA; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0058ba 6e92 MOVWF 0x92,0x0 +0058bc 0e01 MOVLW 0x1 TRISB = PB; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0058be 50db MOVF 0xdb,0x0,0x0 +0058c0 6e93 MOVWF 0x93,0x0 +0058c2 0e02 MOVLW 0x2 TRISC = PC; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0058c4 50db MOVF 0xdb,0x0,0x0 +0058c6 6e94 MOVWF 0x94,0x0 +0058c8 0e03 MOVLW 0x3 TRISD = PD; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0058ca 50db MOVF 0xdb,0x0,0x0 +0058cc 6e95 MOVWF 0x95,0x0 +0058ce 0e04 MOVLW 0x4 TRISE = PE; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0058d0 50db MOVF 0xdb,0x0,0x0 +0058d2 6e96 MOVWF 0x96,0x0 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0058b8 ec26 CALL 0x684c,0x0 print_line_ending(kLE_OK_NORM); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0058ba f034 -0058bc 0e05 MOVLW 0x5 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0058be 5ce1 SUBWF 0xe1,0x0,0x0 -0058c0 e202 BC 0x58c6 -0058c2 6ae1 CLRF 0xe1,0x0 -0058c4 52e5 MOVF 0xe5,0x1,0x0 -0058c6 6ee1 MOVWF 0xe1,0x0 -0058c8 eff2 GOTO 0x67e4 -0058ca f033 +0058d4 ec34 CALL 0x6868,0x0 print_line_ending(kLE_OK_NORM); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0058d6 f034 +0058d8 0e05 MOVLW 0x5 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0058da 5ce1 SUBWF 0xe1,0x0,0x0 +0058dc e202 BC 0x58e2 +0058de 6ae1 CLRF 0xe1,0x0 +0058e0 52e5 MOVF 0xe5,0x1,0x0 +0058e2 6ee1 MOVWF 0xe1,0x0 +0058e4 ef00 GOTO 0x6800 +0058e6 f034 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // This function turns on or off an analog channel C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // It is called from other pieces of code, not the user C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0058cc eced CALL 0x67da,0x0 void AnalogConfigure(unsigned char Channel, unsigned char Enable) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0058ce f033 +0058e8 ecfb CALL 0x67f6,0x0 void AnalogConfigure(unsigned char Channel, unsigned char Enable) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0058ea f033 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0058d0 0efe MOVLW 0xfe if (Channel > 16u) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0058d2 50db MOVF 0xdb,0x0,0x0 -0058d4 0810 SUBLW 0x10 -0058d6 e205 BC 0x58e2 +0058ec 0efe MOVLW 0xfe if (Channel > 16u) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0058ee 50db MOVF 0xdb,0x0,0x0 +0058f0 0810 SUBLW 0x10 +0058f2 e205 BC 0x58fe { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0058d8 0e10 MOVLW 0x10 Channel = 16; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0058da 6ef3 MOVWF 0xf3,0x0 -0058dc 0efe MOVLW 0xfe -0058de cff3 MOVFF 0xff3,0xfdb -0058e0 ffdb +0058f4 0e10 MOVLW 0x10 Channel = 16; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0058f6 6ef3 MOVWF 0xf3,0x0 +0058f8 0efe MOVLW 0xfe +0058fa cff3 MOVFF 0xff3,0xfdb +0058fc ffdb } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0058e2 0efd MOVLW 0xfd if (Enable) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0058e4 50db MOVF 0xdb,0x0,0x0 -0058e6 e02b BZ 0x593e +0058fe 0efd MOVLW 0xfd if (Enable) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005900 50db MOVF 0xdb,0x0,0x0 +005902 e02b BZ 0x595a { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0058e8 0efe MOVLW 0xfe AnalogEnabledChannels |= ((unsigned int)0x0001 << Channel); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0058ea 50db MOVF 0xdb,0x0,0x0 -0058ec ec85 CALL 0x910a,0x0 -0058ee f048 -0058f0 50f3 MOVF 0xf3,0x0,0x0 -0058f2 0100 MOVLB 0x0 -0058f4 13a1 IORWF 0xa1,0x1,0x1 -0058f6 50f4 MOVF 0xf4,0x0,0x0 -0058f8 13a2 IORWF 0xa2,0x1,0x1 +005904 0efe MOVLW 0xfe AnalogEnabledChannels |= ((unsigned int)0x0001 << Channel); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005906 50db MOVF 0xdb,0x0,0x0 +005908 ec93 CALL 0x9126,0x0 +00590a f048 +00590c 50f3 MOVF 0xf3,0x0,0x0 +00590e 0100 MOVLB 0x0 +005910 13a1 IORWF 0xa1,0x1,0x1 +005912 50f4 MOVF 0xf4,0x0,0x0 +005914 13a2 IORWF 0xa2,0x1,0x1 // Make sure to turn this analog input on C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0058fa 0e08 MOVLW 0x8 if (Channel < 8u) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0058fc 6ef3 MOVWF 0xf3,0x0 -0058fe 0efe MOVLW 0xfe -005900 ecc1 CALL 0x6982,0x0 -005902 f034 -005904 e20d BC 0x5920 +005916 0e08 MOVLW 0x8 if (Channel < 8u) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005918 6ef3 MOVWF 0xf3,0x0 +00591a 0efe MOVLW 0xfe +00591c eccf CALL 0x699e,0x0 +00591e f034 +005920 e20d BC 0x593c { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // Clear the right bit in ANCON0 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005906 0e01 MOVLW 0x1 ANCON0 &= ~(1 << Channel); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005908 6ef3 MOVWF 0xf3,0x0 -00590a 0efe MOVLW 0xfe -00590c 50db MOVF 0xdb,0x0,0x0 -00590e e003 BZ 0x5916 -005910 ec18 CALL 0x6830,0x0 -005912 f034 -005914 e1fd BNZ 0x5910 -005916 50f3 MOVF 0xf3,0x0,0x0 -005918 1cf3 COMF 0xf3,0x0,0x0 -00591a 010f MOVLB 0xf -00591c 1748 ANDWF 0x48,0x1,0x1 +005922 0e01 MOVLW 0x1 ANCON0 &= ~(1 << Channel); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005924 6ef3 MOVWF 0xf3,0x0 +005926 0efe MOVLW 0xfe +005928 50db MOVF 0xdb,0x0,0x0 +00592a e003 BZ 0x5932 +00592c ec26 CALL 0x684c,0x0 +00592e f034 +005930 e1fd BNZ 0x592c +005932 50f3 MOVF 0xf3,0x0,0x0 +005934 1cf3 COMF 0xf3,0x0,0x0 +005936 010f MOVLB 0xf +005938 1748 ANDWF 0x48,0x1,0x1 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00591e d03d BRA 0x599a else C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +00593a d03d BRA 0x59b6 else C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005920 0efe MOVLW 0xfe if (Channel <= 12u) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005922 50db MOVF 0xdb,0x0,0x0 -005924 080c SUBLW 0xc -005926 e339 BNC 0x599a +00593c 0efe MOVLW 0xfe if (Channel <= 12u) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +00593e 50db MOVF 0xdb,0x0,0x0 +005940 080c SUBLW 0xc +005942 e339 BNC 0x59b6 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // Clear the right bit in ANCON1 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005928 ec10 CALL 0x6a20,0x0 ANCON1 &= ~(1 << (Channel-8)); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00592a f035 -00592c e004 BZ 0x5936 -00592e 46e8 RLNCF 0xe8,0x1,0x0 -005930 0bfe ANDLW 0xfe -005932 0633 DECF 0x33,0x1,0x0 -005934 e1fc BNZ 0x592e -005936 1ce8 COMF 0xe8,0x0,0x0 -005938 010f MOVLB 0xf -00593a 1749 ANDWF 0x49,0x1,0x1 -006a20 0efe MOVLW 0xfe -006a22 50db MOVF 0xdb,0x0,0x0 -006a24 0ff8 ADDLW 0xf8 -006a26 6e33 MOVWF 0x33,0x0 -006a28 0e01 MOVLW 0x1 -006a2a 5233 MOVF 0x33,0x1,0x0 -006a2c 0012 RETURN 0x0 +005944 ec1e CALL 0x6a3c,0x0 ANCON1 &= ~(1 << (Channel-8)); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005946 f035 +005948 e004 BZ 0x5952 +00594a 46e8 RLNCF 0xe8,0x1,0x0 +00594c 0bfe ANDLW 0xfe +00594e 0647 DECF 0x47,0x1,0x0 +005950 e1fc BNZ 0x594a +005952 1ce8 COMF 0xe8,0x0,0x0 +005954 010f MOVLB 0xf +005956 1749 ANDWF 0x49,0x1,0x1 +006a3c 0efe MOVLW 0xfe +006a3e 50db MOVF 0xdb,0x0,0x0 +006a40 0ff8 ADDLW 0xf8 +006a42 6e47 MOVWF 0x47,0x0 +006a44 0e01 MOVLW 0x1 +006a46 5247 MOVF 0x47,0x1,0x0 +006a48 0012 RETURN 0x0 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00593c d02e BRA 0x599a else C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005958 d02e BRA 0x59b6 else C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00593e 0efe MOVLW 0xfe AnalogEnabledChannels &= ~((unsigned int)0x0001 << Channel); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005940 50db MOVF 0xdb,0x0,0x0 -005942 ec85 CALL 0x910a,0x0 -005944 f048 -005946 cff3 MOVFF 0xff3,0x33 -005948 f033 -00594a cff4 MOVFF 0xff4,0x34 -00594c f034 -00594e 1e33 COMF 0x33,0x1,0x0 -005950 1e34 COMF 0x34,0x1,0x0 -005952 5033 MOVF 0x33,0x0,0x0 -005954 0100 MOVLB 0x0 -005956 17a1 ANDWF 0xa1,0x1,0x1 -005958 5034 MOVF 0x34,0x0,0x0 -00595a 17a2 ANDWF 0xa2,0x1,0x1 +00595a 0efe MOVLW 0xfe AnalogEnabledChannels &= ~((unsigned int)0x0001 << Channel); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +00595c 50db MOVF 0xdb,0x0,0x0 +00595e ec93 CALL 0x9126,0x0 +005960 f048 +005962 cff3 MOVFF 0xff3,0x47 +005964 f047 +005966 cff4 MOVFF 0xff4,0x48 +005968 f048 +00596a 1e47 COMF 0x47,0x1,0x0 +00596c 1e48 COMF 0x48,0x1,0x0 +00596e 5047 MOVF 0x47,0x0,0x0 +005970 0100 MOVLB 0x0 +005972 17a1 ANDWF 0xa1,0x1,0x1 +005974 5048 MOVF 0x48,0x0,0x0 +005976 17a2 ANDWF 0xa2,0x1,0x1 // Make sure to turn this analog input off C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00595c 0e08 MOVLW 0x8 if (Channel < 8u) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00595e 6ef3 MOVWF 0xf3,0x0 -005960 0efe MOVLW 0xfe -005962 ecc1 CALL 0x6982,0x0 -005964 f034 -005966 e20c BC 0x5980 +005978 0e08 MOVLW 0x8 if (Channel < 8u) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +00597a 6ef3 MOVWF 0xf3,0x0 +00597c 0efe MOVLW 0xfe +00597e eccf CALL 0x699e,0x0 +005980 f034 +005982 e20c BC 0x599c { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // Set the right bit in ANCON0 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005968 0e01 MOVLW 0x1 ANCON0 |= (1 << Channel); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00596a 6ef3 MOVWF 0xf3,0x0 -00596c 0efe MOVLW 0xfe -00596e 50db MOVF 0xdb,0x0,0x0 -005970 e003 BZ 0x5978 -005972 ec18 CALL 0x6830,0x0 -005974 f034 -005976 e1fd BNZ 0x5972 -005978 50f3 MOVF 0xf3,0x0,0x0 -00597a 010f MOVLB 0xf -00597c 1348 IORWF 0x48,0x1,0x1 +005984 0e01 MOVLW 0x1 ANCON0 |= (1 << Channel); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005986 6ef3 MOVWF 0xf3,0x0 +005988 0efe MOVLW 0xfe +00598a 50db MOVF 0xdb,0x0,0x0 +00598c e003 BZ 0x5994 +00598e ec26 CALL 0x684c,0x0 +005990 f034 +005992 e1fd BNZ 0x598e +005994 50f3 MOVF 0xf3,0x0,0x0 +005996 010f MOVLB 0xf +005998 1348 IORWF 0x48,0x1,0x1 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00597e d00d BRA 0x599a else C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +00599a d00d BRA 0x59b6 else C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005980 0efe MOVLW 0xfe if (Channel <= 12u) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005982 50db MOVF 0xdb,0x0,0x0 -005984 080c SUBLW 0xc -005986 e309 BNC 0x599a +00599c 0efe MOVLW 0xfe if (Channel <= 12u) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +00599e 50db MOVF 0xdb,0x0,0x0 +0059a0 080c SUBLW 0xc +0059a2 e309 BNC 0x59b6 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // Set the right bit in ANCON1 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005988 ec10 CALL 0x6a20,0x0 ANCON1 |= (1 << (Channel-8)); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00598a f035 -00598c e004 BZ 0x5996 -00598e 46e8 RLNCF 0xe8,0x1,0x0 -005990 0bfe ANDLW 0xfe -005992 0633 DECF 0x33,0x1,0x0 -005994 e1fc BNZ 0x598e -005996 010f MOVLB 0xf -005998 1349 IORWF 0x49,0x1,0x1 +0059a4 ec1e CALL 0x6a3c,0x0 ANCON1 |= (1 << (Channel-8)); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0059a6 f035 +0059a8 e004 BZ 0x59b2 +0059aa 46e8 RLNCF 0xe8,0x1,0x0 +0059ac 0bfe ANDLW 0xfe +0059ae 0647 DECF 0x47,0x1,0x0 +0059b0 e1fc BNZ 0x59aa +0059b2 010f MOVLB 0xf +0059b4 1349 IORWF 0x49,0x1,0x1 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00599a eff2 GOTO 0x67e4 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00599c f033 +0059b6 ef00 GOTO 0x6800 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0059b8 f034 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // Analog Configure C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // "AC,," C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c @@ -21548,153 +21578,153 @@ Address Value Disassembly Source // To turn off a particular analog channel, use the AC command to disable it. C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // Once enabled, that channel will be converted at the normal ADC conversion C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // rate and will show up in A packets. C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00599e ec48 CALL 0x6c90,0x0 void parse_AC_packet(void) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0059a0 f036 -006c90 dda4 RCALL 0x67da -006c92 0e02 MOVLW 0x2 -006c94 def1 RCALL 0x6a78 +0059ba ec56 CALL 0x6cac,0x0 void parse_AC_packet(void) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0059bc f036 +006cac dda4 RCALL 0x67f6 +006cae 0e02 MOVLW 0x2 +006cb0 def1 RCALL 0x6a94 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c unsigned char Channel, Enable; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c print_command(FALSE, FALSE); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // Extract each of the two values. C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0059a2 ec05 CALL 0x6c0a,0x0 extract_number(kUCHAR, &Channel, kREQUIRED); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0059a4 f036 -006c96 0e01 MOVLW 0x1 -006c98 0012 RETURN 0x0 -0059a6 0f01 ADDLW 0x1 extract_number(kUCHAR, &Enable, kREQUIRED); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0059a8 ec44 CALL 0x6c88,0x0 -0059aa f036 +0059be ec13 CALL 0x6c26,0x0 extract_number(kUCHAR, &Channel, kREQUIRED); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0059c0 f036 +006cb2 0e01 MOVLW 0x1 +006cb4 0012 RETURN 0x0 +0059c2 0f01 ADDLW 0x1 extract_number(kUCHAR, &Enable, kREQUIRED); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0059c4 ec52 CALL 0x6ca4,0x0 +0059c6 f036 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // Bail if we got a conversion error C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0059ac e10a BNZ 0x59c2 if (error_byte) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0059c8 e10a BNZ 0x59de if (error_byte) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c return; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0059ae 0e01 MOVLW 0x1 AnalogConfigure(Channel, Enable); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0059b0 cfdb MOVFF 0xfdb,0xfe6 -0059b2 ffe6 -0059b4 cfdf MOVFF 0xfdf,0xfe6 -0059b6 ffe6 -0059b8 df89 RCALL 0x58cc -0059ba 52e5 MOVF 0xe5,0x1,0x0 -0059bc 52e5 MOVF 0xe5,0x1,0x0 +0059ca 0e01 MOVLW 0x1 AnalogConfigure(Channel, Enable); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0059cc cfdb MOVFF 0xfdb,0xfe6 +0059ce ffe6 +0059d0 cfdf MOVFF 0xfdf,0xfe6 +0059d2 ffe6 +0059d4 df89 RCALL 0x58e8 +0059d6 52e5 MOVF 0xe5,0x1,0x0 +0059d8 52e5 MOVF 0xe5,0x1,0x0 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0059be ec26 CALL 0x684c,0x0 print_line_ending(kLE_OK_NORM); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0059c0 f034 -0059c2 0e02 MOVLW 0x2 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0059c4 5ce1 SUBWF 0xe1,0x0,0x0 -0059c6 e202 BC 0x59cc -0059c8 6ae1 CLRF 0xe1,0x0 -0059ca 52e5 MOVF 0xe5,0x1,0x0 -0059cc 6ee1 MOVWF 0xe1,0x0 -0059ce eff2 GOTO 0x67e4 -0059d0 f033 +0059da ec34 CALL 0x6868,0x0 print_line_ending(kLE_OK_NORM); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0059dc f034 +0059de 0e02 MOVLW 0x2 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0059e0 5ce1 SUBWF 0xe1,0x0,0x0 +0059e2 e202 BC 0x59e8 +0059e4 6ae1 CLRF 0xe1,0x0 +0059e6 52e5 MOVF 0xe5,0x1,0x0 +0059e8 6ee1 MOVWF 0xe1,0x0 +0059ea ef00 GOTO 0x6800 +0059ec f034 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // Outputs values to the ports pins that are set up as outputs. C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // Example "O,121,224,002" C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0059d2 ec48 CALL 0x6c90,0x0 void parse_O_packet(void) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0059d4 f036 -006a78 26e1 ADDWF 0xe1,0x1,0x0 +0059ee ec56 CALL 0x6cac,0x0 void parse_O_packet(void) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0059f0 f036 +006a94 26e1 ADDWF 0xe1,0x1,0x0 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c unsigned char Value; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c ExtractReturnType RetVal; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0067c4 d988 RCALL 0x6ad6 print_command(FALSE, FALSE); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -006a7a 6ae6 CLRF 0xe6,0x0 -006a7c 6ae6 CLRF 0xe6,0x0 -006a7e efe2 GOTO 0x67c4 -006a80 f033 +0067e0 d988 RCALL 0x6af2 print_command(FALSE, FALSE); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +006a96 6ae6 CLRF 0xe6,0x0 +006a98 6ae6 CLRF 0xe6,0x0 +006a9a eff0 GOTO 0x67e0 +006a9c f033 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // Extract each of the values. C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0059d6 ecd7 CALL 0x67ae,0x0 RetVal = extract_number(kUCHAR, &Value, kREQUIRED); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0059d8 f033 -0059da ec73 CALL 0x68e6,0x0 -0059dc f034 -0067c6 6ae6 CLRF 0xe6,0x0 -0067c8 eff3 GOTO 0x6be6 -0067ca f035 -0059de e127 BNZ 0x5a2e if (error_byte) return; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0059e0 0e01 MOVLW 0x1 if (kEXTRACT_OK == RetVal) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0059e2 50db MOVF 0xdb,0x0,0x0 -0059e4 e102 BNZ 0x59ea +0059f2 ece5 CALL 0x67ca,0x0 RetVal = extract_number(kUCHAR, &Value, kREQUIRED); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0059f4 f033 +0059f6 ec81 CALL 0x6902,0x0 +0059f8 f034 +0067e2 6ae6 CLRF 0xe6,0x0 +0067e4 ef01 GOTO 0x6c02 +0067e6 f036 +0059fa e127 BNZ 0x5a4a if (error_byte) return; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0059fc 0e01 MOVLW 0x1 if (kEXTRACT_OK == RetVal) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0059fe 50db MOVF 0xdb,0x0,0x0 +005a00 e102 BNZ 0x5a06 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0059e6 50df MOVF 0xdf,0x0,0x0 LATA = Value; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0059e8 6e89 MOVWF 0x89,0x0 +005a02 50df MOVF 0xdf,0x0,0x0 LATA = Value; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005a04 6e89 MOVWF 0x89,0x0 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0059ea ec51 CALL 0x6aa2,0x0 RetVal = extract_number(kUCHAR, &Value, kOPTIONAL); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0059ec f035 -0059ee e11f BNZ 0x5a2e if (error_byte) return; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0059f0 0e01 MOVLW 0x1 if (kEXTRACT_OK == RetVal) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0059f2 50db MOVF 0xdb,0x0,0x0 -0059f4 e102 BNZ 0x59fa +005a06 ec5f CALL 0x6abe,0x0 RetVal = extract_number(kUCHAR, &Value, kOPTIONAL); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005a08 f035 +005a0a e11f BNZ 0x5a4a if (error_byte) return; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005a0c 0e01 MOVLW 0x1 if (kEXTRACT_OK == RetVal) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005a0e 50db MOVF 0xdb,0x0,0x0 +005a10 e102 BNZ 0x5a16 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0059f6 50df MOVF 0xdf,0x0,0x0 LATB = Value; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0059f8 6e8a MOVWF 0x8a,0x0 +005a12 50df MOVF 0xdf,0x0,0x0 LATB = Value; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005a14 6e8a MOVWF 0x8a,0x0 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0059fa ec51 CALL 0x6aa2,0x0 RetVal = extract_number(kUCHAR, &Value, kOPTIONAL); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0059fc f035 -0059fe e117 BNZ 0x5a2e if (error_byte) return; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005a00 0e01 MOVLW 0x1 if (kEXTRACT_OK == RetVal) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005a02 50db MOVF 0xdb,0x0,0x0 -005a04 e102 BNZ 0x5a0a +005a16 ec5f CALL 0x6abe,0x0 RetVal = extract_number(kUCHAR, &Value, kOPTIONAL); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005a18 f035 +005a1a e117 BNZ 0x5a4a if (error_byte) return; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005a1c 0e01 MOVLW 0x1 if (kEXTRACT_OK == RetVal) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005a1e 50db MOVF 0xdb,0x0,0x0 +005a20 e102 BNZ 0x5a26 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005a06 50df MOVF 0xdf,0x0,0x0 LATC = Value; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005a08 6e8b MOVWF 0x8b,0x0 +005a22 50df MOVF 0xdf,0x0,0x0 LATC = Value; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005a24 6e8b MOVWF 0x8b,0x0 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005a0a ec51 CALL 0x6aa2,0x0 RetVal = extract_number(kUCHAR, &Value, kOPTIONAL); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005a0c f035 -005a0e e10f BNZ 0x5a2e if (error_byte) return; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005a10 0e01 MOVLW 0x1 if (kEXTRACT_OK == RetVal) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005a12 50db MOVF 0xdb,0x0,0x0 -005a14 e102 BNZ 0x5a1a +005a26 ec5f CALL 0x6abe,0x0 RetVal = extract_number(kUCHAR, &Value, kOPTIONAL); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005a28 f035 +005a2a e10f BNZ 0x5a4a if (error_byte) return; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005a2c 0e01 MOVLW 0x1 if (kEXTRACT_OK == RetVal) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005a2e 50db MOVF 0xdb,0x0,0x0 +005a30 e102 BNZ 0x5a36 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005a16 50df MOVF 0xdf,0x0,0x0 LATD = Value; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005a18 6e8c MOVWF 0x8c,0x0 +005a32 50df MOVF 0xdf,0x0,0x0 LATD = Value; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005a34 6e8c MOVWF 0x8c,0x0 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005a1a ec51 CALL 0x6aa2,0x0 RetVal = extract_number(kUCHAR, &Value, kOPTIONAL); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005a1c f035 -0068e6 6ee7 MOVWF 0xe7,0x0 -0068e8 0e01 MOVLW 0x1 -0068ea cfe7 MOVFF 0xfe7,0xfdb -0068ec ffdb -006942 6ee6 MOVWF 0xe6,0x0 -006944 eff3 GOTO 0x6be6 -006946 f035 -006aa2 0e01 MOVLW 0x1 -006aa4 df4e RCALL 0x6942 -006aa6 de83 RCALL 0x67ae -006aa8 ef73 GOTO 0x68e6 -006aaa f034 -006be6 cfd9 MOVFF 0xfd9,0xfe6 -006be8 ffe6 -006bea cfda MOVFF 0xfda,0xfe6 -006bec ffe6 -006bee 0012 RETURN 0x0 -005a1e e107 BNZ 0x5a2e if (error_byte) return; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0068ee 0100 MOVLB 0x0 -0068f0 5197 MOVF 0x97,0x0,0x1 -0068f2 0012 RETURN 0x0 -005a20 0e01 MOVLW 0x1 if (kEXTRACT_OK == RetVal) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005a22 50db MOVF 0xdb,0x0,0x0 -005a24 e102 BNZ 0x5a2a +005a36 ec5f CALL 0x6abe,0x0 RetVal = extract_number(kUCHAR, &Value, kOPTIONAL); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005a38 f035 +006902 6ee7 MOVWF 0xe7,0x0 +006904 0e01 MOVLW 0x1 +006906 cfe7 MOVFF 0xfe7,0xfdb +006908 ffdb +00695e 6ee6 MOVWF 0xe6,0x0 +006960 ef01 GOTO 0x6c02 +006962 f036 +006abe 0e01 MOVLW 0x1 +006ac0 df4e RCALL 0x695e +006ac2 de83 RCALL 0x67ca +006ac4 ef81 GOTO 0x6902 +006ac6 f034 +006c02 cfd9 MOVFF 0xfd9,0xfe6 +006c04 ffe6 +006c06 cfda MOVFF 0xfda,0xfe6 +006c08 ffe6 +006c0a 0012 RETURN 0x0 +005a3a e107 BNZ 0x5a4a if (error_byte) return; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +00690a 0100 MOVLB 0x0 +00690c 5197 MOVF 0x97,0x0,0x1 +00690e 0012 RETURN 0x0 +005a3c 0e01 MOVLW 0x1 if (kEXTRACT_OK == RetVal) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005a3e 50db MOVF 0xdb,0x0,0x0 +005a40 e102 BNZ 0x5a46 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005a26 50df MOVF 0xdf,0x0,0x0 LATE = Value; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005a28 6e8d MOVWF 0x8d,0x0 +005a42 50df MOVF 0xdf,0x0,0x0 LATE = Value; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005a44 6e8d MOVWF 0x8d,0x0 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005a2a ec26 CALL 0x684c,0x0 print_line_ending(kLE_OK_NORM); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005a2c f034 -005a2e 0e02 MOVLW 0x2 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005a30 5ce1 SUBWF 0xe1,0x0,0x0 -005a32 e202 BC 0x5a38 -005a34 6ae1 CLRF 0xe1,0x0 -005a36 52e5 MOVF 0xe5,0x1,0x0 -005a38 6ee1 MOVWF 0xe1,0x0 -005a3a eff2 GOTO 0x67e4 -005a3c f033 +005a46 ec34 CALL 0x6868,0x0 print_line_ending(kLE_OK_NORM); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005a48 f034 +005a4a 0e02 MOVLW 0x2 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005a4c 5ce1 SUBWF 0xe1,0x0,0x0 +005a4e e202 BC 0x5a54 +005a50 6ae1 CLRF 0xe1,0x0 +005a52 52e5 MOVF 0xe5,0x1,0x0 +005a54 6ee1 MOVWF 0xe1,0x0 +005a56 ef00 GOTO 0x6800 +005a58 f034 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // Read in the three I/O ports (A,B,C) and create C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // a packet to send back with all of values. C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c @@ -21708,69 +21738,69 @@ Address Value Disassembly Source // The rest will be read in as zeros. C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c void parse_I_packet(void) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005a3e 0e01 MOVLW 0x1 print_command(TRUE, TRUE); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005a40 6ee6 MOVWF 0xe6,0x0 -005a42 6ee6 MOVWF 0xe6,0x0 -005a44 ec6b CALL 0x6ad6,0x0 -005a46 f035 +005a5a 0e01 MOVLW 0x1 print_command(TRUE, TRUE); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005a5c 6ee6 MOVWF 0xe6,0x0 +005a5e 6ee6 MOVWF 0xe6,0x0 +005a60 ec79 CALL 0x6af2,0x0 +005a62 f035 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005a48 5080 MOVF 0x80,0x0,0x0 ebb_print_uint(PORTA); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005a4a ec56 CALL 0x6aac,0x0 -005a4c f035 +005a64 5080 MOVF 0x80,0x0,0x0 ebb_print_uint(PORTA); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005a66 ec64 CALL 0x6ac8,0x0 +005a68 f035 ebb_print_char(','); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005a4e 5081 MOVF 0x81,0x0,0x0 ebb_print_uint(PORTB); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005a50 ec56 CALL 0x6aac,0x0 -005a52 f035 +005a6a 5081 MOVF 0x81,0x0,0x0 ebb_print_uint(PORTB); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005a6c ec64 CALL 0x6ac8,0x0 +005a6e f035 ebb_print_char(','); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005a54 5082 MOVF 0x82,0x0,0x0 ebb_print_uint(PORTC); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005a56 ec56 CALL 0x6aac,0x0 -005a58 f035 +005a70 5082 MOVF 0x82,0x0,0x0 ebb_print_uint(PORTC); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005a72 ec64 CALL 0x6ac8,0x0 +005a74 f035 ebb_print_char(','); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005a5a 5083 MOVF 0x83,0x0,0x0 ebb_print_uint(PORTD); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005a5c ec56 CALL 0x6aac,0x0 -005a5e f035 -0067a8 d960 RCALL 0x6a6a -0067aa ef36 GOTO 0x6c6c -0067ac f036 -006a6a c034 MOVFF 0x34,0xfe6 -006a6c ffe6 -006a6e c035 MOVFF 0x35,0xfe6 -006a70 ffe6 -006a72 c036 MOVFF 0x36,0xfe6 -006a74 ffe6 -006a76 0012 RETURN 0x0 -006aac d8e3 RCALL 0x6c74 -006c6c ec6c CALL 0x86d8,0x0 -006c6e f043 -006c70 ef5d GOTO 0x6aba -006c72 f035 -006c74 de1d RCALL 0x68b0 -006c76 efd4 GOTO 0x67a8 -006c78 f033 -006aae 0e2c MOVLW 0x2c ebb_print_char(','); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -006ab0 ef00 GOTO 0x6800 -006ab2 f034 -005a60 5084 MOVF 0x84,0x0,0x0 ebb_print_uint(PORTE); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005a62 ec3a CALL 0x6c74,0x0 -005a64 f036 -005a66 efdb GOTO 0x67b6 print_line_ending(kLE_NORM); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005a68 f033 +005a76 5083 MOVF 0x83,0x0,0x0 ebb_print_uint(PORTD); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005a78 ec64 CALL 0x6ac8,0x0 +005a7a f035 +0067c4 d960 RCALL 0x6a86 +0067c6 ef44 GOTO 0x6c88 +0067c8 f036 +006a86 c048 MOVFF 0x48,0xfe6 +006a88 ffe6 +006a8a c049 MOVFF 0x49,0xfe6 +006a8c ffe6 +006a8e c04a MOVFF 0x4a,0xfe6 +006a90 ffe6 +006a92 0012 RETURN 0x0 +006ac8 d8e3 RCALL 0x6c90 +006c88 ec7a CALL 0x86f4,0x0 +006c8a f043 +006c8c ef6b GOTO 0x6ad6 +006c8e f035 +006c90 de1d RCALL 0x68cc +006c92 efe2 GOTO 0x67c4 +006c94 f033 +006aca 0e2c MOVLW 0x2c ebb_print_char(','); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +006acc ef0e GOTO 0x681c +006ace f034 +005a7c 5084 MOVF 0x84,0x0,0x0 ebb_print_uint(PORTE); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005a7e ec48 CALL 0x6c90,0x0 +005a80 f036 +005a82 efe9 GOTO 0x67d2 print_line_ending(kLE_NORM); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005a84 f033 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // All we do here is just print out our version number C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c void parse_V_packet(void) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005a6a ecb2 CALL 0x6964,0x0 print_command(FALSE, TRUE); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005a6c f034 +005a86 ecc0 CALL 0x6980,0x0 print_command(FALSE, TRUE); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005a88 f034 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005a6e 0e7e MOVLW 0x7e ebb_print((far rom char *)st_version); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005a70 6e33 MOVWF 0x33,0x0 -005a72 0e8c MOVLW 0x8c -005a74 ef5a GOTO 0x6ab4 -005a76 f035 -006ab4 de76 RCALL 0x67a2 -006ab6 efdb GOTO 0x67b6 print_line_ending(kLE_NORM); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -006ab8 f033 +005a8a 0e9a MOVLW 0x9a ebb_print((far rom char *)st_version); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005a8c 6e47 MOVWF 0x47,0x0 +005a8e 0e8c MOVLW 0x8c +005a90 ef68 GOTO 0x6ad0 +005a92 f035 +006ad0 de76 RCALL 0x67be +006ad2 efe9 GOTO 0x67d2 print_line_ending(kLE_NORM); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +006ad4 f033 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // A is for read Analog inputs C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c @@ -21779,178 +21809,178 @@ Address Value Disassembly Source // Returned packet will look like C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // "A,2:421,5:891,9:3921" if channels 2, 5 and 9 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // are enabled. C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005a78 ec26 CALL 0x6c4c,0x0 void parse_A_packet(void) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005a7a f036 +005a94 ec34 CALL 0x6c68,0x0 void parse_A_packet(void) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005a96 f036 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005a7c 6adf CLRF 0xdf,0x0 char channel = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005a7e 0e01 MOVLW 0x1 unsigned int ChannelBit = 0x0001; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005a80 6ef3 MOVWF 0xf3,0x0 -005a82 6edb MOVWF 0xdb,0x0 -005a84 0e02 MOVLW 0x2 -005a86 6adb CLRF 0xdb,0x0 +005a98 6adf CLRF 0xdf,0x0 char channel = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005a9a 0e01 MOVLW 0x1 unsigned int ChannelBit = 0x0001; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005a9c 6ef3 MOVWF 0xf3,0x0 +005a9e 6edb MOVWF 0xdb,0x0 +005aa0 0e02 MOVLW 0x2 +005aa2 6adb CLRF 0xdb,0x0 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005a88 6ae6 CLRF 0xe6,0x0 print_command(TRUE, FALSE); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005a8a 0e01 MOVLW 0x1 -005a8c 6ee6 MOVWF 0xe6,0x0 -005a8e ec6b CALL 0x6ad6,0x0 -005a90 f035 +005aa4 6ae6 CLRF 0xe6,0x0 print_command(TRUE, FALSE); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005aa6 0e01 MOVLW 0x1 +005aa8 6ee6 MOVWF 0xe6,0x0 +005aaa ec79 CALL 0x6af2,0x0 +005aac f035 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // Sit and spin, waiting for one set of analog conversions to complete C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005a92 bc9d BTFSC 0x9d,0x6,0x0 while (PIE1bits.ADIE); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005a94 d7fe BRA 0x5a92 +005aae bc9d BTFSC 0x9d,0x6,0x0 while (PIE1bits.ADIE); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005ab0 d7fe BRA 0x5aae C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // Now print each analog value C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005a96 6adf CLRF 0xdf,0x0 for (channel = 0; channel < 16; channel++) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005a98 cfdf MOVFF 0xfdf,0x33 -005a9a f033 -005a9c 0e10 MOVLW 0x10 -005a9e 6ee7 MOVWF 0xe7,0x0 -005aa0 1833 XORWF 0x33,0x0,0x0 -005aa2 aee8 BTFSS 0xe8,0x7,0x0 -005aa4 d002 BRA 0x5aaa -005aa6 34e7 RLCF 0xe7,0x0,0x0 -005aa8 d002 BRA 0x5aae -005aaa 50e7 MOVF 0xe7,0x0,0x0 -005aac 5c33 SUBWF 0x33,0x0,0x0 -005aae e23b BC 0x5b26 -005b22 2adf INCF 0xdf,0x1,0x0 -005b24 d7b9 BRA 0x5a98 +005ab2 6adf CLRF 0xdf,0x0 for (channel = 0; channel < 16; channel++) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005ab4 cfdf MOVFF 0xfdf,0x47 +005ab6 f047 +005ab8 0e10 MOVLW 0x10 +005aba 6ee7 MOVWF 0xe7,0x0 +005abc 1847 XORWF 0x47,0x0,0x0 +005abe aee8 BTFSS 0xe8,0x7,0x0 +005ac0 d002 BRA 0x5ac6 +005ac2 34e7 RLCF 0xe7,0x0,0x0 +005ac4 d002 BRA 0x5aca +005ac6 50e7 MOVF 0xe7,0x0,0x0 +005ac8 5c47 SUBWF 0x47,0x0,0x0 +005aca e23b BC 0x5b42 +005b3e 2adf INCF 0xdf,0x1,0x0 +005b40 d7b9 BRA 0x5ab4 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005ab0 0e01 MOVLW 0x1 if (ChannelBit & AnalogEnabledChannels) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005ab2 50db MOVF 0xdb,0x0,0x0 -005ab4 0100 MOVLB 0x0 -005ab6 15a1 ANDWF 0xa1,0x0,0x1 -005ab8 0100 MOVLB 0x0 -005aba 6e33 MOVWF 0x33,0x0 -005abc 0e02 MOVLW 0x2 -005abe 50db MOVF 0xdb,0x0,0x0 -005ac0 0100 MOVLB 0x0 -005ac2 15a2 ANDWF 0xa2,0x0,0x1 -005ac4 0100 MOVLB 0x0 -005ac6 6e34 MOVWF 0x34,0x0 -005ac8 5033 MOVF 0x33,0x0,0x0 -005aca 1034 IORWF 0x34,0x0,0x0 -005acc e01f BZ 0x5b0c +005acc 0e01 MOVLW 0x1 if (ChannelBit & AnalogEnabledChannels) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005ace 50db MOVF 0xdb,0x0,0x0 +005ad0 0100 MOVLB 0x0 +005ad2 15a1 ANDWF 0xa1,0x0,0x1 +005ad4 0100 MOVLB 0x0 +005ad6 6e47 MOVWF 0x47,0x0 +005ad8 0e02 MOVLW 0x2 +005ada 50db MOVF 0xdb,0x0,0x0 +005adc 0100 MOVLB 0x0 +005ade 15a2 ANDWF 0xa2,0x0,0x1 +005ae0 0100 MOVLB 0x0 +005ae2 6e48 MOVWF 0x48,0x0 +005ae4 5047 MOVF 0x47,0x0,0x0 +005ae6 1048 IORWF 0x48,0x0,0x0 +005ae8 e01f BZ 0x5b28 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005ace 0e2c MOVLW 0x2c ebb_print_char(','); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005ad0 ec00 CALL 0x6800,0x0 -005ad2 f034 -005ad4 ec22 CALL 0x6844,0x0 ebb_print_uint(channel); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005ad6 f034 -005ad8 ae33 BTFSS 0x33,0x7,0x0 -005ada d003 BRA 0x5ae2 -005adc 6834 SETF 0x34,0x0 -005ade 6835 SETF 0x35,0x0 -005ae0 6836 SETF 0x36,0x0 -005ae2 ec2a CALL 0x6c54,0x0 -005ae4 f036 -005ae6 0e3a MOVLW 0x3a ebb_print_char(':'); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005ae8 ec00 CALL 0x6800,0x0 -005aea f034 -005aec cfdf MOVFF 0xfdf,0xfe9 ebb_print_uint(ISR_A_FIFO[channel]); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005aee ffe9 -005af0 6aea CLRF 0xea,0x0 -005af2 bee9 BTFSC 0xe9,0x7,0x0 -005af4 68ea SETF 0xea,0x0 -005af6 ec7b CALL 0x6af6,0x0 -005af8 f035 -005afa 22ea ADDWFC 0xea,0x1,0x0 -005afc cfee MOVFF 0xfee,0x33 -005afe f033 -005b00 cfef MOVFF 0xfef,0x34 -005b02 f034 -005b04 6a35 CLRF 0x35,0x0 -005b06 6a36 CLRF 0x36,0x0 -005b08 ec2a CALL 0x6c54,0x0 -005b0a f036 -006af6 90d8 BCF 0xd8,0x0,0x0 -006af8 36e9 RLCF 0xe9,0x1,0x0 -006afa 36ea RLCF 0xea,0x1,0x0 -006afc 0e00 MOVLW 0x0 -006afe 26e9 ADDWF 0xe9,0x1,0x0 -006b00 0e01 MOVLW 0x1 -006b02 0012 RETURN 0x0 +005aea 0e2c MOVLW 0x2c ebb_print_char(','); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005aec ec0e CALL 0x681c,0x0 +005aee f034 +005af0 ec30 CALL 0x6860,0x0 ebb_print_uint(channel); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005af2 f034 +005af4 ae47 BTFSS 0x47,0x7,0x0 +005af6 d003 BRA 0x5afe +005af8 6848 SETF 0x48,0x0 +005afa 6849 SETF 0x49,0x0 +005afc 684a SETF 0x4a,0x0 +005afe ec38 CALL 0x6c70,0x0 +005b00 f036 +005b02 0e3a MOVLW 0x3a ebb_print_char(':'); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005b04 ec0e CALL 0x681c,0x0 +005b06 f034 +005b08 cfdf MOVFF 0xfdf,0xfe9 ebb_print_uint(ISR_A_FIFO[channel]); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005b0a ffe9 +005b0c 6aea CLRF 0xea,0x0 +005b0e bee9 BTFSC 0xe9,0x7,0x0 +005b10 68ea SETF 0xea,0x0 +005b12 ec89 CALL 0x6b12,0x0 +005b14 f035 +005b16 22ea ADDWFC 0xea,0x1,0x0 +005b18 cfee MOVFF 0xfee,0x47 +005b1a f047 +005b1c cfef MOVFF 0xfef,0x48 +005b1e f048 +005b20 6a49 CLRF 0x49,0x0 +005b22 6a4a CLRF 0x4a,0x0 +005b24 ec38 CALL 0x6c70,0x0 +005b26 f036 +006b12 90d8 BCF 0xd8,0x0,0x0 +006b14 36e9 RLCF 0xe9,0x1,0x0 +006b16 36ea RLCF 0xea,0x1,0x0 +006b18 0e00 MOVLW 0x0 +006b1a 26e9 ADDWF 0xe9,0x1,0x0 +006b1c 0e01 MOVLW 0x1 +006b1e 0012 RETURN 0x0 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005b0c ecf4 CALL 0x69e8,0x0 ChannelBit = ChannelBit << 1; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005b0e f034 -005b10 90d8 BCF 0xd8,0x0,0x0 -005b12 3633 RLCF 0x33,0x1,0x0 -005b14 3634 RLCF 0x34,0x1,0x0 -005b16 0e01 MOVLW 0x1 -005b18 c033 MOVFF 0x33,0xfdb -005b1a ffdb -005b1c 0e02 MOVLW 0x2 -005b1e c034 MOVFF 0x34,0xfdb -005b20 ffdb +005b28 ec02 CALL 0x6a04,0x0 ChannelBit = ChannelBit << 1; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005b2a f035 +005b2c 90d8 BCF 0xd8,0x0,0x0 +005b2e 3647 RLCF 0x47,0x1,0x0 +005b30 3648 RLCF 0x48,0x1,0x0 +005b32 0e01 MOVLW 0x1 +005b34 c047 MOVFF 0x47,0xfdb +005b36 ffdb +005b38 0e02 MOVLW 0x2 +005b3a c048 MOVFF 0x48,0xfdb +005b3c ffdb } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // Add \r\n (for line ending legacy mode : note this is backwards from how C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // the rest of the code does legacy line endings) or just \n for new line C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // ending mode. C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005b26 0e02 MOVLW 0x2 print_line_ending(kLE_REV); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005b28 ecee CALL 0x6bdc,0x0 -005b2a f035 -005b2c 0e03 MOVLW 0x3 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005b2e 5ce1 SUBWF 0xe1,0x0,0x0 -005b30 e202 BC 0x5b36 -005b32 6ae1 CLRF 0xe1,0x0 -005b34 52e5 MOVF 0xe5,0x1,0x0 -005b36 6ee1 MOVWF 0xe1,0x0 -005b38 eff2 GOTO 0x67e4 -005b3a f033 +005b42 0e02 MOVLW 0x2 print_line_ending(kLE_REV); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005b44 ecfc CALL 0x6bf8,0x0 +005b46 f035 +005b48 0e03 MOVLW 0x3 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005b4a 5ce1 SUBWF 0xe1,0x0,0x0 +005b4c e202 BC 0x5b52 +005b4e 6ae1 CLRF 0xe1,0x0 +005b50 52e5 MOVF 0xe5,0x1,0x0 +005b52 6ee1 MOVWF 0xe1,0x0 +005b54 ef00 GOTO 0x6800 +005b56 f034 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // MW is for Memory Write C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // "MW,," C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // is a decimal value between 0 and 4096 indicating the RAM address to write to C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // is a decimal value between 0 and 255 that is the value to write C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005b3c ec22 CALL 0x6c44,0x0 void parse_MW_packet(void) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005b3e f036 +005b58 ec30 CALL 0x6c60,0x0 void parse_MW_packet(void) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005b5a f036 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c unsigned int location; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c unsigned char value; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c print_command(FALSE, FALSE); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005b40 0e03 MOVLW 0x3 extract_number(kUINT, &location, kREQUIRED); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005b42 ec05 CALL 0x6c0a,0x0 -005b44 f036 -005b46 0f02 ADDLW 0x2 extract_number(kUCHAR, &value, kREQUIRED); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005b48 ec44 CALL 0x6c88,0x0 -005b4a f036 +005b5c 0e03 MOVLW 0x3 extract_number(kUINT, &location, kREQUIRED); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005b5e ec13 CALL 0x6c26,0x0 +005b60 f036 +005b62 0f02 ADDLW 0x2 extract_number(kUCHAR, &value, kREQUIRED); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005b64 ec52 CALL 0x6ca4,0x0 +005b66 f036 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // Bail if we got a conversion error C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005b4c e10a BNZ 0x5b62 if (error_byte) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005b68 e10a BNZ 0x5b7e if (error_byte) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c return; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // Limit check the address and write the byte in C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005b4e ecd0 CALL 0x6ba0,0x0 if (location < 4096u) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005b50 f035 -005b52 e205 BC 0x5b5e -006ba0 dee6 RCALL 0x696e -006ba2 0e00 MOVLW 0x0 -006ba4 5c33 SUBWF 0x33,0x0,0x0 -006ba6 0e10 MOVLW 0x10 -006ba8 5834 SUBWFB 0x34,0x0,0x0 -006baa 0012 RETURN 0x0 +005b6a ecde CALL 0x6bbc,0x0 if (location < 4096u) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005b6c f035 +005b6e e205 BC 0x5b7a +006bbc dee6 RCALL 0x698a +006bbe 0e00 MOVLW 0x0 +006bc0 5c47 SUBWF 0x47,0x0,0x0 +006bc2 0e10 MOVLW 0x10 +006bc4 5848 SUBWFB 0x48,0x0,0x0 +006bc6 0012 RETURN 0x0 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005b54 ecbc CALL 0x6978,0x0 *((unsigned char *)location) = value; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005b56 f034 -005b58 0e02 MOVLW 0x2 -005b5a cfdb MOVFF 0xfdb,0xfef -005b5c ffef +005b70 ecca CALL 0x6994,0x0 *((unsigned char *)location) = value; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005b72 f034 +005b74 0e02 MOVLW 0x2 +005b76 cfdb MOVFF 0xfdb,0xfef +005b78 ffef } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005b5e ec26 CALL 0x684c,0x0 print_line_ending(kLE_OK_NORM); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005b60 f034 -005b62 0e03 MOVLW 0x3 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005b64 5ce1 SUBWF 0xe1,0x0,0x0 -005b66 e202 BC 0x5b6c -005b68 6ae1 CLRF 0xe1,0x0 -005b6a 52e5 MOVF 0xe5,0x1,0x0 -005b6c 6ee1 MOVWF 0xe1,0x0 -005b6e eff2 GOTO 0x67e4 -005b70 f033 +005b7a ec34 CALL 0x6868,0x0 print_line_ending(kLE_OK_NORM); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005b7c f034 +005b7e 0e03 MOVLW 0x3 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005b80 5ce1 SUBWF 0xe1,0x0,0x0 +005b82 e202 BC 0x5b88 +005b84 6ae1 CLRF 0xe1,0x0 +005b86 52e5 MOVF 0xe5,0x1,0x0 +005b88 6ee1 MOVWF 0xe1,0x0 +005b8a ef00 GOTO 0x6800 +005b8c f034 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // MR is for Memory Read C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c @@ -21958,73 +21988,73 @@ Address Value Disassembly Source // is a decimal value between 0 and 4096 indicating the RAM address to read from C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // The UBW will then send a "MR," packet back to the PC C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // where is the byte value read from the address C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005b72 ec26 CALL 0x6c4c,0x0 void parse_MR_packet(void) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005b74 f036 +005b8e ec34 CALL 0x6c68,0x0 void parse_MR_packet(void) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005b90 f036 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c unsigned int location; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c unsigned char value; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005b76 ec9e CALL 0x6b3c,0x0 print_command(TRUE, TRUE); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005b78 f035 +005b92 ecac CALL 0x6b58,0x0 print_command(TRUE, TRUE); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005b94 f035 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005b7a 0e03 MOVLW 0x3 extract_number(kUINT, &location, kREQUIRED); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005b7c ecd7 CALL 0x67ae,0x0 -005b7e f033 +005b96 0e03 MOVLW 0x3 extract_number(kUINT, &location, kREQUIRED); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005b98 ece5 CALL 0x67ca,0x0 +005b9a f033 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // Bail if we got a conversion error C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005b80 0100 MOVLB 0x0 if (error_byte) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005b82 5197 MOVF 0x97,0x0,0x1 -005b84 e10d BNZ 0x5ba0 +005b9c 0100 MOVLB 0x0 if (error_byte) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005b9e 5197 MOVF 0x97,0x0,0x1 +005ba0 e10d BNZ 0x5bbc { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c return; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // Limit check the address and write the byte in C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005b86 ecd0 CALL 0x6ba0,0x0 if (location < 4096u) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005b88 f035 -005b8a e205 BC 0x5b96 -00696e cfde MOVFF 0xfde,0x33 -006970 f033 -006972 cfdd MOVFF 0xfdd,0x34 -006974 f034 -006976 0012 RETURN 0x0 +005ba2 ecde CALL 0x6bbc,0x0 if (location < 4096u) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005ba4 f035 +005ba6 e205 BC 0x5bb2 +00698a cfde MOVFF 0xfde,0x47 +00698c f047 +00698e cfdd MOVFF 0xfdd,0x48 +006990 f048 +006992 0012 RETURN 0x0 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005b8c ecbc CALL 0x6978,0x0 value = *((unsigned char *)location); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005b8e f034 -005b90 0e02 MOVLW 0x2 -005b92 cfef MOVFF 0xfef,0xfdb -005b94 ffdb -006978 cfde MOVFF 0xfde,0xfe9 -00697a ffe9 -00697c cfdd MOVFF 0xfdd,0xfea -00697e ffea -006980 0012 RETURN 0x0 +005ba8 ecca CALL 0x6994,0x0 value = *((unsigned char *)location); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005baa f034 +005bac 0e02 MOVLW 0x2 +005bae cfef MOVFF 0xfef,0xfdb +005bb0 ffdb +006994 cfde MOVFF 0xfde,0xfe9 +006996 ffe9 +006998 cfdd MOVFF 0xfdd,0xfea +00699a ffea +00699c 0012 RETURN 0x0 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // Now send back the MR packet C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005b96 0e02 MOVLW 0x2 ebb_print_uint(value); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005b98 ecd7 CALL 0x69ae,0x0 -005b9a f034 -005b9c ec41 CALL 0x6a82,0x0 -005b9e f035 +005bb2 0e02 MOVLW 0x2 ebb_print_uint(value); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005bb4 ece5 CALL 0x69ca,0x0 +005bb6 f034 +005bb8 ec4f CALL 0x6a9e,0x0 +005bba f035 print_line_ending(kLE_NORM); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005ba0 0e03 MOVLW 0x3 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005ba2 5ce1 SUBWF 0xe1,0x0,0x0 -005ba4 e202 BC 0x5baa -005ba6 6ae1 CLRF 0xe1,0x0 -005ba8 52e5 MOVF 0xe5,0x1,0x0 -005baa 6ee1 MOVWF 0xe1,0x0 -005bac eff2 GOTO 0x67e4 -005bae f033 +005bbc 0e03 MOVLW 0x3 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005bbe 5ce1 SUBWF 0xe1,0x0,0x0 +005bc0 e202 BC 0x5bc6 +005bc2 6ae1 CLRF 0xe1,0x0 +005bc4 52e5 MOVF 0xe5,0x1,0x0 +005bc6 6ee1 MOVWF 0xe1,0x0 +005bc8 ef00 GOTO 0x6800 +005bca f034 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // PD is for Pin Direction C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // "PD,,," C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // is "A", "B", "C" and indicates the port C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // is a number between 0 and 7 and indicates which pin to change direction on C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // is "1" for input, "0" for output C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005bb0 ec3d CALL 0x6c7a,0x0 void parse_PD_packet(void) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005bb2 f036 -006c7a dfe4 RCALL 0x6c44 +005bcc ec4b CALL 0x6c96,0x0 void parse_PD_packet(void) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005bce f036 +006c96 dfe4 RCALL 0x6c60 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c unsigned char port; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c unsigned char pin; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c @@ -22032,215 +22062,215 @@ Address Value Disassembly Source C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c print_command(FALSE, FALSE); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -006c7c 0e05 MOVLW 0x5 extract_number(kUCASE_ASCII_CHAR, &port, kREQUIRED); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -006c7e dfc5 RCALL 0x6c0a -006c80 dfc8 RCALL 0x6c12 extract_number(kUCHAR, &pin, kREQUIRED); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +006c98 0e05 MOVLW 0x5 extract_number(kUCASE_ASCII_CHAR, &port, kREQUIRED); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +006c9a dfc5 RCALL 0x6c26 +006c9c dfc8 RCALL 0x6c2e extract_number(kUCHAR, &pin, kREQUIRED); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c extract_number(kUCHAR, &direction, kREQUIRED); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // Bail if we got a conversion error C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005bb4 e001 BZ 0x5bb8 if (error_byte) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005bb6 d090 BRA 0x5cd8 -006c82 0100 MOVLB 0x0 -006c84 5197 MOVF 0x97,0x0,0x1 -006c86 0012 RETURN 0x0 +005bd0 e001 BZ 0x5bd4 if (error_byte) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005bd2 d090 BRA 0x5cf4 +006c9e 0100 MOVLB 0x0 +006ca0 5197 MOVF 0x97,0x0,0x1 +006ca2 0012 RETURN 0x0 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c return; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // Limit check the parameters C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005bb8 0e02 MOVLW 0x2 if (direction > 1u) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005bba 50db MOVF 0xdb,0x0,0x0 -005bbc 0801 SUBLW 0x1 -005bbe e201 BC 0x5bc2 -005bc0 d087 BRA 0x5cd0 - { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - bitset(error_byte, kERROR_BYTE_PARAMETER_OUTSIDE_LIMIT); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - return; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005bc2 0e01 MOVLW 0x1 if (pin > 7u) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005bc4 50db MOVF 0xdb,0x0,0x0 -005bc6 0807 SUBLW 0x7 -005bc8 e201 BC 0x5bcc -005bca d082 BRA 0x5cd0 - { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - bitset(error_byte, kERROR_BYTE_PARAMETER_OUTSIDE_LIMIT); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - return; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005bcc 0e41 MOVLW 0x41 if ('A' == port) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005bce ec3f CALL 0x687e,0x0 -005bd0 f034 -005bd2 e116 BNZ 0x5c00 - { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005bd4 0e02 MOVLW 0x2 if (0u == direction) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005bd4 0e02 MOVLW 0x2 if (direction > 1u) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c 005bd6 50db MOVF 0xdb,0x0,0x0 -005bd8 e10a BNZ 0x5bee +005bd8 0801 SUBLW 0x1 +005bda e201 BC 0x5bde +005bdc d087 BRA 0x5cec + { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + bitset(error_byte, kERROR_BYTE_PARAMETER_OUTSIDE_LIMIT); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + return; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005bde 0e01 MOVLW 0x1 if (pin > 7u) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005be0 50db MOVF 0xdb,0x0,0x0 +005be2 0807 SUBLW 0x7 +005be4 e201 BC 0x5be8 +005be6 d082 BRA 0x5cec + { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + bitset(error_byte, kERROR_BYTE_PARAMETER_OUTSIDE_LIMIT); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + return; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005be8 0e41 MOVLW 0x41 if ('A' == port) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005bea ec4d CALL 0x689a,0x0 +005bec f034 +005bee e116 BNZ 0x5c1c + { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005bf0 0e02 MOVLW 0x2 if (0u == direction) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005bf2 50db MOVF 0xdb,0x0,0x0 +005bf4 e10a BNZ 0x5c0a { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005bda ec2b CALL 0x6856,0x0 bitclr(TRISA, pin); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005bdc f034 -005bde e003 BZ 0x5be6 -005be0 ec18 CALL 0x6830,0x0 -005be2 f034 -005be4 e1fd BNZ 0x5be0 -005be6 50f3 MOVF 0xf3,0x0,0x0 -005be8 1cf3 COMF 0xf3,0x0,0x0 -005bea 1692 ANDWF 0x92,0x1,0x0 +005bf6 ec39 CALL 0x6872,0x0 bitclr(TRISA, pin); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005bf8 f034 +005bfa e003 BZ 0x5c02 +005bfc ec26 CALL 0x684c,0x0 +005bfe f034 +005c00 e1fd BNZ 0x5bfc +005c02 50f3 MOVF 0xf3,0x0,0x0 +005c04 1cf3 COMF 0xf3,0x0,0x0 +005c06 1692 ANDWF 0x92,0x1,0x0 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005bec d073 BRA 0x5cd4 else C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005c08 d073 BRA 0x5cf0 else C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005bee ec2b CALL 0x6856,0x0 bitset(TRISA, pin); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005bf0 f034 -005bf2 e003 BZ 0x5bfa -005bf4 ec18 CALL 0x6830,0x0 -005bf6 f034 -005bf8 e1fd BNZ 0x5bf4 -005bfa 50f3 MOVF 0xf3,0x0,0x0 -005bfc 1292 IORWF 0x92,0x1,0x0 +005c0a ec39 CALL 0x6872,0x0 bitset(TRISA, pin); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005c0c f034 +005c0e e003 BZ 0x5c16 +005c10 ec26 CALL 0x684c,0x0 +005c12 f034 +005c14 e1fd BNZ 0x5c10 +005c16 50f3 MOVF 0xf3,0x0,0x0 +005c18 1292 IORWF 0x92,0x1,0x0 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005bfe d06a BRA 0x5cd4 else if ('B' == port) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005c00 0e42 MOVLW 0x42 -005c02 ec3f CALL 0x687e,0x0 -005c04 f034 -005c06 e116 BNZ 0x5c34 +005c1a d06a BRA 0x5cf0 else if ('B' == port) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005c1c 0e42 MOVLW 0x42 +005c1e ec4d CALL 0x689a,0x0 +005c20 f034 +005c22 e116 BNZ 0x5c50 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005c08 0e02 MOVLW 0x2 if (0u == direction) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005c0a 50db MOVF 0xdb,0x0,0x0 -005c0c e10a BNZ 0x5c22 +005c24 0e02 MOVLW 0x2 if (0u == direction) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005c26 50db MOVF 0xdb,0x0,0x0 +005c28 e10a BNZ 0x5c3e { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005c0e ec2b CALL 0x6856,0x0 bitclr(TRISB, pin); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005c10 f034 -005c12 e003 BZ 0x5c1a -005c14 ec18 CALL 0x6830,0x0 -005c16 f034 -005c18 e1fd BNZ 0x5c14 -005c1a 50f3 MOVF 0xf3,0x0,0x0 -005c1c 1cf3 COMF 0xf3,0x0,0x0 -005c1e 1693 ANDWF 0x93,0x1,0x0 +005c2a ec39 CALL 0x6872,0x0 bitclr(TRISB, pin); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005c2c f034 +005c2e e003 BZ 0x5c36 +005c30 ec26 CALL 0x684c,0x0 +005c32 f034 +005c34 e1fd BNZ 0x5c30 +005c36 50f3 MOVF 0xf3,0x0,0x0 +005c38 1cf3 COMF 0xf3,0x0,0x0 +005c3a 1693 ANDWF 0x93,0x1,0x0 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005c20 d059 BRA 0x5cd4 else C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005c3c d059 BRA 0x5cf0 else C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005c22 ec2b CALL 0x6856,0x0 bitset(TRISB, pin); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005c24 f034 -005c26 e003 BZ 0x5c2e -005c28 ec18 CALL 0x6830,0x0 -005c2a f034 -005c2c e1fd BNZ 0x5c28 -005c2e 50f3 MOVF 0xf3,0x0,0x0 -005c30 1293 IORWF 0x93,0x1,0x0 +005c3e ec39 CALL 0x6872,0x0 bitset(TRISB, pin); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005c40 f034 +005c42 e003 BZ 0x5c4a +005c44 ec26 CALL 0x684c,0x0 +005c46 f034 +005c48 e1fd BNZ 0x5c44 +005c4a 50f3 MOVF 0xf3,0x0,0x0 +005c4c 1293 IORWF 0x93,0x1,0x0 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005c32 d050 BRA 0x5cd4 else if ('C' == port) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005c34 0e43 MOVLW 0x43 -005c36 ec3f CALL 0x687e,0x0 -005c38 f034 -005c3a e116 BNZ 0x5c68 +005c4e d050 BRA 0x5cf0 else if ('C' == port) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005c50 0e43 MOVLW 0x43 +005c52 ec4d CALL 0x689a,0x0 +005c54 f034 +005c56 e116 BNZ 0x5c84 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005c3c 0e02 MOVLW 0x2 if (0u == direction) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005c3e 50db MOVF 0xdb,0x0,0x0 -005c40 e10a BNZ 0x5c56 +005c58 0e02 MOVLW 0x2 if (0u == direction) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005c5a 50db MOVF 0xdb,0x0,0x0 +005c5c e10a BNZ 0x5c72 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005c42 ec2b CALL 0x6856,0x0 bitclr(TRISC, pin); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005c44 f034 -005c46 e003 BZ 0x5c4e -005c48 ec18 CALL 0x6830,0x0 -005c4a f034 -005c4c e1fd BNZ 0x5c48 -005c4e 50f3 MOVF 0xf3,0x0,0x0 -005c50 1cf3 COMF 0xf3,0x0,0x0 -005c52 1694 ANDWF 0x94,0x1,0x0 +005c5e ec39 CALL 0x6872,0x0 bitclr(TRISC, pin); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005c60 f034 +005c62 e003 BZ 0x5c6a +005c64 ec26 CALL 0x684c,0x0 +005c66 f034 +005c68 e1fd BNZ 0x5c64 +005c6a 50f3 MOVF 0xf3,0x0,0x0 +005c6c 1cf3 COMF 0xf3,0x0,0x0 +005c6e 1694 ANDWF 0x94,0x1,0x0 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005c54 d03f BRA 0x5cd4 else C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005c70 d03f BRA 0x5cf0 else C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005c56 ec2b CALL 0x6856,0x0 bitset(TRISC, pin); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005c58 f034 -005c5a e003 BZ 0x5c62 -005c5c ec18 CALL 0x6830,0x0 -005c5e f034 -005c60 e1fd BNZ 0x5c5c -005c62 50f3 MOVF 0xf3,0x0,0x0 -005c64 1294 IORWF 0x94,0x1,0x0 +005c72 ec39 CALL 0x6872,0x0 bitset(TRISC, pin); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005c74 f034 +005c76 e003 BZ 0x5c7e +005c78 ec26 CALL 0x684c,0x0 +005c7a f034 +005c7c e1fd BNZ 0x5c78 +005c7e 50f3 MOVF 0xf3,0x0,0x0 +005c80 1294 IORWF 0x94,0x1,0x0 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005c66 d036 BRA 0x5cd4 else if ('D' == port) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005c68 0e44 MOVLW 0x44 -005c6a ec3f CALL 0x687e,0x0 -005c6c f034 -005c6e e116 BNZ 0x5c9c +005c82 d036 BRA 0x5cf0 else if ('D' == port) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005c84 0e44 MOVLW 0x44 +005c86 ec4d CALL 0x689a,0x0 +005c88 f034 +005c8a e116 BNZ 0x5cb8 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005c70 0e02 MOVLW 0x2 if (0u == direction) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005c72 50db MOVF 0xdb,0x0,0x0 -005c74 e10a BNZ 0x5c8a +005c8c 0e02 MOVLW 0x2 if (0u == direction) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005c8e 50db MOVF 0xdb,0x0,0x0 +005c90 e10a BNZ 0x5ca6 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005c76 ec2b CALL 0x6856,0x0 bitclr(TRISD, pin); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005c78 f034 -005c7a e003 BZ 0x5c82 -005c7c ec18 CALL 0x6830,0x0 -005c7e f034 -005c80 e1fd BNZ 0x5c7c -005c82 50f3 MOVF 0xf3,0x0,0x0 -005c84 1cf3 COMF 0xf3,0x0,0x0 -005c86 1695 ANDWF 0x95,0x1,0x0 +005c92 ec39 CALL 0x6872,0x0 bitclr(TRISD, pin); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005c94 f034 +005c96 e003 BZ 0x5c9e +005c98 ec26 CALL 0x684c,0x0 +005c9a f034 +005c9c e1fd BNZ 0x5c98 +005c9e 50f3 MOVF 0xf3,0x0,0x0 +005ca0 1cf3 COMF 0xf3,0x0,0x0 +005ca2 1695 ANDWF 0x95,0x1,0x0 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005c88 d025 BRA 0x5cd4 else C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005ca4 d025 BRA 0x5cf0 else C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005c8a ec2b CALL 0x6856,0x0 bitset(TRISD, pin); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005c8c f034 -005c8e e003 BZ 0x5c96 -005c90 ec18 CALL 0x6830,0x0 -005c92 f034 -005c94 e1fd BNZ 0x5c90 -005c96 50f3 MOVF 0xf3,0x0,0x0 -005c98 1295 IORWF 0x95,0x1,0x0 +005ca6 ec39 CALL 0x6872,0x0 bitset(TRISD, pin); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005ca8 f034 +005caa e003 BZ 0x5cb2 +005cac ec26 CALL 0x684c,0x0 +005cae f034 +005cb0 e1fd BNZ 0x5cac +005cb2 50f3 MOVF 0xf3,0x0,0x0 +005cb4 1295 IORWF 0x95,0x1,0x0 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005c9a d01c BRA 0x5cd4 else if ('E' == port) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005c9c 0e45 MOVLW 0x45 -005c9e ec3f CALL 0x687e,0x0 -005ca0 f034 -005ca2 e116 BNZ 0x5cd0 +005cb6 d01c BRA 0x5cf0 else if ('E' == port) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005cb8 0e45 MOVLW 0x45 +005cba ec4d CALL 0x689a,0x0 +005cbc f034 +005cbe e116 BNZ 0x5cec { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005ca4 0e02 MOVLW 0x2 if (0u == direction) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005ca6 50db MOVF 0xdb,0x0,0x0 -005ca8 e10a BNZ 0x5cbe +005cc0 0e02 MOVLW 0x2 if (0u == direction) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005cc2 50db MOVF 0xdb,0x0,0x0 +005cc4 e10a BNZ 0x5cda { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005caa ec2b CALL 0x6856,0x0 bitclr(TRISE, pin); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005cac f034 -005cae e003 BZ 0x5cb6 -005cb0 ec18 CALL 0x6830,0x0 -005cb2 f034 -005cb4 e1fd BNZ 0x5cb0 -005cb6 50f3 MOVF 0xf3,0x0,0x0 -005cb8 1cf3 COMF 0xf3,0x0,0x0 -005cba 1696 ANDWF 0x96,0x1,0x0 +005cc6 ec39 CALL 0x6872,0x0 bitclr(TRISE, pin); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005cc8 f034 +005cca e003 BZ 0x5cd2 +005ccc ec26 CALL 0x684c,0x0 +005cce f034 +005cd0 e1fd BNZ 0x5ccc +005cd2 50f3 MOVF 0xf3,0x0,0x0 +005cd4 1cf3 COMF 0xf3,0x0,0x0 +005cd6 1696 ANDWF 0x96,0x1,0x0 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005cbc d00b BRA 0x5cd4 else C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005cd8 d00b BRA 0x5cf0 else C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005cbe ec2b CALL 0x6856,0x0 bitset(TRISE, pin); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005cc0 f034 -005cc2 e003 BZ 0x5cca -005cc4 ec18 CALL 0x6830,0x0 -005cc6 f034 -005cc8 e1fd BNZ 0x5cc4 -005cca 50f3 MOVF 0xf3,0x0,0x0 -005ccc 1296 IORWF 0x96,0x1,0x0 +005cda ec39 CALL 0x6872,0x0 bitset(TRISE, pin); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005cdc f034 +005cde e003 BZ 0x5ce6 +005ce0 ec26 CALL 0x684c,0x0 +005ce2 f034 +005ce4 e1fd BNZ 0x5ce0 +005ce6 50f3 MOVF 0xf3,0x0,0x0 +005ce8 1296 IORWF 0x96,0x1,0x0 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005cce d002 BRA 0x5cd4 else C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005cea d002 BRA 0x5cf0 else C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005cd0 8d97 BSF 0x97,0x6,0x1 bitset(error_byte, kERROR_BYTE_PARAMETER_OUTSIDE_LIMIT); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005cd2 d002 BRA 0x5cd8 return; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005cec 8d97 BSF 0x97,0x6,0x1 bitset(error_byte, kERROR_BYTE_PARAMETER_OUTSIDE_LIMIT); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005cee d002 BRA 0x5cf4 return; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005cd4 ec26 CALL 0x684c,0x0 print_line_ending(kLE_OK_NORM); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005cd6 f034 -005cd8 0e03 MOVLW 0x3 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005cda 5ce1 SUBWF 0xe1,0x0,0x0 -005cdc e202 BC 0x5ce2 -005cde 6ae1 CLRF 0xe1,0x0 -005ce0 52e5 MOVF 0xe5,0x1,0x0 -005ce2 6ee1 MOVWF 0xe1,0x0 -005ce4 eff2 GOTO 0x67e4 -005ce6 f033 +005cf0 ec34 CALL 0x6868,0x0 print_line_ending(kLE_OK_NORM); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005cf2 f034 +005cf4 0e03 MOVLW 0x3 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005cf6 5ce1 SUBWF 0xe1,0x0,0x0 +005cf8 e202 BC 0x5cfe +005cfa 6ae1 CLRF 0xe1,0x0 +005cfc 52e5 MOVF 0xe5,0x1,0x0 +005cfe 6ee1 MOVWF 0xe1,0x0 +005d00 ef00 GOTO 0x6800 +005d02 f034 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // PI is for Pin Input C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // "PI,," C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c @@ -22249,425 +22279,425 @@ Address Value Disassembly Source // The command returns a "PI," packet, C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // where is the value (0 or 1 for digital) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // value for that pin. C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005ce8 ec26 CALL 0x6c4c,0x0 void parse_PI_packet(void) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005cea f036 -006c4c ddc6 RCALL 0x67da -006c4e 0e03 MOVLW 0x3 -006c50 26e1 ADDWF 0xe1,0x1,0x0 -006c52 0012 RETURN 0x0 +005d04 ec34 CALL 0x6c68,0x0 void parse_PI_packet(void) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005d06 f036 +006c68 ddc6 RCALL 0x67f6 +006c6a 0e03 MOVLW 0x3 +006c6c 26e1 ADDWF 0xe1,0x1,0x0 +006c6e 0012 RETURN 0x0 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c UINT8 port; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c UINT8 pin; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005cec 0e02 MOVLW 0x2 UINT8 value = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005cee 6adb CLRF 0xdb,0x0 +005d08 0e02 MOVLW 0x2 UINT8 value = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005d0a 6adb CLRF 0xdb,0x0 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005cf0 ec9e CALL 0x6b3c,0x0 print_command(TRUE, TRUE); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005cf2 f035 -006b3c 0e01 MOVLW 0x1 -006b3e 6ee6 MOVWF 0xe6,0x0 -006b40 6ee6 MOVWF 0xe6,0x0 -006b42 efe2 GOTO 0x67c4 -006b44 f033 +005d0c ecac CALL 0x6b58,0x0 print_command(TRUE, TRUE); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005d0e f035 +006b58 0e01 MOVLW 0x1 +006b5a 6ee6 MOVWF 0xe6,0x0 +006b5c 6ee6 MOVWF 0xe6,0x0 +006b5e eff0 GOTO 0x67e0 +006b60 f033 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005cf4 0e05 MOVLW 0x5 extract_number(kUCASE_ASCII_CHAR, &port, kREQUIRED); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005cf6 ec05 CALL 0x6c0a,0x0 -005cf8 f036 -005cfa 0f01 ADDLW 0x1 extract_number(kUCHAR, &pin, kREQUIRED); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005cfc ec44 CALL 0x6c88,0x0 -005cfe f036 -006c88 dee8 RCALL 0x6a5a +005d10 0e05 MOVLW 0x5 extract_number(kUCASE_ASCII_CHAR, &port, kREQUIRED); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005d12 ec13 CALL 0x6c26,0x0 +005d14 f036 +005d16 0f01 ADDLW 0x1 extract_number(kUCHAR, &pin, kREQUIRED); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005d18 ec52 CALL 0x6ca4,0x0 +005d1a f036 +006ca4 dee8 RCALL 0x6a76 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // Bail if we got a conversion error C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005d00 e160 BNZ 0x5dc2 if (error_byte) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -006c8a 0100 MOVLB 0x0 -006c8c 5197 MOVF 0x97,0x0,0x1 -006c8e 0012 RETURN 0x0 +005d1c e160 BNZ 0x5dde if (error_byte) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +006ca6 0100 MOVLB 0x0 +006ca8 5197 MOVF 0x97,0x0,0x1 +006caa 0012 RETURN 0x0 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c return; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // Limit check the parameters C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005d02 0e01 MOVLW 0x1 if (pin > 7u) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005d04 50db MOVF 0xdb,0x0,0x0 -005d06 0807 SUBLW 0x7 -005d08 e350 BNC 0x5daa +005d1e 0e01 MOVLW 0x1 if (pin > 7u) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005d20 50db MOVF 0xdb,0x0,0x0 +005d22 0807 SUBLW 0x7 +005d24 e350 BNC 0x5dc6 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c bitset(error_byte, kERROR_BYTE_PARAMETER_OUTSIDE_LIMIT); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c return; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // Then test the bit in question based upon port C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005d0a 0e41 MOVLW 0x41 if ('A' == port) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005d0c ec3f CALL 0x687e,0x0 -005d0e f034 -005d10 e10a BNZ 0x5d26 - { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005d12 ec2b CALL 0x6856,0x0 value = bittst(PORTA, pin); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005d14 f034 -005d16 e003 BZ 0x5d1e -005d18 ec18 CALL 0x6830,0x0 -005d1a f034 -005d1c e1fd BNZ 0x5d18 -005d1e 50f3 MOVF 0xf3,0x0,0x0 -005d20 1480 ANDWF 0x80,0x0,0x0 -005d22 e039 BZ 0x5d96 - } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005d24 d029 BRA 0x5d78 else if ('B' == port) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005d26 0e42 MOVLW 0x42 -005d28 ec3f CALL 0x687e,0x0 +005d26 0e41 MOVLW 0x41 if ('A' == port) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005d28 ec4d CALL 0x689a,0x0 005d2a f034 005d2c e10a BNZ 0x5d42 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005d2e ec2b CALL 0x6856,0x0 value = bittst(PORTB, pin); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005d2e ec39 CALL 0x6872,0x0 value = bittst(PORTA, pin); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c 005d30 f034 005d32 e003 BZ 0x5d3a -005d34 ec18 CALL 0x6830,0x0 +005d34 ec26 CALL 0x684c,0x0 005d36 f034 005d38 e1fd BNZ 0x5d34 005d3a 50f3 MOVF 0xf3,0x0,0x0 -005d3c 1481 ANDWF 0x81,0x0,0x0 -005d3e e11c BNZ 0x5d78 -005d40 d02a BRA 0x5d96 +005d3c 1480 ANDWF 0x80,0x0,0x0 +005d3e e039 BZ 0x5db2 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005d42 0e43 MOVLW 0x43 else if ('C' == port) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005d44 ec3f CALL 0x687e,0x0 +005d40 d029 BRA 0x5d94 else if ('B' == port) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005d42 0e42 MOVLW 0x42 +005d44 ec4d CALL 0x689a,0x0 005d46 f034 005d48 e10a BNZ 0x5d5e { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005d4a ec2b CALL 0x6856,0x0 value = bittst(PORTC, pin); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005d4a ec39 CALL 0x6872,0x0 value = bittst(PORTB, pin); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c 005d4c f034 005d4e e003 BZ 0x5d56 -005d50 ec18 CALL 0x6830,0x0 +005d50 ec26 CALL 0x684c,0x0 005d52 f034 005d54 e1fd BNZ 0x5d50 005d56 50f3 MOVF 0xf3,0x0,0x0 -005d58 1482 ANDWF 0x82,0x0,0x0 -005d5a e10e BNZ 0x5d78 -005d5c d01c BRA 0x5d96 +005d58 1481 ANDWF 0x81,0x0,0x0 +005d5a e11c BNZ 0x5d94 +005d5c d02a BRA 0x5db2 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005d5e 0e44 MOVLW 0x44 else if ('D' == port) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005d60 ec3f CALL 0x687e,0x0 +005d5e 0e43 MOVLW 0x43 else if ('C' == port) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005d60 ec4d CALL 0x689a,0x0 005d62 f034 -005d64 e10b BNZ 0x5d7c +005d64 e10a BNZ 0x5d7a { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005d66 ec2b CALL 0x6856,0x0 value = bittst(PORTD, pin); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005d66 ec39 CALL 0x6872,0x0 value = bittst(PORTC, pin); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c 005d68 f034 005d6a e003 BZ 0x5d72 -005d6c ec18 CALL 0x6830,0x0 +005d6c ec26 CALL 0x684c,0x0 005d6e f034 005d70 e1fd BNZ 0x5d6c 005d72 50f3 MOVF 0xf3,0x0,0x0 -005d74 1483 ANDWF 0x83,0x0,0x0 -005d76 e00f BZ 0x5d96 -005d78 0e01 MOVLW 0x1 +005d74 1482 ANDWF 0x82,0x0,0x0 +005d76 e10e BNZ 0x5d94 +005d78 d01c BRA 0x5db2 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005d7a d010 BRA 0x5d9c else if ('E' == port) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005d7c 0e45 MOVLW 0x45 -005d7e ec3f CALL 0x687e,0x0 -005d80 f034 -005d82 e113 BNZ 0x5daa +005d7a 0e44 MOVLW 0x44 else if ('D' == port) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005d7c ec4d CALL 0x689a,0x0 +005d7e f034 +005d80 e10b BNZ 0x5d98 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005d84 ec2b CALL 0x6856,0x0 value = bittst(PORTE, pin); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005d86 f034 -005d88 e003 BZ 0x5d90 -005d8a ec18 CALL 0x6830,0x0 -005d8c f034 -005d8e e1fd BNZ 0x5d8a -005d90 50f3 MOVF 0xf3,0x0,0x0 -005d92 1484 ANDWF 0x84,0x0,0x0 -005d94 e102 BNZ 0x5d9a -005d96 0e00 MOVLW 0x0 -005d98 d001 BRA 0x5d9c -005d9a 0e01 MOVLW 0x1 -005d9c 6ee7 MOVWF 0xe7,0x0 -005d9e 0e02 MOVLW 0x2 -005da0 cfe7 MOVFF 0xfe7,0xfdb -005da2 ffdb +005d82 ec39 CALL 0x6872,0x0 value = bittst(PORTD, pin); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005d84 f034 +005d86 e003 BZ 0x5d8e +005d88 ec26 CALL 0x684c,0x0 +005d8a f034 +005d8c e1fd BNZ 0x5d88 +005d8e 50f3 MOVF 0xf3,0x0,0x0 +005d90 1483 ANDWF 0x83,0x0,0x0 +005d92 e00f BZ 0x5db2 +005d94 0e01 MOVLW 0x1 + } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005d96 d010 BRA 0x5db8 else if ('E' == port) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005d98 0e45 MOVLW 0x45 +005d9a ec4d CALL 0x689a,0x0 +005d9c f034 +005d9e e113 BNZ 0x5dc6 + { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005da0 ec39 CALL 0x6872,0x0 value = bittst(PORTE, pin); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005da2 f034 +005da4 e003 BZ 0x5dac +005da6 ec26 CALL 0x684c,0x0 +005da8 f034 +005daa e1fd BNZ 0x5da6 +005dac 50f3 MOVF 0xf3,0x0,0x0 +005dae 1484 ANDWF 0x84,0x0,0x0 +005db0 e102 BNZ 0x5db6 +005db2 0e00 MOVLW 0x0 +005db4 d001 BRA 0x5db8 +005db6 0e01 MOVLW 0x1 +005db8 6ee7 MOVWF 0xe7,0x0 +005dba 0e02 MOVLW 0x2 +005dbc cfe7 MOVFF 0xfe7,0xfdb +005dbe ffdb } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c else C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005daa 8d97 BSF 0x97,0x6,0x1 bitset(error_byte, kERROR_BYTE_PARAMETER_OUTSIDE_LIMIT); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005dac d00a BRA 0x5dc2 return; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005dc6 8d97 BSF 0x97,0x6,0x1 bitset(error_byte, kERROR_BYTE_PARAMETER_OUTSIDE_LIMIT); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005dc8 d00a BRA 0x5dde return; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // Convert to just a binary 1 or 0 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005da4 50db MOVF 0xdb,0x0,0x0 if (value) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005da6 e008 BZ 0x5db8 -005da8 d002 BRA 0x5dae +005dc0 50db MOVF 0xdb,0x0,0x0 if (value) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005dc2 e008 BZ 0x5dd4 +005dc4 d002 BRA 0x5dca { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005dae 0e01 MOVLW 0x1 value = 1; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005db0 6ef3 MOVWF 0xf3,0x0 -005db2 0e02 MOVLW 0x2 -005db4 cff3 MOVFF 0xff3,0xfdb -005db6 ffdb +005dca 0e01 MOVLW 0x1 value = 1; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005dcc 6ef3 MOVWF 0xf3,0x0 +005dce 0e02 MOVLW 0x2 +005dd0 cff3 MOVFF 0xff3,0xfdb +005dd2 ffdb } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // Now send back our response C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005db8 0e02 MOVLW 0x2 ebb_print_uint(value); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005dba ecd7 CALL 0x69ae,0x0 -005dbc f034 -005dbe ec41 CALL 0x6a82,0x0 -005dc0 f035 -0069ae cfdb MOVFF 0xfdb,0x33 -0069b0 f033 -0069b2 ef01 GOTO 0x6c02 -0069b4 f036 -006c02 6a34 CLRF 0x34,0x0 -006c04 6a35 CLRF 0x35,0x0 -006c06 6a36 CLRF 0x36,0x0 -006c08 0012 RETURN 0x0 +005dd4 0e02 MOVLW 0x2 ebb_print_uint(value); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005dd6 ece5 CALL 0x69ca,0x0 +005dd8 f034 +005dda ec4f CALL 0x6a9e,0x0 +005ddc f035 +0069ca cfdb MOVFF 0xfdb,0x47 +0069cc f047 +0069ce ef0f GOTO 0x6c1e +0069d0 f036 +006c1e 6a48 CLRF 0x48,0x0 +006c20 6a49 CLRF 0x49,0x0 +006c22 6a4a CLRF 0x4a,0x0 +006c24 0012 RETURN 0x0 print_line_ending(kLE_NORM); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005dc2 0e03 MOVLW 0x3 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005dc4 5ce1 SUBWF 0xe1,0x0,0x0 -005dc6 e202 BC 0x5dcc -005dc8 6ae1 CLRF 0xe1,0x0 -005dca 52e5 MOVF 0xe5,0x1,0x0 -005dcc 6ee1 MOVWF 0xe1,0x0 -005dce eff2 GOTO 0x67e4 -005dd0 f033 +005dde 0e03 MOVLW 0x3 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005de0 5ce1 SUBWF 0xe1,0x0,0x0 +005de2 e202 BC 0x5de8 +005de4 6ae1 CLRF 0xe1,0x0 +005de6 52e5 MOVF 0xe5,0x1,0x0 +005de8 6ee1 MOVWF 0xe1,0x0 +005dea ef00 GOTO 0x6800 +005dec f034 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // PO is for Pin Output C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // "PO,,," C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // is "A", "B", "C" and indicates the port C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // is a number between 0 and 7 and indicates which pin to write out the value to C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // is "1" or "0" and indicates the state to change the pin to C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005dd2 ec3d CALL 0x6c7a,0x0 void parse_PO_packet(void) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005dd4 f036 -006c44 ddca RCALL 0x67da -006c46 0e03 MOVLW 0x3 -006c48 ef3c GOTO 0x6a78 +005dee ec4b CALL 0x6c96,0x0 void parse_PO_packet(void) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005df0 f036 +006c60 ddca RCALL 0x67f6 +006c62 0e03 MOVLW 0x3 +006c64 ef4a GOTO 0x6a94 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c unsigned char port; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c unsigned char pin; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c unsigned char value; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -006c4a f035 print_command(FALSE, FALSE); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +006c66 f035 print_command(FALSE, FALSE); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -006c0a ddd1 RCALL 0x67ae extract_number(kUCASE_ASCII_CHAR, &port, kREQUIRED); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -006c0c 6ae6 CLRF 0xe6,0x0 extract_number(kUCHAR, &pin, kREQUIRED); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -006c0e 50d9 MOVF 0xd9,0x0,0x0 -006c10 0012 RETURN 0x0 -006c12 0f01 ADDLW 0x1 -006c14 df22 RCALL 0x6a5a -006c16 6ae6 CLRF 0xe6,0x0 extract_number(kUCHAR, &value, kREQUIRED); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -006c18 50d9 MOVF 0xd9,0x0,0x0 -006c1a 0f02 ADDLW 0x2 -006c1c ef2d GOTO 0x6a5a -006c1e f035 +006c26 ddd1 RCALL 0x67ca extract_number(kUCASE_ASCII_CHAR, &port, kREQUIRED); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +006c28 6ae6 CLRF 0xe6,0x0 extract_number(kUCHAR, &pin, kREQUIRED); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +006c2a 50d9 MOVF 0xd9,0x0,0x0 +006c2c 0012 RETURN 0x0 +006c2e 0f01 ADDLW 0x1 +006c30 df22 RCALL 0x6a76 +006c32 6ae6 CLRF 0xe6,0x0 extract_number(kUCHAR, &value, kREQUIRED); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +006c34 50d9 MOVF 0xd9,0x0,0x0 +006c36 0f02 ADDLW 0x2 +006c38 ef3b GOTO 0x6a76 +006c3a f035 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // Bail if we got a conversion error C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005dd6 e001 BZ 0x5dda if (error_byte) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005dd8 d090 BRA 0x5efa +005df2 e001 BZ 0x5df6 if (error_byte) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005df4 d090 BRA 0x5f16 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c return; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // Limit check the parameters C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005dda 0e02 MOVLW 0x2 if (value > 1u) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005ddc 50db MOVF 0xdb,0x0,0x0 -005dde 0801 SUBLW 0x1 -005de0 e201 BC 0x5de4 -005de2 d087 BRA 0x5ef2 - { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - bitset(error_byte, kERROR_BYTE_PARAMETER_OUTSIDE_LIMIT); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - return; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005de4 0e01 MOVLW 0x1 if (pin > 7u) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005de6 50db MOVF 0xdb,0x0,0x0 -005de8 0807 SUBLW 0x7 -005dea e201 BC 0x5dee -005dec d082 BRA 0x5ef2 - { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - bitset(error_byte, kERROR_BYTE_PARAMETER_OUTSIDE_LIMIT); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - return; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005dee 0e41 MOVLW 0x41 if ('A' == port) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005df0 ec3f CALL 0x687e,0x0 -005df2 f034 -005df4 e116 BNZ 0x5e22 - { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005df6 0e02 MOVLW 0x2 if (0u == value) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005df6 0e02 MOVLW 0x2 if (value > 1u) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c 005df8 50db MOVF 0xdb,0x0,0x0 -005dfa e10a BNZ 0x5e10 +005dfa 0801 SUBLW 0x1 +005dfc e201 BC 0x5e00 +005dfe d087 BRA 0x5f0e + { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + bitset(error_byte, kERROR_BYTE_PARAMETER_OUTSIDE_LIMIT); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + return; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005e00 0e01 MOVLW 0x1 if (pin > 7u) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005e02 50db MOVF 0xdb,0x0,0x0 +005e04 0807 SUBLW 0x7 +005e06 e201 BC 0x5e0a +005e08 d082 BRA 0x5f0e + { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + bitset(error_byte, kERROR_BYTE_PARAMETER_OUTSIDE_LIMIT); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + return; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005e0a 0e41 MOVLW 0x41 if ('A' == port) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005e0c ec4d CALL 0x689a,0x0 +005e0e f034 +005e10 e116 BNZ 0x5e3e + { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005e12 0e02 MOVLW 0x2 if (0u == value) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005e14 50db MOVF 0xdb,0x0,0x0 +005e16 e10a BNZ 0x5e2c { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005dfc ec2b CALL 0x6856,0x0 bitclr(LATA, pin); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005dfe f034 -005e00 e003 BZ 0x5e08 -005e02 ec18 CALL 0x6830,0x0 -005e04 f034 -005e06 e1fd BNZ 0x5e02 -005e08 50f3 MOVF 0xf3,0x0,0x0 -005e0a 1cf3 COMF 0xf3,0x0,0x0 -005e0c 1689 ANDWF 0x89,0x1,0x0 +005e18 ec39 CALL 0x6872,0x0 bitclr(LATA, pin); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005e1a f034 +005e1c e003 BZ 0x5e24 +005e1e ec26 CALL 0x684c,0x0 +005e20 f034 +005e22 e1fd BNZ 0x5e1e +005e24 50f3 MOVF 0xf3,0x0,0x0 +005e26 1cf3 COMF 0xf3,0x0,0x0 +005e28 1689 ANDWF 0x89,0x1,0x0 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005e0e d073 BRA 0x5ef6 else C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005e2a d073 BRA 0x5f12 else C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005e10 ec2b CALL 0x6856,0x0 bitset(LATA, pin); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005e12 f034 -005e14 e003 BZ 0x5e1c -005e16 ec18 CALL 0x6830,0x0 -005e18 f034 -005e1a e1fd BNZ 0x5e16 -005e1c 50f3 MOVF 0xf3,0x0,0x0 -005e1e 1289 IORWF 0x89,0x1,0x0 +005e2c ec39 CALL 0x6872,0x0 bitset(LATA, pin); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005e2e f034 +005e30 e003 BZ 0x5e38 +005e32 ec26 CALL 0x684c,0x0 +005e34 f034 +005e36 e1fd BNZ 0x5e32 +005e38 50f3 MOVF 0xf3,0x0,0x0 +005e3a 1289 IORWF 0x89,0x1,0x0 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005e20 d06a BRA 0x5ef6 else if ('B' == port) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005e22 0e42 MOVLW 0x42 -005e24 ec3f CALL 0x687e,0x0 -005e26 f034 -005e28 e116 BNZ 0x5e56 +005e3c d06a BRA 0x5f12 else if ('B' == port) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005e3e 0e42 MOVLW 0x42 +005e40 ec4d CALL 0x689a,0x0 +005e42 f034 +005e44 e116 BNZ 0x5e72 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005e2a 0e02 MOVLW 0x2 if (0u == value) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005e2c 50db MOVF 0xdb,0x0,0x0 -005e2e e10a BNZ 0x5e44 +005e46 0e02 MOVLW 0x2 if (0u == value) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005e48 50db MOVF 0xdb,0x0,0x0 +005e4a e10a BNZ 0x5e60 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005e30 ec2b CALL 0x6856,0x0 bitclr(LATB, pin); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005e32 f034 -005e34 e003 BZ 0x5e3c -005e36 ec18 CALL 0x6830,0x0 -005e38 f034 -005e3a e1fd BNZ 0x5e36 -005e3c 50f3 MOVF 0xf3,0x0,0x0 -005e3e 1cf3 COMF 0xf3,0x0,0x0 -005e40 168a ANDWF 0x8a,0x1,0x0 +005e4c ec39 CALL 0x6872,0x0 bitclr(LATB, pin); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005e4e f034 +005e50 e003 BZ 0x5e58 +005e52 ec26 CALL 0x684c,0x0 +005e54 f034 +005e56 e1fd BNZ 0x5e52 +005e58 50f3 MOVF 0xf3,0x0,0x0 +005e5a 1cf3 COMF 0xf3,0x0,0x0 +005e5c 168a ANDWF 0x8a,0x1,0x0 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005e42 d059 BRA 0x5ef6 else C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005e5e d059 BRA 0x5f12 else C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005e44 ec2b CALL 0x6856,0x0 bitset(LATB, pin); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005e46 f034 -005e48 e003 BZ 0x5e50 -005e4a ec18 CALL 0x6830,0x0 -005e4c f034 -005e4e e1fd BNZ 0x5e4a -005e50 50f3 MOVF 0xf3,0x0,0x0 -005e52 128a IORWF 0x8a,0x1,0x0 +005e60 ec39 CALL 0x6872,0x0 bitset(LATB, pin); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005e62 f034 +005e64 e003 BZ 0x5e6c +005e66 ec26 CALL 0x684c,0x0 +005e68 f034 +005e6a e1fd BNZ 0x5e66 +005e6c 50f3 MOVF 0xf3,0x0,0x0 +005e6e 128a IORWF 0x8a,0x1,0x0 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005e54 d050 BRA 0x5ef6 else if ('C' == port) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005e56 0e43 MOVLW 0x43 -005e58 ec3f CALL 0x687e,0x0 -005e5a f034 -005e5c e116 BNZ 0x5e8a +005e70 d050 BRA 0x5f12 else if ('C' == port) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005e72 0e43 MOVLW 0x43 +005e74 ec4d CALL 0x689a,0x0 +005e76 f034 +005e78 e116 BNZ 0x5ea6 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005e5e 0e02 MOVLW 0x2 if (0u == value) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005e60 50db MOVF 0xdb,0x0,0x0 -005e62 e10a BNZ 0x5e78 +005e7a 0e02 MOVLW 0x2 if (0u == value) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005e7c 50db MOVF 0xdb,0x0,0x0 +005e7e e10a BNZ 0x5e94 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005e64 ec2b CALL 0x6856,0x0 bitclr(LATC, pin); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005e66 f034 -005e68 e003 BZ 0x5e70 -005e6a ec18 CALL 0x6830,0x0 -005e6c f034 -005e6e e1fd BNZ 0x5e6a -005e70 50f3 MOVF 0xf3,0x0,0x0 -005e72 1cf3 COMF 0xf3,0x0,0x0 -005e74 168b ANDWF 0x8b,0x1,0x0 +005e80 ec39 CALL 0x6872,0x0 bitclr(LATC, pin); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005e82 f034 +005e84 e003 BZ 0x5e8c +005e86 ec26 CALL 0x684c,0x0 +005e88 f034 +005e8a e1fd BNZ 0x5e86 +005e8c 50f3 MOVF 0xf3,0x0,0x0 +005e8e 1cf3 COMF 0xf3,0x0,0x0 +005e90 168b ANDWF 0x8b,0x1,0x0 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005e76 d03f BRA 0x5ef6 else C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005e92 d03f BRA 0x5f12 else C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005e78 ec2b CALL 0x6856,0x0 bitset(LATC, pin); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005e7a f034 -005e7c e003 BZ 0x5e84 -005e7e ec18 CALL 0x6830,0x0 -005e80 f034 -005e82 e1fd BNZ 0x5e7e -005e84 50f3 MOVF 0xf3,0x0,0x0 -005e86 128b IORWF 0x8b,0x1,0x0 +005e94 ec39 CALL 0x6872,0x0 bitset(LATC, pin); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005e96 f034 +005e98 e003 BZ 0x5ea0 +005e9a ec26 CALL 0x684c,0x0 +005e9c f034 +005e9e e1fd BNZ 0x5e9a +005ea0 50f3 MOVF 0xf3,0x0,0x0 +005ea2 128b IORWF 0x8b,0x1,0x0 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005e88 d036 BRA 0x5ef6 else if ('D' == port) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005e8a 0e44 MOVLW 0x44 -005e8c ec3f CALL 0x687e,0x0 -005e8e f034 -005e90 e116 BNZ 0x5ebe +005ea4 d036 BRA 0x5f12 else if ('D' == port) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005ea6 0e44 MOVLW 0x44 +005ea8 ec4d CALL 0x689a,0x0 +005eaa f034 +005eac e116 BNZ 0x5eda { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005e92 0e02 MOVLW 0x2 if (0u == value) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005e94 50db MOVF 0xdb,0x0,0x0 -005e96 e10a BNZ 0x5eac +005eae 0e02 MOVLW 0x2 if (0u == value) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005eb0 50db MOVF 0xdb,0x0,0x0 +005eb2 e10a BNZ 0x5ec8 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005e98 ec2b CALL 0x6856,0x0 bitclr(LATD, pin); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005e9a f034 -005e9c e003 BZ 0x5ea4 -005e9e ec18 CALL 0x6830,0x0 -005ea0 f034 -005ea2 e1fd BNZ 0x5e9e -005ea4 50f3 MOVF 0xf3,0x0,0x0 -005ea6 1cf3 COMF 0xf3,0x0,0x0 -005ea8 168c ANDWF 0x8c,0x1,0x0 +005eb4 ec39 CALL 0x6872,0x0 bitclr(LATD, pin); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005eb6 f034 +005eb8 e003 BZ 0x5ec0 +005eba ec26 CALL 0x684c,0x0 +005ebc f034 +005ebe e1fd BNZ 0x5eba +005ec0 50f3 MOVF 0xf3,0x0,0x0 +005ec2 1cf3 COMF 0xf3,0x0,0x0 +005ec4 168c ANDWF 0x8c,0x1,0x0 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005eaa d025 BRA 0x5ef6 else C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005ec6 d025 BRA 0x5f12 else C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005eac ec2b CALL 0x6856,0x0 bitset(LATD, pin); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005eae f034 -005eb0 e003 BZ 0x5eb8 -005eb2 ec18 CALL 0x6830,0x0 -005eb4 f034 -005eb6 e1fd BNZ 0x5eb2 -005eb8 50f3 MOVF 0xf3,0x0,0x0 -005eba 128c IORWF 0x8c,0x1,0x0 +005ec8 ec39 CALL 0x6872,0x0 bitset(LATD, pin); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005eca f034 +005ecc e003 BZ 0x5ed4 +005ece ec26 CALL 0x684c,0x0 +005ed0 f034 +005ed2 e1fd BNZ 0x5ece +005ed4 50f3 MOVF 0xf3,0x0,0x0 +005ed6 128c IORWF 0x8c,0x1,0x0 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005ebc d01c BRA 0x5ef6 else if ('E' == port) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005ebe 0e45 MOVLW 0x45 -005ec0 ec3f CALL 0x687e,0x0 -005ec2 f034 -005ec4 e116 BNZ 0x5ef2 -00687e 6e33 MOVWF 0x33,0x0 -006880 50df MOVF 0xdf,0x0,0x0 -006882 5c33 SUBWF 0x33,0x0,0x0 -006884 0012 RETURN 0x0 +005ed8 d01c BRA 0x5f12 else if ('E' == port) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005eda 0e45 MOVLW 0x45 +005edc ec4d CALL 0x689a,0x0 +005ede f034 +005ee0 e116 BNZ 0x5f0e +00689a 6e47 MOVWF 0x47,0x0 +00689c 50df MOVF 0xdf,0x0,0x0 +00689e 5c47 SUBWF 0x47,0x0,0x0 +0068a0 0012 RETURN 0x0 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005ec6 0e02 MOVLW 0x2 if (0u == value) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005ec8 50db MOVF 0xdb,0x0,0x0 -005eca e10a BNZ 0x5ee0 +005ee2 0e02 MOVLW 0x2 if (0u == value) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005ee4 50db MOVF 0xdb,0x0,0x0 +005ee6 e10a BNZ 0x5efc { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005ecc ec2b CALL 0x6856,0x0 bitclr(LATE, pin); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005ece f034 -005ed0 e003 BZ 0x5ed8 -005ed2 ec18 CALL 0x6830,0x0 -005ed4 f034 -005ed6 e1fd BNZ 0x5ed2 -005ed8 50f3 MOVF 0xf3,0x0,0x0 -005eda 1cf3 COMF 0xf3,0x0,0x0 -005edc 168d ANDWF 0x8d,0x1,0x0 +005ee8 ec39 CALL 0x6872,0x0 bitclr(LATE, pin); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005eea f034 +005eec e003 BZ 0x5ef4 +005eee ec26 CALL 0x684c,0x0 +005ef0 f034 +005ef2 e1fd BNZ 0x5eee +005ef4 50f3 MOVF 0xf3,0x0,0x0 +005ef6 1cf3 COMF 0xf3,0x0,0x0 +005ef8 168d ANDWF 0x8d,0x1,0x0 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005ede d00b BRA 0x5ef6 else C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005efa d00b BRA 0x5f12 else C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005ee0 ec2b CALL 0x6856,0x0 bitset(LATE, pin); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005ee2 f034 -005ee4 e003 BZ 0x5eec -005ee6 ec18 CALL 0x6830,0x0 -005ee8 f034 -005eea e1fd BNZ 0x5ee6 -005eec 50f3 MOVF 0xf3,0x0,0x0 -005eee 128d IORWF 0x8d,0x1,0x0 -006830 90d8 BCF 0xd8,0x0,0x0 -006832 36f3 RLCF 0xf3,0x1,0x0 -006834 06e8 DECF 0xe8,0x1,0x0 -006836 0012 RETURN 0x0 -006856 0e01 MOVLW 0x1 -006858 6ef3 MOVWF 0xf3,0x0 -00685a 50db MOVF 0xdb,0x0,0x0 -00685c 0012 RETURN 0x0 +005efc ec39 CALL 0x6872,0x0 bitset(LATE, pin); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005efe f034 +005f00 e003 BZ 0x5f08 +005f02 ec26 CALL 0x684c,0x0 +005f04 f034 +005f06 e1fd BNZ 0x5f02 +005f08 50f3 MOVF 0xf3,0x0,0x0 +005f0a 128d IORWF 0x8d,0x1,0x0 +00684c 90d8 BCF 0xd8,0x0,0x0 +00684e 36f3 RLCF 0xf3,0x1,0x0 +006850 06e8 DECF 0xe8,0x1,0x0 +006852 0012 RETURN 0x0 +006872 0e01 MOVLW 0x1 +006874 6ef3 MOVWF 0xf3,0x0 +006876 50db MOVF 0xdb,0x0,0x0 +006878 0012 RETURN 0x0 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005ef0 d002 BRA 0x5ef6 else C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005f0c d002 BRA 0x5f12 else C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005ef2 8d97 BSF 0x97,0x6,0x1 bitset(error_byte, kERROR_BYTE_PARAMETER_OUTSIDE_LIMIT); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005ef4 d002 BRA 0x5efa return; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005f0e 8d97 BSF 0x97,0x6,0x1 bitset(error_byte, kERROR_BYTE_PARAMETER_OUTSIDE_LIMIT); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005f10 d002 BRA 0x5f16 return; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005ef6 ec26 CALL 0x684c,0x0 print_line_ending(kLE_OK_NORM); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005ef8 f034 -005efa 0e03 MOVLW 0x3 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005efc 5ce1 SUBWF 0xe1,0x0,0x0 -005efe e202 BC 0x5f04 -005f00 6ae1 CLRF 0xe1,0x0 -005f02 52e5 MOVF 0xe5,0x1,0x0 -005f04 6ee1 MOVWF 0xe1,0x0 -005f06 eff2 GOTO 0x67e4 -005f08 f033 +005f12 ec34 CALL 0x6868,0x0 print_line_ending(kLE_OK_NORM); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005f14 f034 +005f16 0e03 MOVLW 0x3 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005f18 5ce1 SUBWF 0xe1,0x0,0x0 +005f1a e202 BC 0x5f20 +005f1c 6ae1 CLRF 0xe1,0x0 +005f1e 52e5 MOVF 0xe5,0x1,0x0 +005f20 6ee1 MOVWF 0xe1,0x0 +005f22 ef00 GOTO 0x6800 +005f24 f034 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c #if PC_PG_T_COMMANDS_ENABLED C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // PC Pulse Configure C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c @@ -22760,74 +22790,74 @@ Address Value Disassembly Source } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c #endif C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005f0a cfd9 MOVFF 0xfd9,0xfe6 void LongDelay(void) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005f0c ffe6 -005f0e cfe1 MOVFF 0xfe1,0xfd9 -005f10 ffd9 -005f12 52e6 MOVF 0xe6,0x1,0x0 +005f26 cfd9 MOVFF 0xfd9,0xfe6 void LongDelay(void) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005f28 ffe6 +005f2a cfe1 MOVFF 0xfe1,0xfd9 +005f2c ffd9 +005f2e 52e6 MOVF 0xe6,0x1,0x0 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c unsigned char i; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // A basic for() loop decrementing a 16 bit number would be simpler, but seems to take more code space for C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // a given delay. So do this instead: C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005f14 6adf CLRF 0xdf,0x0 for(i = 0; i < 0xFF; i++) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005f16 0eff MOVLW 0xff -005f18 5cdf SUBWF 0xdf,0x0,0x0 -005f1a e20a BC 0x5f30 -005f2c 2adf INCF 0xdf,0x1,0x0 -005f2e d7f3 BRA 0x5f16 +005f30 6adf CLRF 0xdf,0x0 for(i = 0; i < 0xFF; i++) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005f32 0eff MOVLW 0xff +005f34 5cdf SUBWF 0xdf,0x0,0x0 +005f36 e20a BC 0x5f4c +005f48 2adf INCF 0xdf,0x1,0x0 +005f4a d7f3 BRA 0x5f32 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005f1c 68e8 SETF 0xe8,0x0 WREG = 0xFF; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005f1e 50e8 MOVF 0xe8,0x0,0x0 while(WREG) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005f20 e005 BZ 0x5f2c -005f2a d7f9 BRA 0x5f1e +005f38 68e8 SETF 0xe8,0x0 WREG = 0xFF; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005f3a 50e8 MOVF 0xe8,0x0,0x0 while(WREG) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005f3c e005 BZ 0x5f48 +005f46 d7f9 BRA 0x5f3a { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005f22 06e8 DECF 0xe8,0x1,0x0 WREG--; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005f3e 06e8 DECF 0xe8,0x1,0x0 WREG--; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c _asm C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005f24 d000 BRA 0x5f26 bra 0 // Equivalent to bra $+2, which takes half as much code as 2 nop instructions C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005f26 d000 BRA 0x5f28 bra 0 // Equivalent to bra $+2, which takes half as much code as 2 nop instructions C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005f28 d000 BRA 0x5f2a bra 0 // Equivalent to bra $+2, which takes half as much code as 2 nop instructions C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005f40 d000 BRA 0x5f42 bra 0 // Equivalent to bra $+2, which takes half as much code as 2 nop instructions C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005f42 d000 BRA 0x5f44 bra 0 // Equivalent to bra $+2, which takes half as much code as 2 nop instructions C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005f44 d000 BRA 0x5f46 bra 0 // Equivalent to bra $+2, which takes half as much code as 2 nop instructions C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c _endasm C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // Delay is ~59.8ms at 48MHz. C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005f30 52e5 MOVF 0xe5,0x1,0x0 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005f32 52e5 MOVF 0xe5,0x1,0x0 -005f34 cfe7 MOVFF 0xfe7,0xfd9 -005f36 ffd9 -005f38 0012 RETURN 0x0 +005f4c 52e5 MOVF 0xe5,0x1,0x0 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005f4e 52e5 MOVF 0xe5,0x1,0x0 +005f50 cfe7 MOVFF 0xfe7,0xfd9 +005f52 ffd9 +005f54 0012 RETURN 0x0 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // BL command : simply jump to the bootloader C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // Example: "BL" C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c void parse_BL_packet(void) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // First, kill interrupts though C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005f3a 9ef2 BCF 0xf2,0x7,0x0 INTCONbits.GIEH = 0; // Turn high priority interrupts off C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005f3c 9cf2 BCF 0xf2,0x6,0x0 INTCONbits.GIEL = 0; // Turn low priority interrupts off C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005f56 9ef2 BCF 0xf2,0x7,0x0 INTCONbits.GIEH = 0; // Turn high priority interrupts off C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005f58 9cf2 BCF 0xf2,0x6,0x0 INTCONbits.GIEL = 0; // Turn low priority interrupts off C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005f3e 9265 BCF 0x65,0x1,0x0 UCONbits.SUSPND = 0; // Disable USB module C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005f40 6a65 CLRF 0x65,0x0 UCON = 0x00; // Disable USB module C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005f5a 9265 BCF 0x65,0x1,0x0 UCONbits.SUSPND = 0; // Disable USB module C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005f5c 6a65 CLRF 0x65,0x0 UCON = 0x00; // Disable USB module C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // And wait awhile for the USB cable capacitance to discharge down to disconnected (SE0) state. C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // Otherwise host might not realize we disconnected/reconnected when we do the reset. C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005f42 dfe3 RCALL 0x5f0a LongDelay(); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005f44 ef0f GOTO 0x1e _asm goto 0x00001E _endasm C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005f46 f000 -005f48 0012 RETURN 0x0 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005f5e dfe3 RCALL 0x5f26 LongDelay(); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005f60 ef0f GOTO 0x1e _asm goto 0x00001E _endasm C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005f62 f000 +005f64 0012 RETURN 0x0 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // RB ReBoot command : simply jump to the reset vector C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // Example: "RB" C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c void parse_RB_packet(void) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // First, kill interrupts though C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005f4a 9ef2 BCF 0xf2,0x7,0x0 INTCONbits.GIEH = 0; // Turn high priority interrupts off C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005f4c 9cf2 BCF 0xf2,0x6,0x0 INTCONbits.GIEL = 0; // Turn low priority interrupts off C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005f66 9ef2 BCF 0xf2,0x7,0x0 INTCONbits.GIEH = 0; // Turn high priority interrupts off C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005f68 9cf2 BCF 0xf2,0x6,0x0 INTCONbits.GIEL = 0; // Turn low priority interrupts off C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005f4e 9265 BCF 0x65,0x1,0x0 UCONbits.SUSPND = 0; // Disable USB module C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005f50 6a65 CLRF 0x65,0x0 UCON = 0x00; // Disable USB module C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005f6a 9265 BCF 0x65,0x1,0x0 UCONbits.SUSPND = 0; // Disable USB module C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005f6c 6a65 CLRF 0x65,0x0 UCON = 0x00; // Disable USB module C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // And wait awhile for the USB cable capacitance to discharge down to disconnected (SE0) state. C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // Otherwise host might not realize we disconnected/reconnected when we do the reset. C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005f52 dfdb RCALL 0x5f0a LongDelay(); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005f54 00ff RESET Reset(); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005f56 0012 RETURN 0x0 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005f6e dfdb RCALL 0x5f26 LongDelay(); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005f70 00ff RESET Reset(); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005f72 0012 RETURN 0x0 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // QR Query RC Servo power state command C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // Example: "RR" C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c @@ -22836,29 +22866,29 @@ Address Value Disassembly Source // 1 = power to RC servo on C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c void parse_QR_packet(void) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005f58 ecb2 CALL 0x6964,0x0 print_command(FALSE, TRUE); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005f5a f034 - C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005f5c 5080 MOVF 0x80,0x0,0x0 ebb_print_uint(RCServoPowerIO_PORT); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005f5e 0b08 ANDLW 0x8 -005f60 e001 BZ 0x5f64 -005f62 0e01 MOVLW 0x1 -005f64 ec3a CALL 0x6c74,0x0 -005f66 f036 -0068b0 6e33 MOVWF 0x33,0x0 -0068b2 d9a7 RCALL 0x6c02 -0068b4 6ee6 MOVWF 0xe6,0x0 -0068b6 0012 RETURN 0x0 -005f68 010b MOVLB 0xb if (!bittstzero(gStandardizedCommandFormat)) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005f6a b184 BTFSC 0x84,0x0,0x1 -005f6c d003 BRA 0x5f74 - { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005f6e 0e02 MOVLW 0x2 print_line_ending(kLE_REV); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005f70 ecee CALL 0x6bdc,0x0 -005f72 f035 - } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005f74 ef26 GOTO 0x684c print_line_ending(kLE_OK_NORM); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005f74 ecc0 CALL 0x6980,0x0 print_command(FALSE, TRUE); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c 005f76 f034 + C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005f78 5080 MOVF 0x80,0x0,0x0 ebb_print_uint(RCServoPowerIO_PORT); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005f7a 0b08 ANDLW 0x8 +005f7c e001 BZ 0x5f80 +005f7e 0e01 MOVLW 0x1 +005f80 ec48 CALL 0x6c90,0x0 +005f82 f036 +0068cc 6e47 MOVWF 0x47,0x0 +0068ce d9a7 RCALL 0x6c1e +0068d0 6ee6 MOVWF 0xe6,0x0 +0068d2 0012 RETURN 0x0 +005f84 0101 MOVLB 0x1 if (!bittstzero(gStandardizedCommandFormat)) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005f86 b1be BTFSC 0xbe,0x0,0x1 +005f88 d003 BRA 0x5f90 + { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005f8a 0e02 MOVLW 0x2 print_line_ending(kLE_REV); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005f8c ecfc CALL 0x6bf8,0x0 +005f8e f035 + } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005f90 ef34 GOTO 0x6868 print_line_ending(kLE_OK_NORM); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005f92 f034 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // SR Set RC Servo power timeout C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c @@ -22872,94 +22902,94 @@ Address Value Disassembly Source // is an optional parameter of either 0 or 1. It will C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // immediately affect the servo's power state, where 0 turns it off and 1 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // turns it on. C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005f78 eced CALL 0x67da,0x0 void parse_SR_packet(void) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005f7a f033 -005f7c 0e06 MOVLW 0x6 -005f7e ec3c CALL 0x6a78,0x0 +005f94 ecfb CALL 0x67f6,0x0 void parse_SR_packet(void) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005f96 f033 +005f98 0e06 MOVLW 0x6 +005f9a ec4a CALL 0x6a94,0x0 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c unsigned long Value; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c UINT8 State; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c ExtractReturnType GotState; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005f80 f035 print_command(FALSE, FALSE); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005f9c f035 print_command(FALSE, FALSE); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005f82 0e07 MOVLW 0x7 extract_number(kULONG, &Value, kREQUIRED); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005f84 ecd7 CALL 0x67ae,0x0 -005f86 f033 -005f88 0e01 MOVLW 0x1 GotState = extract_number(kUCHAR, &State, kOPTIONAL); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005f8a 6ee6 MOVWF 0xe6,0x0 -005f8c 50d9 MOVF 0xd9,0x0,0x0 -005f8e 0f04 ADDLW 0x4 -005f90 ec2d CALL 0x6a5a,0x0 -005f92 f035 -005f94 6ee7 MOVWF 0xe7,0x0 -005f96 0e05 MOVLW 0x5 -005f98 cfe7 MOVFF 0xfe7,0xfdb -005f9a ffdb -0067f6 6ee6 MOVWF 0xe6,0x0 -0067f8 0e00 MOVLW 0x0 -0067fa 20da ADDWFC 0xda,0x0,0x0 -0067fc 6ee6 MOVWF 0xe6,0x0 -0067fe 0012 RETURN 0x0 -006a5a decd RCALL 0x67f6 -006a5c 0e01 MOVLW 0x1 -006a5e efd7 GOTO 0x67ae -006a60 f033 +005f9e 0e07 MOVLW 0x7 extract_number(kULONG, &Value, kREQUIRED); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005fa0 ece5 CALL 0x67ca,0x0 +005fa2 f033 +005fa4 0e01 MOVLW 0x1 GotState = extract_number(kUCHAR, &State, kOPTIONAL); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005fa6 6ee6 MOVWF 0xe6,0x0 +005fa8 50d9 MOVF 0xd9,0x0,0x0 +005faa 0f04 ADDLW 0x4 +005fac ec3b CALL 0x6a76,0x0 +005fae f035 +005fb0 6ee7 MOVWF 0xe7,0x0 +005fb2 0e05 MOVLW 0x5 +005fb4 cfe7 MOVFF 0xfe7,0xfdb +005fb6 ffdb +006812 6ee6 MOVWF 0xe6,0x0 +006814 0e00 MOVLW 0x0 +006816 20da ADDWFC 0xda,0x0,0x0 +006818 6ee6 MOVWF 0xe6,0x0 +00681a 0012 RETURN 0x0 +006a76 decd RCALL 0x6812 +006a78 0e01 MOVLW 0x1 +006a7a efe5 GOTO 0x67ca +006a7c f033 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // Bail if we got a conversion error C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005f9c 0100 MOVLB 0x0 if (error_byte) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005f9e 5197 MOVF 0x97,0x0,0x1 -005fa0 e116 BNZ 0x5fce +005fb8 0100 MOVLB 0x0 if (error_byte) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005fba 5197 MOVF 0x97,0x0,0x1 +005fbc e116 BNZ 0x5fea { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c return; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005fa2 cfdf MOVFF 0xfdf,0xd5 gRCServoPoweroffCounterReloadMS = Value; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005fa4 f0d5 -005fa6 0e01 MOVLW 0x1 -005fa8 cfdb MOVFF 0xfdb,0xd6 -005faa f0d6 -005fac 0e02 MOVLW 0x2 -005fae cfdb MOVFF 0xfdb,0xd7 -005fb0 f0d7 -005fb2 0e03 MOVLW 0x3 -005fb4 cfdb MOVFF 0xfdb,0xd8 -005fb6 f0d8 +005fbe cfdf MOVFF 0xfdf,0xd5 gRCServoPoweroffCounterReloadMS = Value; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005fc0 f0d5 +005fc2 0e01 MOVLW 0x1 +005fc4 cfdb MOVFF 0xfdb,0xd6 +005fc6 f0d6 +005fc8 0e02 MOVLW 0x2 +005fca cfdb MOVFF 0xfdb,0xd7 +005fcc f0d7 +005fce 0e03 MOVLW 0x3 +005fd0 cfdb MOVFF 0xfdb,0xd8 +005fd2 f0d8 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // Check to see if is there C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005fb8 0e05 MOVLW 0x5 if (GotState == kEXTRACT_OK) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005fba 50db MOVF 0xdb,0x0,0x0 -005fbc e106 BNZ 0x5fca +005fd4 0e05 MOVLW 0x5 if (GotState == kEXTRACT_OK) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005fd6 50db MOVF 0xdb,0x0,0x0 +005fd8 e106 BNZ 0x5fe6 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // Yup, so set new power state C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005fbe 0e04 MOVLW 0x4 if (State) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005fc0 50db MOVF 0xdb,0x0,0x0 -005fc2 e002 BZ 0x5fc8 +005fda 0e04 MOVLW 0x4 if (State) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005fdc 50db MOVF 0xdb,0x0,0x0 +005fde e002 BZ 0x5fe4 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005fc4 8689 BSF 0x89,0x3,0x0 RCServoPowerIO = RCSERVO_POWER_ON; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005fe0 8689 BSF 0x89,0x3,0x0 RCServoPowerIO = RCSERVO_POWER_ON; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005fc6 d001 BRA 0x5fca else C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005fe2 d001 BRA 0x5fe6 else C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005fc8 9689 BCF 0x89,0x3,0x0 RCServoPowerIO = RCSERVO_POWER_OFF; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005fe4 9689 BCF 0x89,0x3,0x0 RCServoPowerIO = RCSERVO_POWER_OFF; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005fca ec26 CALL 0x684c,0x0 print_line_ending(kLE_OK_NORM); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005fcc f034 -005fce 0e06 MOVLW 0x6 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005fd0 5ce1 SUBWF 0xe1,0x0,0x0 -005fd2 e202 BC 0x5fd8 -005fd4 6ae1 CLRF 0xe1,0x0 -005fd6 52e5 MOVF 0xe5,0x1,0x0 -005fd8 6ee1 MOVWF 0xe1,0x0 -005fda eff2 GOTO 0x67e4 -005fdc f033 +005fe6 ec34 CALL 0x6868,0x0 print_line_ending(kLE_OK_NORM); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005fe8 f034 +005fea 0e06 MOVLW 0x6 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005fec 5ce1 SUBWF 0xe1,0x0,0x0 +005fee e202 BC 0x5ff4 +005ff0 6ae1 CLRF 0xe1,0x0 +005ff2 52e5 MOVF 0xe5,0x1,0x0 +005ff4 6ee1 MOVWF 0xe1,0x0 +005ff6 ef00 GOTO 0x6800 +005ff8 f034 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // Just used for testing/debugging the packet parsing routines C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005fde eced CALL 0x67da,0x0 void parse_CK_packet(void) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005fe0 f033 -005fe2 0e10 MOVLW 0x10 -005fe4 26e1 ADDWF 0xe1,0x1,0x0 +005ffa ecfb CALL 0x67f6,0x0 void parse_CK_packet(void) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +005ffc f033 +005ffe 0e10 MOVLW 0x10 +006000 26e1 ADDWF 0xe1,0x1,0x0 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c unsigned char UByte; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c signed char SByte; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c @@ -22970,256 +23000,256 @@ Address Value Disassembly Source unsigned char UChar; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c unsigned char UCaseChar; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005fe6 ec32 CALL 0x6c64,0x0 print_command(FALSE, FALSE); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005fe8 f036 -005fea dbe5 RCALL 0x67b6 print_line_ending(kLE_NORM); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +006002 ec40 CALL 0x6c80,0x0 print_command(FALSE, FALSE); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +006004 f036 +006006 dbe5 RCALL 0x67d2 print_line_ending(kLE_NORM); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005fec 6ae6 CLRF 0xe6,0x0 extract_number(kCHAR, &SByte, kREQUIRED); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -005fee 50d9 MOVF 0xd9,0x0,0x0 -005ff0 0f01 ADDLW 0x1 -005ff2 ecfb CALL 0x67f6,0x0 -005ff4 f033 -005ff6 6ae6 CLRF 0xe6,0x0 -005ff8 d961 RCALL 0x62bc -005ffa ec5d CALL 0x6aba,0x0 -005ffc f035 -005ffe 6ae6 CLRF 0xe6,0x0 extract_number(kUCHAR, &UByte, kREQUIRED); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -006000 ecf3 CALL 0x6be6,0x0 -006002 f035 -006004 0e01 MOVLW 0x1 -006006 ec05 CALL 0x6c0a,0x0 -006008 f036 -00600a 0f04 ADDLW 0x4 extract_number(kINT, &SInt, kREQUIRED); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00600c ecfb CALL 0x67f6,0x0 -00600e f033 -006010 0e02 MOVLW 0x2 -006012 ec05 CALL 0x6c0a,0x0 -006014 f036 -006016 0f02 ADDLW 0x2 extract_number(kUINT, &UInt, kREQUIRED); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -006018 dbee RCALL 0x67f6 -00601a 0e03 MOVLW 0x3 -00601c ec05 CALL 0x6c0a,0x0 +006008 6ae6 CLRF 0xe6,0x0 extract_number(kCHAR, &SByte, kREQUIRED); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +00600a 50d9 MOVF 0xd9,0x0,0x0 +00600c 0f01 ADDLW 0x1 +00600e ec09 CALL 0x6812,0x0 +006010 f034 +006012 6ae6 CLRF 0xe6,0x0 +006014 d961 RCALL 0x62d8 +006016 ec6b CALL 0x6ad6,0x0 +006018 f035 +00601a 6ae6 CLRF 0xe6,0x0 extract_number(kUCHAR, &UByte, kREQUIRED); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +00601c ec01 CALL 0x6c02,0x0 00601e f036 -006020 0f0a ADDLW 0xa extract_number(kLONG, &SLong, kREQUIRED); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -006022 dbe9 RCALL 0x67f6 -006024 0e06 MOVLW 0x6 -006026 ec05 CALL 0x6c0a,0x0 -006028 f036 -00602a 0f06 ADDLW 0x6 extract_number(kULONG, &ULong, kREQUIRED); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00602c dbe4 RCALL 0x67f6 -00602e 0e07 MOVLW 0x7 -006030 ec05 CALL 0x6c0a,0x0 -006032 f036 -006034 0f0e ADDLW 0xe extract_number(kASCII_CHAR, &UChar, kREQUIRED); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -006036 dbdf RCALL 0x67f6 -006038 0e04 MOVLW 0x4 -00603a ec05 CALL 0x6c0a,0x0 -00603c f036 -00603e 0f0f ADDLW 0xf extract_number(kUCASE_ASCII_CHAR, &UCaseChar, kREQUIRED); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -006040 dbda RCALL 0x67f6 -006042 0e05 MOVLW 0x5 -006044 dbb4 RCALL 0x67ae -0067ae 6ee6 MOVWF 0xe6,0x0 -0067b0 dd85 RCALL 0x62bc -0067b2 ef5d GOTO 0x6aba -0067b4 f035 -006aba d8bb RCALL 0x6c32 -006abc 52e5 MOVF 0xe5,0x1,0x0 -006abe 0012 RETURN 0x0 -006c32 52e5 MOVF 0xe5,0x1,0x0 -006c34 52e5 MOVF 0xe5,0x1,0x0 -006c36 52e5 MOVF 0xe5,0x1,0x0 -006c38 0012 RETURN 0x0 +006020 0e01 MOVLW 0x1 +006022 ec13 CALL 0x6c26,0x0 +006024 f036 +006026 0f04 ADDLW 0x4 extract_number(kINT, &SInt, kREQUIRED); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +006028 ec09 CALL 0x6812,0x0 +00602a f034 +00602c 0e02 MOVLW 0x2 +00602e ec13 CALL 0x6c26,0x0 +006030 f036 +006032 0f02 ADDLW 0x2 extract_number(kUINT, &UInt, kREQUIRED); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +006034 dbee RCALL 0x6812 +006036 0e03 MOVLW 0x3 +006038 ec13 CALL 0x6c26,0x0 +00603a f036 +00603c 0f0a ADDLW 0xa extract_number(kLONG, &SLong, kREQUIRED); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +00603e dbe9 RCALL 0x6812 +006040 0e06 MOVLW 0x6 +006042 ec13 CALL 0x6c26,0x0 +006044 f036 +006046 0f06 ADDLW 0x6 extract_number(kULONG, &ULong, kREQUIRED); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +006048 dbe4 RCALL 0x6812 +00604a 0e07 MOVLW 0x7 +00604c ec13 CALL 0x6c26,0x0 +00604e f036 +006050 0f0e ADDLW 0xe extract_number(kASCII_CHAR, &UChar, kREQUIRED); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +006052 dbdf RCALL 0x6812 +006054 0e04 MOVLW 0x4 +006056 ec13 CALL 0x6c26,0x0 +006058 f036 +00605a 0f0f ADDLW 0xf extract_number(kUCASE_ASCII_CHAR, &UCaseChar, kREQUIRED); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +00605c dbda RCALL 0x6812 +00605e 0e05 MOVLW 0x5 +006060 dbb4 RCALL 0x67ca +0067ca 6ee6 MOVWF 0xe6,0x0 +0067cc dd85 RCALL 0x62d8 +0067ce ef6b GOTO 0x6ad6 +0067d0 f035 +006ad6 d8bb RCALL 0x6c4e +006ad8 52e5 MOVF 0xe5,0x1,0x0 +006ada 0012 RETURN 0x0 +006c4e 52e5 MOVF 0xe5,0x1,0x0 +006c50 52e5 MOVF 0xe5,0x1,0x0 +006c52 52e5 MOVF 0xe5,0x1,0x0 +006c54 0012 RETURN 0x0 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -006046 0e32 MOVLW 0x32 ebb_print((rom char far *)"Param1="); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -006048 6e33 MOVWF 0x33,0x0 -00604a 0e7d MOVLW 0x7d -00604c dbaa RCALL 0x67a2 -00604e 0e01 MOVLW 0x1 ebb_print_int(SByte); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -006050 ecd7 CALL 0x69ae,0x0 -006052 f034 -006054 ae33 BTFSS 0x33,0x7,0x0 -006056 d003 BRA 0x605e -006058 6834 SETF 0x34,0x0 -00605a 6835 SETF 0x35,0x0 -00605c 6836 SETF 0x36,0x0 -00605e ec16 CALL 0x6c2c,0x0 -006060 f036 -006c2c d83b RCALL 0x6ca4 -006c2e ef4d GOTO 0x6c9a -006c30 f036 -006ca4 c033 MOVFF 0x33,0xfe6 -006ca6 ffe6 -006ca8 ef35 GOTO 0x6a6a -006caa f035 - print_line_ending(kLE_NORM); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -006062 0e2a MOVLW 0x2a ebb_print((rom char far *)"Param2="); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -006064 6e33 MOVWF 0x33,0x0 +006062 0e4e MOVLW 0x4e ebb_print((rom char far *)"Param1="); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +006064 6e47 MOVWF 0x47,0x0 006066 0e7d MOVLW 0x7d -006068 db9c RCALL 0x67a2 -00606a dbec RCALL 0x6844 ebb_print_uint(UByte); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00606c ec41 CALL 0x6a82,0x0 -00606e f035 -006844 cfdf MOVFF 0xfdf,0x33 -006846 f033 -006848 ef01 GOTO 0x6c02 -00684a f036 +006068 dbaa RCALL 0x67be +00606a 0e01 MOVLW 0x1 ebb_print_int(SByte); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +00606c ece5 CALL 0x69ca,0x0 +00606e f034 +006070 ae47 BTFSS 0x47,0x7,0x0 +006072 d003 BRA 0x607a +006074 6848 SETF 0x48,0x0 +006076 6849 SETF 0x49,0x0 +006078 684a SETF 0x4a,0x0 +00607a ec24 CALL 0x6c48,0x0 +00607c f036 +006c48 d83b RCALL 0x6cc0 +006c4a ef5b GOTO 0x6cb6 +006c4c f036 +006cc0 c047 MOVFF 0x47,0xfe6 +006cc2 ffe6 +006cc4 ef43 GOTO 0x6a86 +006cc6 f035 print_line_ending(kLE_NORM); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -006070 0e22 MOVLW 0x22 ebb_print((rom char far *)"Param3="); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -006072 6e33 MOVWF 0x33,0x0 -006074 0e7d MOVLW 0x7d -006076 db95 RCALL 0x67a2 -006078 0e04 MOVLW 0x4 ebb_print_int(SInt); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00607a cfdb MOVFF 0xfdb,0x33 -00607c f033 -00607e 0e05 MOVLW 0x5 -006080 cfdb MOVFF 0xfdb,0x34 -006082 f034 -006084 6a35 CLRF 0x35,0x0 -006086 6a36 CLRF 0x36,0x0 -006088 ae34 BTFSS 0x34,0x7,0x0 -00608a d002 BRA 0x6090 -00608c 6835 SETF 0x35,0x0 -00608e 6836 SETF 0x36,0x0 -006090 ec16 CALL 0x6c2c,0x0 -006092 f036 +00607e 0e46 MOVLW 0x46 ebb_print((rom char far *)"Param2="); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +006080 6e47 MOVWF 0x47,0x0 +006082 0e7d MOVLW 0x7d +006084 db9c RCALL 0x67be +006086 dbec RCALL 0x6860 ebb_print_uint(UByte); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +006088 ec4f CALL 0x6a9e,0x0 +00608a f035 +006860 cfdf MOVFF 0xfdf,0x47 +006862 f047 +006864 ef0f GOTO 0x6c1e +006866 f036 print_line_ending(kLE_NORM); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -006094 0e1a MOVLW 0x1a ebb_print((rom char far *)"Param4="); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -006096 6e33 MOVWF 0x33,0x0 -006098 0e7d MOVLW 0x7d -00609a db83 RCALL 0x67a2 -00609c 0e02 MOVLW 0x2 ebb_print_uint(UInt); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00609e cfdb MOVFF 0xfdb,0x33 -0060a0 f033 -0060a2 0e03 MOVLW 0x3 -0060a4 cfdb MOVFF 0xfdb,0x34 -0060a6 f034 -0060a8 6a35 CLRF 0x35,0x0 -0060aa 6a36 CLRF 0x36,0x0 -0060ac ec41 CALL 0x6a82,0x0 -0060ae f035 +00608c 0e3e MOVLW 0x3e ebb_print((rom char far *)"Param3="); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +00608e 6e47 MOVWF 0x47,0x0 +006090 0e7d MOVLW 0x7d +006092 db95 RCALL 0x67be +006094 0e04 MOVLW 0x4 ebb_print_int(SInt); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +006096 cfdb MOVFF 0xfdb,0x47 +006098 f047 +00609a 0e05 MOVLW 0x5 +00609c cfdb MOVFF 0xfdb,0x48 +00609e f048 +0060a0 6a49 CLRF 0x49,0x0 +0060a2 6a4a CLRF 0x4a,0x0 +0060a4 ae48 BTFSS 0x48,0x7,0x0 +0060a6 d002 BRA 0x60ac +0060a8 6849 SETF 0x49,0x0 +0060aa 684a SETF 0x4a,0x0 +0060ac ec24 CALL 0x6c48,0x0 +0060ae f036 print_line_ending(kLE_NORM); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0060b0 0e12 MOVLW 0x12 ebb_print((rom char far *)"Param5="); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0060b2 6e33 MOVWF 0x33,0x0 +0060b0 0e36 MOVLW 0x36 ebb_print((rom char far *)"Param4="); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0060b2 6e47 MOVWF 0x47,0x0 0060b4 0e7d MOVLW 0x7d -0060b6 db75 RCALL 0x67a2 -0060b8 50d9 MOVF 0xd9,0x0,0x0 ebb_print_int(SLong); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0060ba 0f0a ADDLW 0xa -0060bc dbad RCALL 0x6818 -0060be ec4d CALL 0x6c9a,0x0 -0060c0 f036 -006c9a ec88 CALL 0x8710,0x0 -006c9c f043 -006c9e df0d RCALL 0x6aba -006ca0 efdb GOTO 0x67b6 print_line_ending(kLE_NORM); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -006ca2 f033 -0060c2 eca3 CALL 0x6b46,0x0 ebb_print((rom char far *)"Param6="); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0060c4 f035 -0060c6 50d9 MOVF 0xd9,0x0,0x0 ebb_print_uint(ULong); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0060c8 0f06 ADDLW 0x6 -0060ca dba6 RCALL 0x6818 -0060cc ec36 CALL 0x6c6c,0x0 -0060ce f036 -0060d0 db72 RCALL 0x67b6 print_line_ending(kLE_NORM); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0060d2 0e02 MOVLW 0x2 ebb_print((rom char far *)"Param7="); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0060d4 6e33 MOVWF 0x33,0x0 -0060d6 0e7d MOVLW 0x7d -0060d8 db64 RCALL 0x67a2 -0060da 0e0e MOVLW 0xe ebb_print_char(UChar); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0060dc ecbc CALL 0x6b78,0x0 -0060de f035 -006b78 cfdb MOVFF 0xfdb,0xfe6 -006b7a ffe6 -006b7c ecb4 CALL 0x4b68,0x0 -006b7e f025 -006b80 52e5 MOVF 0xe5,0x1,0x0 -006b82 efdb GOTO 0x67b6 print_line_ending(kLE_NORM); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -006b84 f033 -0060e0 0efa MOVLW 0xfa ebb_print((rom char far *)"Param8="); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0060e2 6e33 MOVWF 0x33,0x0 -0060e4 0e7c MOVLW 0x7c -0060e6 db5d RCALL 0x67a2 -0060e8 0e0f MOVLW 0xf ebb_print_char(UCaseChar); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0060ea ecbc CALL 0x6b78,0x0 -0060ec f035 +0060b6 db83 RCALL 0x67be +0060b8 0e02 MOVLW 0x2 ebb_print_uint(UInt); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0060ba cfdb MOVFF 0xfdb,0x47 +0060bc f047 +0060be 0e03 MOVLW 0x3 +0060c0 cfdb MOVFF 0xfdb,0x48 +0060c2 f048 +0060c4 6a49 CLRF 0x49,0x0 +0060c6 6a4a CLRF 0x4a,0x0 +0060c8 ec4f CALL 0x6a9e,0x0 +0060ca f035 print_line_ending(kLE_NORM); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0060ee eca3 CALL 0x6b46,0x0 ebb_print((rom char far *)"Param6="); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0060f0 f035 -0060f2 0e08 MOVLW 0x8 ebb_print_hex(ULong, 8); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0060f4 6ee6 MOVWF 0xe6,0x0 -0060f6 ec70 CALL 0x6ae0,0x0 -0060f8 f035 -006ae0 50d9 MOVF 0xd9,0x0,0x0 -006ae2 0f06 ADDLW 0x6 -006ae4 de99 RCALL 0x6818 -006ae6 ec32 CALL 0x8664,0x0 -006ae8 f043 -006aea 6e33 MOVWF 0x33,0x0 -006aec 0e05 MOVLW 0x5 -006aee 5ee1 SUBWF 0xe1,0x1,0x0 -006af0 5033 MOVF 0x33,0x0,0x0 -006af2 efdb GOTO 0x67b6 print_line_ending(kLE_NORM); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -006af4 f033 -0060fa eca3 CALL 0x6b46,0x0 ebb_print((rom char far *)"Param6="); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0060fc f035 -006b46 0e0a MOVLW 0xa -006b48 6e33 MOVWF 0x33,0x0 -006b4a 0e7d MOVLW 0x7d -006b4c efd1 GOTO 0x67a2 -006b4e f033 -0060fe 6ae6 CLRF 0xe6,0x0 ebb_print_hex(ULong, 0); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -006100 ec70 CALL 0x6ae0,0x0 -006102 f035 -006818 6ee9 MOVWF 0xe9,0x0 -00681a cfda MOVFF 0xfda,0xfea -00681c ffea -00681e cfee MOVFF 0xfee,0xfe6 -006820 ffe6 -006822 cfee MOVFF 0xfee,0xfe6 -006824 ffe6 -006826 cfee MOVFF 0xfee,0xfe6 -006828 ffe6 -00682a cfef MOVFF 0xfef,0xfe6 -00682c ffe6 -00682e 0012 RETURN 0x0 +0060cc 0e2e MOVLW 0x2e ebb_print((rom char far *)"Param5="); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0060ce 6e47 MOVWF 0x47,0x0 +0060d0 0e7d MOVLW 0x7d +0060d2 db75 RCALL 0x67be +0060d4 50d9 MOVF 0xd9,0x0,0x0 ebb_print_int(SLong); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0060d6 0f0a ADDLW 0xa +0060d8 dbad RCALL 0x6834 +0060da ec5b CALL 0x6cb6,0x0 +0060dc f036 +006cb6 ec96 CALL 0x872c,0x0 +006cb8 f043 +006cba df0d RCALL 0x6ad6 +006cbc efe9 GOTO 0x67d2 print_line_ending(kLE_NORM); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +006cbe f033 +0060de ecb1 CALL 0x6b62,0x0 ebb_print((rom char far *)"Param6="); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0060e0 f035 +0060e2 50d9 MOVF 0xd9,0x0,0x0 ebb_print_uint(ULong); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0060e4 0f06 ADDLW 0x6 +0060e6 dba6 RCALL 0x6834 +0060e8 ec44 CALL 0x6c88,0x0 +0060ea f036 +0060ec db72 RCALL 0x67d2 print_line_ending(kLE_NORM); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0060ee 0e1e MOVLW 0x1e ebb_print((rom char far *)"Param7="); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0060f0 6e47 MOVWF 0x47,0x0 +0060f2 0e7d MOVLW 0x7d +0060f4 db64 RCALL 0x67be +0060f6 0e0e MOVLW 0xe ebb_print_char(UChar); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0060f8 ecca CALL 0x6b94,0x0 +0060fa f035 +006b94 cfdb MOVFF 0xfdb,0xfe6 +006b96 ffe6 +006b98 ecc2 CALL 0x4b84,0x0 +006b9a f025 +006b9c 52e5 MOVF 0xe5,0x1,0x0 +006b9e efe9 GOTO 0x67d2 print_line_ending(kLE_NORM); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +006ba0 f033 +0060fc 0e16 MOVLW 0x16 ebb_print((rom char far *)"Param8="); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0060fe 6e47 MOVWF 0x47,0x0 +006100 0e7d MOVLW 0x7d +006102 db5d RCALL 0x67be +006104 0e0f MOVLW 0xf ebb_print_char(UCaseChar); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +006106 ecca CALL 0x6b94,0x0 +006108 f035 + print_line_ending(kLE_NORM); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +00610a ecb1 CALL 0x6b62,0x0 ebb_print((rom char far *)"Param6="); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +00610c f035 +00610e 0e08 MOVLW 0x8 ebb_print_hex(ULong, 8); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +006110 6ee6 MOVWF 0xe6,0x0 +006112 ec7e CALL 0x6afc,0x0 +006114 f035 +006afc 50d9 MOVF 0xd9,0x0,0x0 +006afe 0f06 ADDLW 0x6 +006b00 de99 RCALL 0x6834 +006b02 ec40 CALL 0x8680,0x0 +006b04 f043 +006b06 6e47 MOVWF 0x47,0x0 +006b08 0e05 MOVLW 0x5 +006b0a 5ee1 SUBWF 0xe1,0x1,0x0 +006b0c 5047 MOVF 0x47,0x0,0x0 +006b0e efe9 GOTO 0x67d2 print_line_ending(kLE_NORM); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +006b10 f033 +006116 ecb1 CALL 0x6b62,0x0 ebb_print((rom char far *)"Param6="); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +006118 f035 +006b62 0e26 MOVLW 0x26 +006b64 6e47 MOVWF 0x47,0x0 +006b66 0e7d MOVLW 0x7d +006b68 efdf GOTO 0x67be +006b6a f033 +00611a 6ae6 CLRF 0xe6,0x0 ebb_print_hex(ULong, 0); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +00611c ec7e CALL 0x6afc,0x0 +00611e f035 +006834 6ee9 MOVWF 0xe9,0x0 +006836 cfda MOVFF 0xfda,0xfea +006838 ffea +00683a cfee MOVFF 0xfee,0xfe6 +00683c ffe6 +00683e cfee MOVFF 0xfee,0xfe6 +006840 ffe6 +006842 cfee MOVFF 0xfee,0xfe6 +006844 ffe6 +006846 cfef MOVFF 0xfef,0xfe6 +006848 ffe6 +00684a 0012 RETURN 0x0 print_line_ending(kLE_NORM); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -006104 dba3 RCALL 0x684c print_line_ending(kLE_OK_NORM); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -006106 0e10 MOVLW 0x10 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -006108 5ce1 SUBWF 0xe1,0x0,0x0 -00610a e202 BC 0x6110 -00610c 6ae1 CLRF 0xe1,0x0 -00610e 52e5 MOVF 0xe5,0x1,0x0 -006110 6ee1 MOVWF 0xe1,0x0 -006112 d368 BRA 0x67e4 +006120 dba3 RCALL 0x6868 print_line_ending(kLE_OK_NORM); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +006122 0e10 MOVLW 0x10 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +006124 5ce1 SUBWF 0xe1,0x0,0x0 +006126 e202 BC 0x612c +006128 6ae1 CLRF 0xe1,0x0 +00612a 52e5 MOVF 0xe5,0x1,0x0 +00612c 6ee1 MOVWF 0xe1,0x0 +00612e d368 BRA 0x6800 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -006114 ec8b CALL 0x6b16,0x0 void populateDeviceStringWithName(void) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -006116 f035 +006130 ec99 CALL 0x6b32,0x0 void populateDeviceStringWithName(void) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +006132 f035 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c extern BYTE * USB_SD_Ptr[]; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c UINT8 i; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // Clear out our name array C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -006118 6adf CLRF 0xdf,0x0 for (i=0; i < FLASH_NAME_LENGTH+1; i++) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00611a 0e11 MOVLW 0x11 -00611c 5cdf SUBWF 0xdf,0x0,0x0 -00611e e204 BC 0x6128 -006124 2adf INCF 0xdf,0x1,0x0 -006126 d7f9 BRA 0x611a +006134 6adf CLRF 0xdf,0x0 for (i=0; i < FLASH_NAME_LENGTH+1; i++) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +006136 0e11 MOVLW 0x11 +006138 5cdf SUBWF 0xdf,0x0,0x0 +00613a e204 BC 0x6144 +006140 2adf INCF 0xdf,0x1,0x0 +006142 d7f9 BRA 0x6136 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -006120 dbb7 RCALL 0x6890 gDeviceStringName[i] = 0x00; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -006122 6aef CLRF 0xef,0x0 +00613c dbb7 RCALL 0x68ac gDeviceStringName[i] = 0x00; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +00613e 6aef CLRF 0xef,0x0 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // We always read 16, knowing that any unused bytes will be set to zero C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -006128 ecd6 CALL 0x6bac,0x0 ReadFlash(FLASH_NAME_ADDRESS, FLASH_NAME_LENGTH, gDeviceStringName); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00612a f035 -006bac de6c RCALL 0x6886 -006bae ece4 CALL 0x8dc8,0x0 -006bb0 f046 -006bb2 efef GOTO 0x69de -006bb4 f034 +006144 ece4 CALL 0x6bc8,0x0 ReadFlash(FLASH_NAME_ADDRESS, FLASH_NAME_LENGTH, gDeviceStringName); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +006146 f035 +006bc8 de6c RCALL 0x68a2 +006bca ecf2 CALL 0x8de4,0x0 +006bcc f046 +006bce effd GOTO 0x69fa +006bd0 f034 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // The EEB's name is now in the 'name' local variable as a straight string C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // of bytes. We need to move it to the proper locations in the sd002 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c @@ -23233,59 +23263,59 @@ Address Value Disassembly Source // into a known offset from the beginning of the structure. C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // As of 2.5.5, we now not only update the Product string, but also the C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // serial number string. C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00612c 6adf CLRF 0xdf,0x0 for (i=0; i < FLASH_NAME_LENGTH; i++) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00612e 0e10 MOVLW 0x10 -006130 5cdf SUBWF 0xdf,0x0,0x0 -006132 e221 BC 0x6176 -006172 2adf INCF 0xdf,0x1,0x0 -006174 d7dc BRA 0x612e +006148 6adf CLRF 0xdf,0x0 for (i=0; i < FLASH_NAME_LENGTH; i++) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +00614a 0e10 MOVLW 0x10 +00614c 5cdf SUBWF 0xdf,0x0,0x0 +00614e e221 BC 0x6192 +00618e 2adf INCF 0xdf,0x1,0x0 +006190 d7dc BRA 0x614a { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // Only copy over valid ASCII characters. On the first invalid C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // one, bail out. C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -006134 dbad RCALL 0x6890 if (gDeviceStringName[i] <= 128u && gDeviceStringName[i] >= 32u) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -006136 50ef MOVF 0xef,0x0,0x0 -006138 0880 SUBLW 0x80 -00613a e31d BNC 0x6176 -00613c dba9 RCALL 0x6890 -00613e cfef MOVFF 0xfef,0x33 -006140 f033 -006142 0e20 MOVLW 0x20 -006144 5c33 SUBWF 0x33,0x0,0x0 -006146 e317 BNC 0x6176 +006150 dbad RCALL 0x68ac if (gDeviceStringName[i] <= 128u && gDeviceStringName[i] >= 32u) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +006152 50ef MOVF 0xef,0x0,0x0 +006154 0880 SUBLW 0x80 +006156 e31d BNC 0x6192 +006158 dba9 RCALL 0x68ac +00615a cfef MOVFF 0xfef,0x47 +00615c f047 +00615e 0e20 MOVLW 0x20 +006160 5c47 SUBWF 0x47,0x0,0x0 +006162 e317 BNC 0x6192 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -006148 dba3 RCALL 0x6890 *(USB_SD_Ptr[2] + 24 + (i*2)) = gDeviceStringName[i]; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00614a 50ef MOVF 0xef,0x0,0x0 -00614c 6ee6 MOVWF 0xe6,0x0 -00614e 0e18 MOVLW 0x18 -006150 0102 MOVLB 0x2 -006152 6a34 CLRF 0x34,0x0 -006154 25fa ADDWF 0xfa,0x0,0x1 -006156 6e33 MOVWF 0x33,0x0 -006158 51fb MOVF 0xfb,0x0,0x1 -00615a eccb CALL 0x6996,0x0 -00615c f034 -006996 2234 ADDWFC 0x34,0x1,0x0 -006998 50df MOVF 0xdf,0x0,0x0 -00699a 24e8 ADDWF 0xe8,0x0,0x0 -00699c 2433 ADDWF 0x33,0x0,0x0 -00699e 6ee9 MOVWF 0xe9,0x0 -0069a0 0e00 MOVLW 0x0 -0069a2 2034 ADDWFC 0x34,0x0,0x0 -0069a4 6eea MOVWF 0xea,0x0 -0069a6 52e5 MOVF 0xe5,0x1,0x0 -0069a8 50e7 MOVF 0xe7,0x0,0x0 -0069aa 6eef MOVWF 0xef,0x0 -0069ac 0012 RETURN 0x0 -00615e db98 RCALL 0x6890 *(USB_SD_Ptr[3] + 2 + (i*2)) = gDeviceStringName[i]; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -006160 50ef MOVF 0xef,0x0,0x0 -006162 6ee6 MOVWF 0xe6,0x0 -006164 0e02 MOVLW 0x2 -006166 6a34 CLRF 0x34,0x0 -006168 25fc ADDWF 0xfc,0x0,0x1 -00616a 6e33 MOVWF 0x33,0x0 -00616c 51fd MOVF 0xfd,0x0,0x1 -00616e eccb CALL 0x6996,0x0 -006170 f034 +006164 dba3 RCALL 0x68ac *(USB_SD_Ptr[2] + 24 + (i*2)) = gDeviceStringName[i]; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +006166 50ef MOVF 0xef,0x0,0x0 +006168 6ee6 MOVWF 0xe6,0x0 +00616a 0e18 MOVLW 0x18 +00616c 0102 MOVLB 0x2 +00616e 6a48 CLRF 0x48,0x0 +006170 25fa ADDWF 0xfa,0x0,0x1 +006172 6e47 MOVWF 0x47,0x0 +006174 51fb MOVF 0xfb,0x0,0x1 +006176 ecd9 CALL 0x69b2,0x0 +006178 f034 +0069b2 2248 ADDWFC 0x48,0x1,0x0 +0069b4 50df MOVF 0xdf,0x0,0x0 +0069b6 24e8 ADDWF 0xe8,0x0,0x0 +0069b8 2447 ADDWF 0x47,0x0,0x0 +0069ba 6ee9 MOVWF 0xe9,0x0 +0069bc 0e00 MOVLW 0x0 +0069be 2048 ADDWFC 0x48,0x0,0x0 +0069c0 6eea MOVWF 0xea,0x0 +0069c2 52e5 MOVF 0xe5,0x1,0x0 +0069c4 50e7 MOVF 0xe7,0x0,0x0 +0069c6 6eef MOVWF 0xef,0x0 +0069c8 0012 RETURN 0x0 +00617a db98 RCALL 0x68ac *(USB_SD_Ptr[3] + 2 + (i*2)) = gDeviceStringName[i]; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +00617c 50ef MOVF 0xef,0x0,0x0 +00617e 6ee6 MOVWF 0xe6,0x0 +006180 0e02 MOVLW 0x2 +006182 6a48 CLRF 0x48,0x0 +006184 25fc ADDWF 0xfc,0x0,0x1 +006186 6e47 MOVWF 0x47,0x0 +006188 51fd MOVF 0xfd,0x0,0x1 +00618a ecd9 CALL 0x69b2,0x0 +00618c f034 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c else C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c @@ -23294,110 +23324,110 @@ Address Value Disassembly Source } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // Now update the string descriptor lengths based on how many characters C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // we copied over from Flash C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -006176 50df MOVF 0xdf,0x0,0x0 *(USB_SD_Ptr[2]) = 24 + (i * 2); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -006178 24e8 ADDWF 0xe8,0x0,0x0 -00617a 0f18 ADDLW 0x18 -00617c c2fa MOVFF 0x2fa,0xfe9 -00617e ffe9 -006180 c2fb MOVFF 0x2fb,0xfea -006182 ffea -006184 6eef MOVWF 0xef,0x0 -006186 50df MOVF 0xdf,0x0,0x0 *(USB_SD_Ptr[3]) = 2 + (i * 2); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -006188 24e8 ADDWF 0xe8,0x0,0x0 -00618a 0f02 ADDLW 0x2 -00618c c2fc MOVFF 0x2fc,0xfe9 -00618e ffe9 -006190 c2fd MOVFF 0x2fd,0xfea -006192 ffea -006194 6eef MOVWF 0xef,0x0 -006196 52e5 MOVF 0xe5,0x1,0x0 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -006198 d325 BRA 0x67e4 +006192 50df MOVF 0xdf,0x0,0x0 *(USB_SD_Ptr[2]) = 24 + (i * 2); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +006194 24e8 ADDWF 0xe8,0x0,0x0 +006196 0f18 ADDLW 0x18 +006198 c2fa MOVFF 0x2fa,0xfe9 +00619a ffe9 +00619c c2fb MOVFF 0x2fb,0xfea +00619e ffea +0061a0 6eef MOVWF 0xef,0x0 +0061a2 50df MOVF 0xdf,0x0,0x0 *(USB_SD_Ptr[3]) = 2 + (i * 2); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0061a4 24e8 ADDWF 0xe8,0x0,0x0 +0061a6 0f02 ADDLW 0x2 +0061a8 c2fc MOVFF 0x2fc,0xfe9 +0061aa ffe9 +0061ac c2fd MOVFF 0x2fd,0xfea +0061ae ffea +0061b0 6eef MOVWF 0xef,0x0 +0061b2 52e5 MOVF 0xe5,0x1,0x0 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0061b4 d325 BRA 0x6800 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // ST command : Set Tag C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // "ST," C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // is a 0 to 16 character ASCII string. C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // This string gets saved in FLASH, and is returned by the "QT" command, as C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // well as being appended to the USB name that shows up in the OS C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00619a ec2e CALL 0x6c5c,0x0 void parse_ST_packet(void) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00619c f036 +0061b6 ec3c CALL 0x6c78,0x0 void parse_ST_packet(void) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0061b8 f036 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00619e 6adf CLRF 0xdf,0x0 UINT8 bytes = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0061ba 6adf CLRF 0xdf,0x0 UINT8 bytes = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c UINT8 i; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0061a0 ec32 CALL 0x6c64,0x0 print_command(FALSE, FALSE); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0061a2 f036 -006c64 6ae6 CLRF 0xe6,0x0 -006c66 6ae6 CLRF 0xe6,0x0 -006c68 ef6b GOTO 0x6ad6 -006c6a f035 +0061bc ec40 CALL 0x6c80,0x0 print_command(FALSE, FALSE); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0061be f036 +006c80 6ae6 CLRF 0xe6,0x0 +006c82 6ae6 CLRF 0xe6,0x0 +006c84 ef79 GOTO 0x6af2 +006c86 f035 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // Clear out our name array C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0061a4 0e01 MOVLW 0x1 for (i=0; i < FLASH_NAME_LENGTH+1; i++) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0061a6 6adb CLRF 0xdb,0x0 -0061a8 0e11 MOVLW 0x11 -0061aa 6ef3 MOVWF 0xf3,0x0 -0061ac 0e01 MOVLW 0x1 -0061ae dbe9 RCALL 0x6982 -0061b0 e20b BC 0x61c8 -0061c2 0e01 MOVLW 0x1 -0061c4 2adb INCF 0xdb,0x1,0x0 -0061c6 d7f0 BRA 0x61a8 +0061c0 0e01 MOVLW 0x1 for (i=0; i < FLASH_NAME_LENGTH+1; i++) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0061c2 6adb CLRF 0xdb,0x0 +0061c4 0e11 MOVLW 0x11 +0061c6 6ef3 MOVWF 0xf3,0x0 +0061c8 0e01 MOVLW 0x1 +0061ca dbe9 RCALL 0x699e +0061cc e20b BC 0x61e4 +0061de 0e01 MOVLW 0x1 +0061e0 2adb INCF 0xdb,0x1,0x0 +0061e2 d7f0 BRA 0x61c4 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0061b2 0e01 MOVLW 0x1 gDeviceStringName[i] = 0x00; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0061b4 50db MOVF 0xdb,0x0,0x0 -0061b6 6aea CLRF 0xea,0x0 -0061b8 0fe8 ADDLW 0xe8 -0061ba 6ee9 MOVWF 0xe9,0x0 -0061bc 0e00 MOVLW 0x0 -0061be 22ea ADDWFC 0xea,0x1,0x0 -0061c0 6aef CLRF 0xef,0x0 +0061ce 0e01 MOVLW 0x1 gDeviceStringName[i] = 0x00; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0061d0 50db MOVF 0xdb,0x0,0x0 +0061d2 6aea CLRF 0xea,0x0 +0061d4 0fe8 ADDLW 0xe8 +0061d6 6ee9 MOVWF 0xe9,0x0 +0061d8 0e00 MOVLW 0x0 +0061da 22ea ADDWFC 0xea,0x1,0x0 +0061dc 6aef CLRF 0xef,0x0 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0061c8 0e10 MOVLW 0x10 bytes = extract_string(gDeviceStringName, FLASH_NAME_LENGTH); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0061ca 6ee6 MOVWF 0xe6,0x0 -0061cc ecf8 CALL 0x6bf0,0x0 -0061ce f035 -0061d0 d83a RCALL 0x6246 -0061d2 ec19 CALL 0x6c32,0x0 -0061d4 f036 -0061d6 6edf MOVWF 0xdf,0x0 +0061e4 0e10 MOVLW 0x10 bytes = extract_string(gDeviceStringName, FLASH_NAME_LENGTH); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0061e6 6ee6 MOVWF 0xe6,0x0 +0061e8 ec06 CALL 0x6c0c,0x0 +0061ea f036 +0061ec d83a RCALL 0x6262 +0061ee ec27 CALL 0x6c4e,0x0 +0061f0 f036 +0061f2 6edf MOVWF 0xdf,0x0 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // We have reserved FLASH addresses 0xF800 to 0xFBFF (1024 bytes) for C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // storing persistent variables like the EEB's name. Note that no wear-leveling C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // is done, so it's not a good idea to change these values more than 10K times. :-) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0061d8 68e6 SETF 0xe6,0x0 EraseFlash(FLASH_NAME_ADDRESS, FLASH_NAME_ADDRESS + 0x3FF); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0061da 0efb MOVLW 0xfb -0061dc 6ee6 MOVWF 0xe6,0x0 -0061de 6ae6 CLRF 0xe6,0x0 -0061e0 ecdb CALL 0x6bb6,0x0 -0061e2 f035 -0061e4 ecc3 CALL 0x8b86,0x0 -0061e6 f045 -0061e8 ecef CALL 0x69de,0x0 -0061ea f034 -006bb6 6ae6 CLRF 0xe6,0x0 -006bb8 6ae6 CLRF 0xe6,0x0 -006bba 0ef8 MOVLW 0xf8 -006bbc 6ee6 MOVWF 0xe6,0x0 -006bbe 6ae6 CLRF 0xe6,0x0 -006bc0 6ae6 CLRF 0xe6,0x0 -006bc2 0012 RETURN 0x0 +0061f4 68e6 SETF 0xe6,0x0 EraseFlash(FLASH_NAME_ADDRESS, FLASH_NAME_ADDRESS + 0x3FF); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0061f6 0efb MOVLW 0xfb +0061f8 6ee6 MOVWF 0xe6,0x0 +0061fa 6ae6 CLRF 0xe6,0x0 +0061fc ece9 CALL 0x6bd2,0x0 +0061fe f035 +006200 ecd1 CALL 0x8ba2,0x0 +006202 f045 +006204 ecfd CALL 0x69fa,0x0 +006206 f034 +006bd2 6ae6 CLRF 0xe6,0x0 +006bd4 6ae6 CLRF 0xe6,0x0 +006bd6 0ef8 MOVLW 0xf8 +006bd8 6ee6 MOVWF 0xe6,0x0 +006bda 6ae6 CLRF 0xe6,0x0 +006bdc 6ae6 CLRF 0xe6,0x0 +006bde 0012 RETURN 0x0 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0061ec db4c RCALL 0x6886 WriteBytesFlash(FLASH_NAME_ADDRESS, FLASH_NAME_LENGTH, gDeviceStringName); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0061ee ec2d CALL 0x885a,0x0 -0061f0 f044 -0061f2 ecef CALL 0x69de,0x0 -0061f4 f034 +006208 db4c RCALL 0x68a2 WriteBytesFlash(FLASH_NAME_ADDRESS, FLASH_NAME_LENGTH, gDeviceStringName); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +00620a ec3b CALL 0x8876,0x0 +00620c f044 +00620e ecfd CALL 0x69fa,0x0 +006210 f034 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0061f6 db2a RCALL 0x684c print_line_ending(kLE_OK_NORM); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0061f8 0e02 MOVLW 0x2 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0061fa 5ce1 SUBWF 0xe1,0x0,0x0 -0061fc e202 BC 0x6202 -0061fe 6ae1 CLRF 0xe1,0x0 -006200 52e5 MOVF 0xe5,0x1,0x0 -006202 6ee1 MOVWF 0xe1,0x0 -006204 d2ef BRA 0x67e4 +006212 db2a RCALL 0x6868 print_line_ending(kLE_OK_NORM); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +006214 0e02 MOVLW 0x2 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +006216 5ce1 SUBWF 0xe1,0x0,0x0 +006218 e202 BC 0x621e +00621a 6ae1 CLRF 0xe1,0x0 +00621c 52e5 MOVF 0xe5,0x1,0x0 +00621e 6ee1 MOVWF 0xe1,0x0 +006220 d2ef BRA 0x6800 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // QT command : Query Tag C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // "QT" C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c @@ -23406,211 +23436,211 @@ Address Value Disassembly Source /// TODO: Optimize this by simply pointing ebb_print() at the string in FLASH? C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c /// We could save 16 bytes of RAM that way and make the code simpler. C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -006206 ec8b CALL 0x6b16,0x0 void parse_QT_packet(void) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -006208 f035 +006222 ec99 CALL 0x6b32,0x0 void parse_QT_packet(void) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +006224 f035 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c UINT8 i; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00620a dbac RCALL 0x6964 print_command(FALSE, TRUE); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -006964 0e01 MOVLW 0x1 -006966 6ee6 MOVWF 0xe6,0x0 -006968 6ae6 CLRF 0xe6,0x0 -00696a ef6b GOTO 0x6ad6 -00696c f035 -006ad6 ec04 CALL 0x5208,0x0 -006ad8 f029 -006ada 52e5 MOVF 0xe5,0x1,0x0 -006adc 52e5 MOVF 0xe5,0x1,0x0 -006ade 0012 RETURN 0x0 +006226 dbac RCALL 0x6980 print_command(FALSE, TRUE); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +006980 0e01 MOVLW 0x1 +006982 6ee6 MOVWF 0xe6,0x0 +006984 6ae6 CLRF 0xe6,0x0 +006986 ef79 GOTO 0x6af2 +006988 f035 +006af2 ec12 CALL 0x5224,0x0 +006af4 f029 +006af6 52e5 MOVF 0xe5,0x1,0x0 +006af8 52e5 MOVF 0xe5,0x1,0x0 +006afa 0012 RETURN 0x0 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // Clear out our name array C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00620c 6adf CLRF 0xdf,0x0 for (i=0; i < FLASH_NAME_LENGTH+1; i++) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00620e 0e11 MOVLW 0x11 -006210 5cdf SUBWF 0xdf,0x0,0x0 -006212 e204 BC 0x621c -006218 2adf INCF 0xdf,0x1,0x0 -00621a d7f9 BRA 0x620e +006228 6adf CLRF 0xdf,0x0 for (i=0; i < FLASH_NAME_LENGTH+1; i++) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +00622a 0e11 MOVLW 0x11 +00622c 5cdf SUBWF 0xdf,0x0,0x0 +00622e e204 BC 0x6238 +006234 2adf INCF 0xdf,0x1,0x0 +006236 d7f9 BRA 0x622a { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -006214 db3d RCALL 0x6890 gDeviceStringName[i] = 0x00; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -006216 6aef CLRF 0xef,0x0 -006890 50df MOVF 0xdf,0x0,0x0 -006892 6aea CLRF 0xea,0x0 -006894 0fe8 ADDLW 0xe8 -006896 6ee9 MOVWF 0xe9,0x0 -006898 0e00 MOVLW 0x0 -00689a 22ea ADDWFC 0xea,0x1,0x0 -00689c 0012 RETURN 0x0 +006230 db3d RCALL 0x68ac gDeviceStringName[i] = 0x00; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +006232 6aef CLRF 0xef,0x0 +0068ac 50df MOVF 0xdf,0x0,0x0 +0068ae 6aea CLRF 0xea,0x0 +0068b0 0fe8 ADDLW 0xe8 +0068b2 6ee9 MOVWF 0xe9,0x0 +0068b4 0e00 MOVLW 0x0 +0068b6 22ea ADDWFC 0xea,0x1,0x0 +0068b8 0012 RETURN 0x0 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // We always read 16, knowing that any unused bytes will be set to zero C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00621c ecd6 CALL 0x6bac,0x0 ReadFlash(FLASH_NAME_ADDRESS, FLASH_NAME_LENGTH, gDeviceStringName); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00621e f035 -006886 d9b4 RCALL 0x6bf0 -006888 0e10 MOVLW 0x10 -00688a 6ee6 MOVWF 0xe6,0x0 -00688c efdb GOTO 0x6bb6 -00688e f035 -0069de 6e33 MOVWF 0x33,0x0 -0069e0 0e08 MOVLW 0x8 -0069e2 5ee1 SUBWF 0xe1,0x1,0x0 -0069e4 5033 MOVF 0x33,0x0,0x0 -0069e6 0012 RETURN 0x0 -006bf0 0ee8 MOVLW 0xe8 -006bf2 6ee6 MOVWF 0xe6,0x0 -006bf4 0e00 MOVLW 0x0 -006bf6 6ee6 MOVWF 0xe6,0x0 -006bf8 0012 RETURN 0x0 +006238 ece4 CALL 0x6bc8,0x0 ReadFlash(FLASH_NAME_ADDRESS, FLASH_NAME_LENGTH, gDeviceStringName); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +00623a f035 +0068a2 d9b4 RCALL 0x6c0c +0068a4 0e10 MOVLW 0x10 +0068a6 6ee6 MOVWF 0xe6,0x0 +0068a8 efe9 GOTO 0x6bd2 +0068aa f035 +0069fa 6e47 MOVWF 0x47,0x0 +0069fc 0e08 MOVLW 0x8 +0069fe 5ee1 SUBWF 0xe1,0x1,0x0 +006a00 5047 MOVF 0x47,0x0,0x0 +006a02 0012 RETURN 0x0 +006c0c 0ee8 MOVLW 0xe8 +006c0e 6ee6 MOVWF 0xe6,0x0 +006c10 0e00 MOVLW 0x0 +006c12 6ee6 MOVWF 0xe6,0x0 +006c14 0012 RETURN 0x0 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // Only print it out if the first character is printable ASCII C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -006220 0e80 MOVLW 0x80 if (gDeviceStringName[0] < 128u && gDeviceStringName[0] > 32u) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -006222 0100 MOVLB 0x0 -006224 5de8 SUBWF 0xe8,0x0,0x1 -006226 e209 BC 0x623a -006228 51e8 MOVF 0xe8,0x0,0x1 -00622a 0820 SUBLW 0x20 -00622c e206 BC 0x623a +00623c 0e80 MOVLW 0x80 if (gDeviceStringName[0] < 128u && gDeviceStringName[0] > 32u) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +00623e 0100 MOVLB 0x0 +006240 5de8 SUBWF 0xe8,0x0,0x1 +006242 e209 BC 0x6256 +006244 51e8 MOVF 0xe8,0x0,0x1 +006246 0820 SUBLW 0x20 +006248 e206 BC 0x6256 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00622e ecf8 CALL 0x6bf0,0x0 ebb_print_ram((char *)gDeviceStringName); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -006230 f035 -006232 ec26 CALL 0x864c,0x0 -006234 f043 -006236 52e5 MOVF 0xe5,0x1,0x0 -006238 52e5 MOVF 0xe5,0x1,0x0 +00624a ec06 CALL 0x6c0c,0x0 ebb_print_ram((char *)gDeviceStringName); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +00624c f036 +00624e ec34 CALL 0x8668,0x0 +006250 f043 +006252 52e5 MOVF 0xe5,0x1,0x0 +006254 52e5 MOVF 0xe5,0x1,0x0 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00623a 010b MOVLB 0xb if (!bittstzero(gStandardizedCommandFormat)) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00623c a184 BTFSS 0x84,0x0,0x1 +006256 0101 MOVLB 0x1 if (!bittstzero(gStandardizedCommandFormat)) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +006258 a1be BTFSS 0xbe,0x0,0x1 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00623e dabb RCALL 0x67b6 print_line_ending(kLE_NORM); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +00625a dabb RCALL 0x67d2 print_line_ending(kLE_NORM); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -006240 db05 RCALL 0x684c print_line_ending(kLE_OK_NORM); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00684c 6ae6 CLRF 0xe6,0x0 -00684e ec22 CALL 0x5244,0x0 -006850 f029 -006852 52e5 MOVF 0xe5,0x1,0x0 -006854 0012 RETURN 0x0 -006242 52e5 MOVF 0xe5,0x1,0x0 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -006244 d2cf BRA 0x67e4 +00625c db05 RCALL 0x6868 print_line_ending(kLE_OK_NORM); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +006868 6ae6 CLRF 0xe6,0x0 +00686a ec30 CALL 0x5260,0x0 +00686c f029 +00686e 52e5 MOVF 0xe5,0x1,0x0 +006870 0012 RETURN 0x0 +00625e 52e5 MOVF 0xe5,0x1,0x0 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +006260 d2cf BRA 0x6800 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // Look at the string in g_RX_buf[] C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // Copy over all bytes from g_RX_buf_out into ReturnValue until you hit C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // a comma or a CR or you've copied over MaxBytes characters. C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // Return the number of bytes copied. Advance g_RX_buf_out as you go. C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -006246 ec8b CALL 0x6b16,0x0 UINT8 extract_string ( C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -006248 f035 -0067da cfd9 MOVFF 0xfd9,0xfe6 -0067dc ffe6 -0067de cfe1 MOVFF 0xfe1,0xfd9 -0067e0 ffd9 -0067e2 0012 RETURN 0x0 -006b16 de61 RCALL 0x67da -006b18 52e6 MOVF 0xe6,0x1,0x0 -006b1a 0012 RETURN 0x0 +006262 ec99 CALL 0x6b32,0x0 UINT8 extract_string ( C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +006264 f035 +0067f6 cfd9 MOVFF 0xfd9,0xfe6 +0067f8 ffe6 +0067fa cfe1 MOVFF 0xfe1,0xfd9 +0067fc ffd9 +0067fe 0012 RETURN 0x0 +006b32 de61 RCALL 0x67f6 +006b34 52e6 MOVF 0xe6,0x1,0x0 +006b36 0012 RETURN 0x0 unsigned char * ReturnValue, C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c UINT8 MaxBytes C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c ) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00624a 6adf CLRF 0xdf,0x0 UINT8 bytes = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +006266 6adf CLRF 0xdf,0x0 UINT8 bytes = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // Always terminate the string C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00624c db53 RCALL 0x68f4 *ReturnValue = 0x00; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00624e 6aef CLRF 0xef,0x0 +006268 db53 RCALL 0x6910 *ReturnValue = 0x00; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +00626a 6aef CLRF 0xef,0x0 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // Check to see if we're already at the end C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -006250 ece2 CALL 0x6bc4,0x0 if (kCR == g_RX_buf[g_RX_buf_out]) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -006252 f035 -006254 e102 BNZ 0x625a -006bc4 0e0d MOVLW 0xd -006bc6 6e33 MOVWF 0x33,0x0 -006bc8 0100 MOVLB 0x0 -006bca ddf8 RCALL 0x67bc -006bcc 5c33 SUBWF 0x33,0x0,0x0 -006bce 0012 RETURN 0x0 +00626c ecf0 CALL 0x6be0,0x0 if (kCR == g_RX_buf[g_RX_buf_out]) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +00626e f035 +006270 e102 BNZ 0x6276 +006be0 0e0d MOVLW 0xd +006be2 6e47 MOVWF 0x47,0x0 +006be4 0100 MOVLB 0x0 +006be6 ddf8 RCALL 0x67d8 +006be8 5c47 SUBWF 0x47,0x0,0x0 +006bea 0012 RETURN 0x0 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -006256 8997 BSF 0x97,0x4,0x1 bitset(error_byte, kERROR_BYTE_MISSING_PARAMETER); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -006258 d005 BRA 0x6264 return(0); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +006272 8997 BSF 0x97,0x4,0x1 bitset(error_byte, kERROR_BYTE_MISSING_PARAMETER); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +006274 d005 BRA 0x6280 return(0); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // Check for comma where ptr points C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00625a dab0 RCALL 0x67bc if (g_RX_buf[g_RX_buf_out] != ',') C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00625c 082c SUBLW 0x2c -00625e e004 BZ 0x6268 +006276 dab0 RCALL 0x67d8 if (g_RX_buf[g_RX_buf_out] != ',') C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +006278 082c SUBLW 0x2c +00627a e004 BZ 0x6284 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -006260 ec44 CALL 0x6a88,0x0 ebb_print((rom char far *)"!5 Err: Need comma next, found: '"); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -006262 f035 -006a88 0ed8 MOVLW 0xd8 -006a8a 6e33 MOVWF 0x33,0x0 -006a8c 0e7c MOVLW 0x7c -006a8e de89 RCALL 0x67a2 -006a90 0100 MOVLB 0x0 ebb_print_char(g_RX_buf[g_RX_buf_out]); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -006a92 de94 RCALL 0x67bc -006a94 deb5 RCALL 0x6800 -006a96 0e27 MOVLW 0x27 ebb_print_char(0x27); // The ' character C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -006a98 deb3 RCALL 0x6800 -006a9a de8d RCALL 0x67b6 print_line_ending(kLE_NORM); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -006a9c 0100 MOVLB 0x0 bitset(error_byte, kERROR_BYTE_PRINTED_ERROR); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -006a9e 8b97 BSF 0x97,0x5,0x1 -006aa0 0012 RETURN 0x0 -006264 0e00 MOVLW 0x0 return(0); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -006266 d028 BRA 0x62b8 +00627c ec52 CALL 0x6aa4,0x0 ebb_print((rom char far *)"!5 Err: Need comma next, found: '"); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +00627e f035 +006aa4 0ef4 MOVLW 0xf4 +006aa6 6e47 MOVWF 0x47,0x0 +006aa8 0e7c MOVLW 0x7c +006aaa de89 RCALL 0x67be +006aac 0100 MOVLB 0x0 ebb_print_char(g_RX_buf[g_RX_buf_out]); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +006aae de94 RCALL 0x67d8 +006ab0 deb5 RCALL 0x681c +006ab2 0e27 MOVLW 0x27 ebb_print_char(0x27); // The ' character C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +006ab4 deb3 RCALL 0x681c +006ab6 de8d RCALL 0x67d2 print_line_ending(kLE_NORM); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +006ab8 0100 MOVLB 0x0 bitset(error_byte, kERROR_BYTE_PRINTED_ERROR); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +006aba 8b97 BSF 0x97,0x5,0x1 +006abc 0012 RETURN 0x0 +006280 0e00 MOVLW 0x0 return(0); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +006282 d028 BRA 0x62d4 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // Move to the next character C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -006268 dad0 RCALL 0x680a advance_RX_buf_out(); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00626a e104 BNZ 0x6274 -00626c 0e01 MOVLW 0x1 -00626e 1834 XORWF 0x34,0x0,0x0 -006270 e101 BNZ 0x6274 -006272 6bcb CLRF 0xcb,0x1 +006284 dad0 RCALL 0x6826 advance_RX_buf_out(); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +006286 e104 BNZ 0x6290 +006288 0e01 MOVLW 0x1 +00628a 1848 XORWF 0x48,0x0,0x0 +00628c e101 BNZ 0x6290 +00628e 6bcb CLRF 0xcb,0x1 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0062b6 d7de BRA 0x6274 while(1) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0062d2 d7de BRA 0x6290 while(1) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // Check to see if we're already at the end C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -006274 0e0d MOVLW 0xd if (kCR == g_RX_buf[g_RX_buf_out] || (BYTE)',' == g_RX_buf[g_RX_buf_out] || bytes >= MaxBytes) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -006276 ecfd CALL 0x6bfa,0x0 -006278 f035 -00627a e009 BZ 0x628e -00627c 0e2c MOVLW 0x2c -00627e 6e34 MOVWF 0x34,0x0 -006280 da9d RCALL 0x67bc -006282 5c34 SUBWF 0x34,0x0,0x0 -006284 e004 BZ 0x628e -006286 0efc MOVLW 0xfc -006288 50db MOVF 0xdb,0x0,0x0 -00628a 5cdf SUBWF 0xdf,0x0,0x0 -00628c e302 BNC 0x6292 +006290 0e0d MOVLW 0xd if (kCR == g_RX_buf[g_RX_buf_out] || (BYTE)',' == g_RX_buf[g_RX_buf_out] || bytes >= MaxBytes) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +006292 ec0b CALL 0x6c16,0x0 +006294 f036 +006296 e009 BZ 0x62aa +006298 0e2c MOVLW 0x2c +00629a 6e48 MOVWF 0x48,0x0 +00629c da9d RCALL 0x67d8 +00629e 5c48 SUBWF 0x48,0x0,0x0 +0062a0 e004 BZ 0x62aa +0062a2 0efc MOVLW 0xfc +0062a4 50db MOVF 0xdb,0x0,0x0 +0062a6 5cdf SUBWF 0xdf,0x0,0x0 +0062a8 e302 BNC 0x62ae { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00628e 50df MOVF 0xdf,0x0,0x0 return (bytes); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -006290 d013 BRA 0x62b8 +0062aa 50df MOVF 0xdf,0x0,0x0 return (bytes); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0062ac d013 BRA 0x62d4 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // Copy over a byte C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -006292 da94 RCALL 0x67bc *ReturnValue = g_RX_buf[g_RX_buf_out]; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -006294 6ee6 MOVWF 0xe6,0x0 -006296 db2e RCALL 0x68f4 -006298 52e5 MOVF 0xe5,0x1,0x0 -00629a 50e7 MOVF 0xe7,0x0,0x0 -00629c 6eef MOVWF 0xef,0x0 +0062ae da94 RCALL 0x67d8 *ReturnValue = g_RX_buf[g_RX_buf_out]; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0062b0 6ee6 MOVWF 0xe6,0x0 +0062b2 db2e RCALL 0x6910 +0062b4 52e5 MOVF 0xe5,0x1,0x0 +0062b6 50e7 MOVF 0xe7,0x0,0x0 +0062b8 6eef MOVWF 0xef,0x0 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // Move to the next character C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00629e dab5 RCALL 0x680a advance_RX_buf_out(); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0062a0 e104 BNZ 0x62aa -0062a2 0e01 MOVLW 0x1 -0062a4 1834 XORWF 0x34,0x0,0x0 -0062a6 e101 BNZ 0x62aa -0062a8 6bcb CLRF 0xcb,0x1 +0062ba dab5 RCALL 0x6826 advance_RX_buf_out(); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0062bc e104 BNZ 0x62c6 +0062be 0e01 MOVLW 0x1 +0062c0 1848 XORWF 0x48,0x0,0x0 +0062c2 e101 BNZ 0x62c6 +0062c4 6bcb CLRF 0xcb,0x1 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // Count this one C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0062aa 2adf INCF 0xdf,0x1,0x0 bytes++; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0062ac 0efd MOVLW 0xfd ReturnValue++; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0062ae 2adb INCF 0xdb,0x1,0x0 -0062b0 0efe MOVLW 0xfe -0062b2 e3e0 BNC 0x6274 -0062b4 2adb INCF 0xdb,0x1,0x0 +0062c6 2adf INCF 0xdf,0x1,0x0 bytes++; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0062c8 0efd MOVLW 0xfd ReturnValue++; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0062ca 2adb INCF 0xdb,0x1,0x0 +0062cc 0efe MOVLW 0xfe +0062ce e3e0 BNC 0x6290 +0062d0 2adb INCF 0xdb,0x1,0x0 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c return(bytes); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0062b8 52e5 MOVF 0xe5,0x1,0x0 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0062ba d294 BRA 0x67e4 +0062d4 52e5 MOVF 0xe5,0x1,0x0 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0062d6 d294 BRA 0x6800 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // Look at the string pointed to by g_RX_buf[g_RX_buf_out] C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c @@ -23621,9 +23651,9 @@ Address Value Disassembly Source // unsigned long accumulator. C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // Advance the pointer to the byte after the last number C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // and return. C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0062bc da8e RCALL 0x67da ExtractReturnType extract_number( C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0062be 0e09 MOVLW 0x9 -0062c0 26e1 ADDWF 0xe1,0x1,0x0 +0062d8 da8e RCALL 0x67f6 ExtractReturnType extract_number( C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0062da 0e09 MOVLW 0x9 +0062dc 26e1 ADDWF 0xe1,0x1,0x0 ExtractType Type, C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c void * ReturnValue, C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c unsigned char Required C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c @@ -23631,426 +23661,426 @@ Address Value Disassembly Source { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c unsigned long ULAccumulator; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c signed long Accumulator; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0062c2 0e08 MOVLW 0x8 BOOL Negative = FALSE; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0062c4 6adb CLRF 0xdb,0x0 +0062de 0e08 MOVLW 0x8 BOOL Negative = FALSE; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0062e0 6adb CLRF 0xdb,0x0 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // Check to see if we're already at the end C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0062c6 ece2 CALL 0x6bc4,0x0 if (kCR == g_RX_buf[g_RX_buf_out]) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0062c8 f035 -0062ca e105 BNZ 0x62d6 +0062e2 ecf0 CALL 0x6be0,0x0 if (kCR == g_RX_buf[g_RX_buf_out]) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0062e4 f035 +0062e6 e105 BNZ 0x62f2 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0062cc 0efb MOVLW 0xfb if (0u == Required) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0062ce 50db MOVF 0xdb,0x0,0x0 -0062d0 e119 BNZ 0x6304 +0062e8 0efb MOVLW 0xfb if (0u == Required) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0062ea 50db MOVF 0xdb,0x0,0x0 +0062ec e119 BNZ 0x6320 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0062d2 8997 BSF 0x97,0x4,0x1 bitset(error_byte, kERROR_BYTE_MISSING_PARAMETER); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0062ee 8997 BSF 0x97,0x4,0x1 bitset(error_byte, kERROR_BYTE_MISSING_PARAMETER); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0062d4 d017 BRA 0x6304 return(kEXTRACT_MISSING_PARAMETER); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0062f0 d017 BRA 0x6320 return(kEXTRACT_MISSING_PARAMETER); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // Check for comma where ptr points C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0062d6 da72 RCALL 0x67bc if (g_RX_buf[g_RX_buf_out] != ',') C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0062d8 082c SUBLW 0x2c -0062da e006 BZ 0x62e8 +0062f2 da72 RCALL 0x67d8 if (g_RX_buf[g_RX_buf_out] != ',') C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0062f4 082c SUBLW 0x2c +0062f6 e006 BZ 0x6304 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0062dc 0efb MOVLW 0xfb if (0u == Required) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0062de 50db MOVF 0xdb,0x0,0x0 -0062e0 e101 BNZ 0x62e4 +0062f8 0efb MOVLW 0xfb if (0u == Required) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0062fa 50db MOVF 0xdb,0x0,0x0 +0062fc e101 BNZ 0x6300 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0062e2 dbd2 RCALL 0x6a88 ebb_print((rom char far *)"!5 Err: Need comma next, found: '"); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0067bc 51cb MOVF 0xcb,0x0,0x1 ebb_print_char(g_RX_buf[g_RX_buf_out]); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0067be d985 RCALL 0x6aca -0067c0 50ef MOVF 0xef,0x0,0x0 -0067c2 0012 RETURN 0x0 +0062fe dbd2 RCALL 0x6aa4 ebb_print((rom char far *)"!5 Err: Need comma next, found: '"); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0067d8 51cb MOVF 0xcb,0x0,0x1 ebb_print_char(g_RX_buf[g_RX_buf_out]); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0067da d985 RCALL 0x6ae6 +0067dc 50ef MOVF 0xef,0x0,0x0 +0067de 0012 RETURN 0x0 ebb_print_char(0x27); // The ' character C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c print_line_ending(kLE_NORM); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c bitset (error_byte, kERROR_BYTE_PRINTED_ERROR); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0062e4 0e02 MOVLW 0x2 return(kEXTRACT_COMMA_MISSING); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0062e6 d11a BRA 0x651c +006300 0e02 MOVLW 0x2 return(kEXTRACT_COMMA_MISSING); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +006302 d11a BRA 0x6538 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // Move to the next character C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0062e8 da90 RCALL 0x680a advance_RX_buf_out(); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0062ea e104 BNZ 0x62f4 -0062ec 0e01 MOVLW 0x1 -0062ee 1834 XORWF 0x34,0x0,0x0 -0062f0 e101 BNZ 0x62f4 -0062f2 6bcb CLRF 0xcb,0x1 +006304 da90 RCALL 0x6826 advance_RX_buf_out(); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +006306 e104 BNZ 0x6310 +006308 0e01 MOVLW 0x1 +00630a 1848 XORWF 0x48,0x0,0x0 +00630c e101 BNZ 0x6310 +00630e 6bcb CLRF 0xcb,0x1 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // Check for end of command C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0062f4 0e0d MOVLW 0xd if (kCR == g_RX_buf[g_RX_buf_out]) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0062f6 ecfd CALL 0x6bfa,0x0 -0062f8 f035 -0062fa e106 BNZ 0x6308 +006310 0e0d MOVLW 0xd if (kCR == g_RX_buf[g_RX_buf_out]) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +006312 ec0b CALL 0x6c16,0x0 +006314 f036 +006316 e106 BNZ 0x6324 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0062fc 0efb MOVLW 0xfb if (0u == Required) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0062fe 50db MOVF 0xdb,0x0,0x0 -006300 e101 BNZ 0x6304 +006318 0efb MOVLW 0xfb if (0u == Required) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +00631a 50db MOVF 0xdb,0x0,0x0 +00631c e101 BNZ 0x6320 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -006302 8997 BSF 0x97,0x4,0x1 bitset(error_byte, kERROR_BYTE_MISSING_PARAMETER); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +00631e 8997 BSF 0x97,0x4,0x1 bitset(error_byte, kERROR_BYTE_MISSING_PARAMETER); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -006304 0e03 MOVLW 0x3 return(kEXTRACT_MISSING_PARAMETER); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -006306 d10a BRA 0x651c +006320 0e03 MOVLW 0x3 return(kEXTRACT_MISSING_PARAMETER); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +006322 d10a BRA 0x6538 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // Now check for a sign character if we're not looking for ASCII chars C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c if ( C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -006308 0e2d MOVLW 0x2d ('-' == g_RX_buf[g_RX_buf_out]) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00630a ecfd CALL 0x6bfa,0x0 -00630c f035 -006bfa 6e33 MOVWF 0x33,0x0 -006bfc dddf RCALL 0x67bc -006bfe 5c33 SUBWF 0x33,0x0,0x0 -006c00 0012 RETURN 0x0 +006324 0e2d MOVLW 0x2d ('-' == g_RX_buf[g_RX_buf_out]) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +006326 ec0b CALL 0x6c16,0x0 +006328 f036 +006c16 6e47 MOVWF 0x47,0x0 +006c18 dddf RCALL 0x67d8 +006c1a 5c47 SUBWF 0x47,0x0,0x0 +006c1c 0012 RETURN 0x0 && C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c ( C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -006310 0e04 MOVLW 0x4 (kASCII_CHAR != Type) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -006312 db54 RCALL 0x69bc +00632c 0e04 MOVLW 0x4 (kASCII_CHAR != Type) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +00632e db54 RCALL 0x69d8 && C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -006316 0e05 MOVLW 0x5 (kUCASE_ASCII_CHAR != Type) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -006318 6e35 MOVWF 0x35,0x0 -00631a 0efe MOVLW 0xfe -00631c 50db MOVF 0xdb,0x0,0x0 -00631e 5c35 SUBWF 0x35,0x0,0x0 -006314 e01d BZ 0x6350 ) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -006320 e017 BZ 0x6350 -00630e e120 BNZ 0x6350 ) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +006332 0e05 MOVLW 0x5 (kUCASE_ASCII_CHAR != Type) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +006334 6e49 MOVWF 0x49,0x0 +006336 0efe MOVLW 0xfe +006338 50db MOVF 0xdb,0x0,0x0 +00633a 5c49 SUBWF 0x49,0x0,0x0 +006330 e01d BZ 0x636c ) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +00633c e017 BZ 0x636c +00632a e120 BNZ 0x636c ) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // It's an error if we see a negative sign on an unsigned value C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c if ( C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -006322 0efe MOVLW 0xfe (kUCHAR == Type) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -006324 04db DECF 0xdb,0x0,0x0 +00633e 0efe MOVLW 0xfe (kUCHAR == Type) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +006340 04db DECF 0xdb,0x0,0x0 || C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00632a 0e03 MOVLW 0x3 (kUINT == Type) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00632c db2f RCALL 0x698c -006326 e101 BNZ 0x632a || C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -006328 d0c0 BRA 0x64aa -00632e e101 BNZ 0x6332 -006330 d0bc BRA 0x64aa -006332 0e07 MOVLW 0x7 (kULONG == Type) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -006334 db43 RCALL 0x69bc -006336 e101 BNZ 0x633a ) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -006338 d0b8 BRA 0x64aa +006346 0e03 MOVLW 0x3 (kUINT == Type) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +006348 db2f RCALL 0x69a8 +006342 e101 BNZ 0x6346 || C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +006344 d0c0 BRA 0x64c6 +00634a e101 BNZ 0x634e +00634c d0bc BRA 0x64c6 +00634e 0e07 MOVLW 0x7 (kULONG == Type) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +006350 db43 RCALL 0x69d8 +006352 e101 BNZ 0x6356 ) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +006354 d0b8 BRA 0x64c6 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c bitset(error_byte, kERROR_BYTE_PARAMETER_OUTSIDE_LIMIT); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c return(kEXTRACT_PARAMETER_OUTSIDE_LIMIT); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c else C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00633a 0e01 MOVLW 0x1 Negative = TRUE; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00633c 6ef3 MOVWF 0xf3,0x0 -00633e 0e08 MOVLW 0x8 -006340 cff3 MOVFF 0xff3,0xfdb -006342 ffdb +006356 0e01 MOVLW 0x1 Negative = TRUE; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +006358 6ef3 MOVWF 0xf3,0x0 +00635a 0e08 MOVLW 0x8 +00635c cff3 MOVFF 0xff3,0xfdb +00635e ffdb // Move to the next character C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -006344 da62 RCALL 0x680a advance_RX_buf_out(); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -006346 e104 BNZ 0x6350 -006348 0e01 MOVLW 0x1 -00634a 1834 XORWF 0x34,0x0,0x0 -00634c e101 BNZ 0x6350 -00634e 6bcb CLRF 0xcb,0x1 +006360 da62 RCALL 0x6826 advance_RX_buf_out(); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +006362 e104 BNZ 0x636c +006364 0e01 MOVLW 0x1 +006366 1848 XORWF 0x48,0x0,0x0 +006368 e101 BNZ 0x636c +00636a 6bcb CLRF 0xcb,0x1 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // If we need to get a digit, go do that C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c if ( C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -006350 0e04 MOVLW 0x4 (kASCII_CHAR != Type) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -006352 db1c RCALL 0x698c +00636c 0e04 MOVLW 0x4 (kASCII_CHAR != Type) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +00636e db1c RCALL 0x69a8 && C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -006356 0e05 MOVLW 0x5 (kUCASE_ASCII_CHAR != Type) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -006358 db31 RCALL 0x69bc -006354 e009 BZ 0x6368 ) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00635a e006 BZ 0x6368 +006372 0e05 MOVLW 0x5 (kUCASE_ASCII_CHAR != Type) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +006374 db31 RCALL 0x69d8 +006370 e009 BZ 0x6384 ) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +006376 e006 BZ 0x6384 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00635c 0e0a MOVLW 0xa extract_digit(&ULAccumulator, 10); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00635e daf1 RCALL 0x6942 -006360 d8e6 RCALL 0x652e -006362 ec19 CALL 0x6c32,0x0 -006364 f036 +006378 0e0a MOVLW 0xa extract_digit(&ULAccumulator, 10); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +00637a daf1 RCALL 0x695e +00637c d8e6 RCALL 0x654a +00637e ec27 CALL 0x6c4e,0x0 +006380 f036 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -006366 d031 BRA 0x63ca else C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +006382 d031 BRA 0x63e6 else C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // Otherwise just copy the byte C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -006368 51cb MOVF 0xcb,0x0,0x1 ULAccumulator = g_RX_buf[g_RX_buf_out]; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00636a dbaf RCALL 0x6aca -00636c cfef MOVFF 0xfef,0x33 -00636e f033 -006370 0e00 MOVLW 0x0 -006372 c033 MOVFF 0x33,0xfdf -006374 ffdf -006376 db3f RCALL 0x69f6 +006384 51cb MOVF 0xcb,0x0,0x1 ULAccumulator = g_RX_buf[g_RX_buf_out]; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +006386 dbaf RCALL 0x6ae6 +006388 cfef MOVFF 0xfef,0x47 +00638a f047 +00638c 0e00 MOVLW 0x0 +00638e c047 MOVFF 0x47,0xfdf +006390 ffdf +006392 db3f RCALL 0x6a12 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // Force uppercase if that's what type we have C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -006378 0e05 MOVLW 0x5 if (kUCASE_ASCII_CHAR == Type) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00637a db08 RCALL 0x698c -00637c e11f BNZ 0x63bc +006394 0e05 MOVLW 0x5 if (kUCASE_ASCII_CHAR == Type) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +006396 db08 RCALL 0x69a8 +006398 e11f BNZ 0x63d8 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00637e 0e00 MOVLW 0x0 ULAccumulator = toupper(ULAccumulator); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -006380 cfdf MOVFF 0xfdf,0xfe6 -006382 ffe6 -006384 0e01 MOVLW 0x1 -006386 cfdb MOVFF 0xfdb,0xfe6 -006388 ffe6 -00638a ec53 CALL 0x90a6,0x0 -00638c f048 -00638e 52e5 MOVF 0xe5,0x1,0x0 -006390 52e5 MOVF 0xe5,0x1,0x0 -006392 cff3 MOVFF 0xff3,0x33 -006394 f033 -006396 cff4 MOVFF 0xff4,0x34 -006398 f034 -00639a 6a35 CLRF 0x35,0x0 -00639c 6a36 CLRF 0x36,0x0 -00639e ae34 BTFSS 0x34,0x7,0x0 -0063a0 d002 BRA 0x63a6 -0063a2 6835 SETF 0x35,0x0 -0063a4 6836 SETF 0x36,0x0 -0063a6 c033 MOVFF 0x33,0xfdf -0063a8 ffdf -0063aa 0e01 MOVLW 0x1 -0063ac c034 MOVFF 0x34,0xfdb -0063ae ffdb -0063b0 0e02 MOVLW 0x2 -0063b2 c035 MOVFF 0x35,0xfdb -0063b4 ffdb -0063b6 0e03 MOVLW 0x3 -0063b8 c036 MOVFF 0x36,0xfdb -0063ba ffdb +00639a 0e00 MOVLW 0x0 ULAccumulator = toupper(ULAccumulator); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +00639c cfdf MOVFF 0xfdf,0xfe6 +00639e ffe6 +0063a0 0e01 MOVLW 0x1 +0063a2 cfdb MOVFF 0xfdb,0xfe6 +0063a4 ffe6 +0063a6 ec61 CALL 0x90c2,0x0 +0063a8 f048 +0063aa 52e5 MOVF 0xe5,0x1,0x0 +0063ac 52e5 MOVF 0xe5,0x1,0x0 +0063ae cff3 MOVFF 0xff3,0x47 +0063b0 f047 +0063b2 cff4 MOVFF 0xff4,0x48 +0063b4 f048 +0063b6 6a49 CLRF 0x49,0x0 +0063b8 6a4a CLRF 0x4a,0x0 +0063ba ae48 BTFSS 0x48,0x7,0x0 +0063bc d002 BRA 0x63c2 +0063be 6849 SETF 0x49,0x0 +0063c0 684a SETF 0x4a,0x0 +0063c2 c047 MOVFF 0x47,0xfdf +0063c4 ffdf +0063c6 0e01 MOVLW 0x1 +0063c8 c048 MOVFF 0x48,0xfdb +0063ca ffdb +0063cc 0e02 MOVLW 0x2 +0063ce c049 MOVFF 0x49,0xfdb +0063d0 ffdb +0063d2 0e03 MOVLW 0x3 +0063d4 c04a MOVFF 0x4a,0xfdb +0063d6 ffdb } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // Move to the next character C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0063bc 0100 MOVLB 0x0 advance_RX_buf_out(); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0063be da25 RCALL 0x680a -0063c0 e104 BNZ 0x63ca -0063c2 0e01 MOVLW 0x1 -0063c4 1834 XORWF 0x34,0x0,0x0 -0063c6 e101 BNZ 0x63ca -0063c8 6bcb CLRF 0xcb,0x1 +0063d8 0100 MOVLB 0x0 advance_RX_buf_out(); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0063da da25 RCALL 0x6826 +0063dc e104 BNZ 0x63e6 +0063de 0e01 MOVLW 0x1 +0063e0 1848 XORWF 0x48,0x0,0x0 +0063e2 e101 BNZ 0x63e6 +0063e4 6bcb CLRF 0xcb,0x1 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // Range check absolute values C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0063ca 0e08 MOVLW 0x8 if (Negative) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0063cc 50db MOVF 0xdb,0x0,0x0 -0063ce e040 BZ 0x6450 +0063e6 0e08 MOVLW 0x8 if (Negative) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0063e8 50db MOVF 0xdb,0x0,0x0 +0063ea e040 BZ 0x646c { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c if ( C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c ( C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0063d0 0efe MOVLW 0xfe kCHAR == Type C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0063d2 50db MOVF 0xdb,0x0,0x0 +0063ec 0efe MOVLW 0xfe kCHAR == Type C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0063ee 50db MOVF 0xdb,0x0,0x0 && C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0063d6 da4d RCALL 0x6872 (ULAccumulator > (unsigned long)128) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0063d8 0e80 MOVLW 0x80 -0063da da6e RCALL 0x68b8 -0063dc 0e00 MOVLW 0x0 -0063de 54ee SUBFWB 0xee,0x0,0x0 -0063d4 e106 BNZ 0x63e2 ) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0063e0 e312 BNC 0x6406 +0063f2 da4d RCALL 0x688e (ULAccumulator > (unsigned long)128) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0063f4 0e80 MOVLW 0x80 +0063f6 da6e RCALL 0x68d4 +0063f8 0e00 MOVLW 0x0 +0063fa 54ee SUBFWB 0xee,0x0,0x0 +0063f0 e106 BNZ 0x63fe ) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0063fc e312 BNC 0x6422 || C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c ( C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0063e2 0e02 MOVLW 0x2 kINT == Type C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0063e4 dad3 RCALL 0x698c +0063fe 0e02 MOVLW 0x2 kINT == Type C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +006400 dad3 RCALL 0x69a8 && C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0063e8 da44 RCALL 0x6872 (ULAccumulator > (unsigned long)32768) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0063ea 0e00 MOVLW 0x0 -0063ec 54ee SUBFWB 0xee,0x0,0x0 -0063ee 0e80 MOVLW 0x80 -0063f0 da63 RCALL 0x68b8 -0063e6 e106 BNZ 0x63f4 ) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0063f2 e309 BNC 0x6406 +006404 da44 RCALL 0x688e (ULAccumulator > (unsigned long)32768) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +006406 0e00 MOVLW 0x0 +006408 54ee SUBFWB 0xee,0x0,0x0 +00640a 0e80 MOVLW 0x80 +00640c da63 RCALL 0x68d4 +006402 e106 BNZ 0x6410 ) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +00640e e309 BNC 0x6422 || C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c ( C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0063f4 0e06 MOVLW 0x6 kLONG == Type C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0063f6 dae2 RCALL 0x69bc +006410 0e06 MOVLW 0x6 kLONG == Type C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +006412 dae2 RCALL 0x69d8 && C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0063fa da3b RCALL 0x6872 (ULAccumulator > (unsigned long)0x80000000L) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0063fc 0e00 MOVLW 0x0 -0063fe da5c RCALL 0x68b8 -006400 0e80 MOVLW 0x80 -006402 54ee SUBFWB 0xee,0x0,0x0 -0063f8 e108 BNZ 0x640a ) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -006404 e202 BC 0x640a +006416 da3b RCALL 0x688e (ULAccumulator > (unsigned long)0x80000000L) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +006418 0e00 MOVLW 0x0 +00641a da5c RCALL 0x68d4 +00641c 0e80 MOVLW 0x80 +00641e 54ee SUBFWB 0xee,0x0,0x0 +006414 e108 BNZ 0x6426 ) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +006420 e202 BC 0x6426 ) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -006406 0100 MOVLB 0x0 bitset(error_byte, kERROR_BYTE_PARAMETER_OUTSIDE_LIMIT); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -006408 d050 BRA 0x64aa return(kEXTRACT_PARAMETER_OUTSIDE_LIMIT); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +006422 0100 MOVLB 0x0 bitset(error_byte, kERROR_BYTE_PARAMETER_OUTSIDE_LIMIT); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +006424 d050 BRA 0x64c6 return(kEXTRACT_PARAMETER_OUTSIDE_LIMIT); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00640a da7b RCALL 0x6902 Accumulator = ULAccumulator; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -006902 cfd9 MOVFF 0xfd9,0xfe9 -006904 ffe9 -006906 cfda MOVFF 0xfda,0xfea -006908 ffea -00690a 0e04 MOVLW 0x4 -00690c cfee MOVFF 0xfee,0xfdb -00690e ffdb -006910 0e05 MOVLW 0x5 -006912 cfee MOVFF 0xfee,0xfdb -006914 ffdb -006916 0e06 MOVLW 0x6 -006918 cfee MOVFF 0xfee,0xfdb -00691a ffdb -00691c 0e07 MOVLW 0x7 -00691e cfee MOVFF 0xfee,0xfdb -006920 ffdb -006922 0012 RETURN 0x0 +006426 da7b RCALL 0x691e Accumulator = ULAccumulator; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +00691e cfd9 MOVFF 0xfd9,0xfe9 +006920 ffe9 +006922 cfda MOVFF 0xfda,0xfea +006924 ffea +006926 0e04 MOVLW 0x4 +006928 cfee MOVFF 0xfee,0xfdb +00692a ffdb +00692c 0e05 MOVLW 0x5 +00692e cfee MOVFF 0xfee,0xfdb +006930 ffdb +006932 0e06 MOVLW 0x6 +006934 cfee MOVFF 0xfee,0xfdb +006936 ffdb +006938 0e07 MOVLW 0x7 +00693a cfee MOVFF 0xfee,0xfdb +00693c ffdb +00693e 0012 RETURN 0x0 // Then apply the negative if that's the right thing to do C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00640c 0e08 MOVLW 0x8 if (Negative) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00640e 50db MOVF 0xdb,0x0,0x0 -006410 e053 BZ 0x64b8 +006428 0e08 MOVLW 0x8 if (Negative) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +00642a 50db MOVF 0xdb,0x0,0x0 +00642c e053 BZ 0x64d4 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -006412 0e04 MOVLW 0x4 Accumulator = -Accumulator; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -006414 cfdb MOVFF 0xfdb,0x29 -006416 f029 -006418 0e05 MOVLW 0x5 -00641a cfdb MOVFF 0xfdb,0x2a -00641c f02a -00641e 0e06 MOVLW 0x6 -006420 cfdb MOVFF 0xfdb,0x2b -006422 f02b -006424 0e07 MOVLW 0x7 -006426 cfdb MOVFF 0xfdb,0x2c -006428 f02c -00642a 682e SETF 0x2e,0x0 -00642c 682f SETF 0x2f,0x0 -00642e 6830 SETF 0x30,0x0 -006430 6831 SETF 0x31,0x0 -006432 ec66 CALL 0x8ecc,0x0 -006434 f047 -006436 0e04 MOVLW 0x4 -006438 c025 MOVFF 0x25,0xfdb -00643a ffdb -00643c 0e05 MOVLW 0x5 -00643e c026 MOVFF 0x26,0xfdb -006440 ffdb -006442 0e06 MOVLW 0x6 -006444 c027 MOVFF 0x27,0xfdb -006446 ffdb -006448 0e07 MOVLW 0x7 -00644a c028 MOVFF 0x28,0xfdb -00644c ffdb +00642e 0e04 MOVLW 0x4 Accumulator = -Accumulator; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +006430 cfdb MOVFF 0xfdb,0x3d +006432 f03d +006434 0e05 MOVLW 0x5 +006436 cfdb MOVFF 0xfdb,0x3e +006438 f03e +00643a 0e06 MOVLW 0x6 +00643c cfdb MOVFF 0xfdb,0x3f +00643e f03f +006440 0e07 MOVLW 0x7 +006442 cfdb MOVFF 0xfdb,0x40 +006444 f040 +006446 6842 SETF 0x42,0x0 +006448 6843 SETF 0x43,0x0 +00644a 6844 SETF 0x44,0x0 +00644c 6845 SETF 0x45,0x0 +00644e ec74 CALL 0x8ee8,0x0 +006450 f047 +006452 0e04 MOVLW 0x4 +006454 c039 MOVFF 0x39,0xfdb +006456 ffdb +006458 0e05 MOVLW 0x5 +00645a c03a MOVFF 0x3a,0xfdb +00645c ffdb +00645e 0e06 MOVLW 0x6 +006460 c03b MOVFF 0x3b,0xfdb +006462 ffdb +006464 0e07 MOVLW 0x7 +006466 c03c MOVFF 0x3c,0xfdb +006468 ffdb } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00644e d034 BRA 0x64b8 else C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +00646a d034 BRA 0x64d4 else C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c if ( C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c ( C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -006450 0efe MOVLW 0xfe kCHAR == Type C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -006452 50db MOVF 0xdb,0x0,0x0 +00646c 0efe MOVLW 0xfe kCHAR == Type C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +00646e 50db MOVF 0xdb,0x0,0x0 && C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -006456 da0d RCALL 0x6872 (ULAccumulator > (unsigned long)127) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -006458 0e7f MOVLW 0x7f -00645a 54ee SUBFWB 0xee,0x0,0x0 -00645c 0e00 MOVLW 0x0 -00645e da2c RCALL 0x68b8 -006454 e106 BNZ 0x6462 ) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -006460 e323 BNC 0x64a8 +006472 da0d RCALL 0x688e (ULAccumulator > (unsigned long)127) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +006474 0e7f MOVLW 0x7f +006476 54ee SUBFWB 0xee,0x0,0x0 +006478 0e00 MOVLW 0x0 +00647a da2c RCALL 0x68d4 +006470 e106 BNZ 0x647e ) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +00647c e323 BNC 0x64c4 || C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c ( C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c kUCHAR == Type C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -006462 0efe MOVLW 0xfe && C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -006464 04db DECF 0xdb,0x0,0x0 -006468 db73 RCALL 0x6b50 (ULAccumulator > (unsigned long)255) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00646a 0e00 MOVLW 0x0 -00646c da25 RCALL 0x68b8 -006466 e104 BNZ 0x6470 ) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00646e e31c BNC 0x64a8 - || C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - ( C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -006470 0e02 MOVLW 0x2 kINT == Type C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -006472 da8c RCALL 0x698c - && C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -006476 db6c RCALL 0x6b50 (ULAccumulator > (unsigned long)32767) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -006478 0e7f MOVLW 0x7f -00647a da1e RCALL 0x68b8 -006474 e104 BNZ 0x647e ) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00647c e315 BNC 0x64a8 - || C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - ( C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00647e 0e03 MOVLW 0x3 kUINT == Type C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -006480 da9d RCALL 0x69bc -0069bc 6e34 MOVWF 0x34,0x0 -0069be 0efe MOVLW 0xfe -0069c0 50db MOVF 0xdb,0x0,0x0 -0069c2 5c34 SUBWF 0x34,0x0,0x0 && C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0069c4 0012 RETURN 0x0 -006484 db65 RCALL 0x6b50 (ULAccumulator > (unsigned long)65535) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -006486 0eff MOVLW 0xff -006488 da17 RCALL 0x68b8 -0068b8 54ee SUBFWB 0xee,0x0,0x0 -0068ba 0e00 MOVLW 0x0 -0068bc 54ee SUBFWB 0xee,0x0,0x0 -0068be 0e00 MOVLW 0x0 -0068c0 54ee SUBFWB 0xee,0x0,0x0 -0068c2 0012 RETURN 0x0 +00647e 0efe MOVLW 0xfe && C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +006480 04db DECF 0xdb,0x0,0x0 +006484 db73 RCALL 0x6b6c (ULAccumulator > (unsigned long)255) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +006486 0e00 MOVLW 0x0 +006488 da25 RCALL 0x68d4 006482 e104 BNZ 0x648c ) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00648a e30e BNC 0x64a8 +00648a e31c BNC 0x64c4 || C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c ( C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00648c 0e06 MOVLW 0x6 kLONG == Type C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00648e 6e35 MOVWF 0x35,0x0 -006490 0efe MOVLW 0xfe -006492 50db MOVF 0xdb,0x0,0x0 -006494 5c35 SUBWF 0x35,0x0,0x0 && C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -006498 db5b RCALL 0x6b50 (ULAccumulator > (unsigned long)0x7FFFFFFFL) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00649a 0eff MOVLW 0xff -00649c 54ee SUBFWB 0xee,0x0,0x0 -00649e 0eff MOVLW 0xff -0064a0 54ee SUBFWB 0xee,0x0,0x0 -0064a2 0e7f MOVLW 0x7f -0064a4 54ee SUBFWB 0xee,0x0,0x0 -006872 cfd9 MOVFF 0xfd9,0xfe9 -006874 ffe9 -006876 cfda MOVFF 0xfda,0xfea -006878 ffea -00687a 80d8 BSF 0xd8,0x0,0x0 -00687c 0012 RETURN 0x0 -006b50 de90 RCALL 0x6872 -006b52 0eff MOVLW 0xff -006b54 54ee SUBFWB 0xee,0x0,0x0 -006b56 0012 RETURN 0x0 -006496 e10c BNZ 0x64b0 ) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0064a6 e204 BC 0x64b0 +00648c 0e02 MOVLW 0x2 kINT == Type C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +00648e da8c RCALL 0x69a8 + && C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +006492 db6c RCALL 0x6b6c (ULAccumulator > (unsigned long)32767) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +006494 0e7f MOVLW 0x7f +006496 da1e RCALL 0x68d4 +006490 e104 BNZ 0x649a ) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +006498 e315 BNC 0x64c4 + || C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + ( C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +00649a 0e03 MOVLW 0x3 kUINT == Type C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +00649c da9d RCALL 0x69d8 +0069d8 6e48 MOVWF 0x48,0x0 +0069da 0efe MOVLW 0xfe +0069dc 50db MOVF 0xdb,0x0,0x0 +0069de 5c48 SUBWF 0x48,0x0,0x0 && C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0069e0 0012 RETURN 0x0 +0064a0 db65 RCALL 0x6b6c (ULAccumulator > (unsigned long)65535) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0064a2 0eff MOVLW 0xff +0064a4 da17 RCALL 0x68d4 +0068d4 54ee SUBFWB 0xee,0x0,0x0 +0068d6 0e00 MOVLW 0x0 +0068d8 54ee SUBFWB 0xee,0x0,0x0 +0068da 0e00 MOVLW 0x0 +0068dc 54ee SUBFWB 0xee,0x0,0x0 +0068de 0012 RETURN 0x0 +00649e e104 BNZ 0x64a8 ) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0064a6 e30e BNC 0x64c4 + || C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + ( C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0064a8 0e06 MOVLW 0x6 kLONG == Type C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0064aa 6e49 MOVWF 0x49,0x0 +0064ac 0efe MOVLW 0xfe +0064ae 50db MOVF 0xdb,0x0,0x0 +0064b0 5c49 SUBWF 0x49,0x0,0x0 && C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0064b4 db5b RCALL 0x6b6c (ULAccumulator > (unsigned long)0x7FFFFFFFL) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0064b6 0eff MOVLW 0xff +0064b8 54ee SUBFWB 0xee,0x0,0x0 +0064ba 0eff MOVLW 0xff +0064bc 54ee SUBFWB 0xee,0x0,0x0 +0064be 0e7f MOVLW 0x7f +0064c0 54ee SUBFWB 0xee,0x0,0x0 +00688e cfd9 MOVFF 0xfd9,0xfe9 +006890 ffe9 +006892 cfda MOVFF 0xfda,0xfea +006894 ffea +006896 80d8 BSF 0xd8,0x0,0x0 +006898 0012 RETURN 0x0 +006b6c de90 RCALL 0x688e +006b6e 0eff MOVLW 0xff +006b70 54ee SUBFWB 0xee,0x0,0x0 +006b72 0012 RETURN 0x0 +0064b2 e10c BNZ 0x64cc ) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0064c2 e204 BC 0x64cc ) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0064a8 0100 MOVLB 0x0 bitset(error_byte, kERROR_BYTE_PARAMETER_OUTSIDE_LIMIT); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0064aa 8d97 BSF 0x97,0x6,0x1 -0064ac 0e01 MOVLW 0x1 return(kEXTRACT_PARAMETER_OUTSIDE_LIMIT); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0064ae d036 BRA 0x651c +0064c4 0100 MOVLB 0x0 bitset(error_byte, kERROR_BYTE_PARAMETER_OUTSIDE_LIMIT); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0064c6 8d97 BSF 0x97,0x6,0x1 +0064c8 0e01 MOVLW 0x1 return(kEXTRACT_PARAMETER_OUTSIDE_LIMIT); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0064ca d036 BRA 0x6538 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0064b0 0e07 MOVLW 0x7 if (kULONG != Type) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0064b2 da6c RCALL 0x698c -0064b4 e001 BZ 0x64b8 -00698c 6e33 MOVWF 0x33,0x0 -00698e 0efe MOVLW 0xfe -006990 50db MOVF 0xdb,0x0,0x0 -006992 5c33 SUBWF 0x33,0x0,0x0 -006994 0012 RETURN 0x0 +0064cc 0e07 MOVLW 0x7 if (kULONG != Type) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0064ce da6c RCALL 0x69a8 +0064d0 e001 BZ 0x64d4 +0069a8 6e47 MOVWF 0x47,0x0 +0069aa 0efe MOVLW 0xfe +0069ac 50db MOVF 0xdb,0x0,0x0 +0069ae 5c47 SUBWF 0x47,0x0,0x0 +0069b0 0012 RETURN 0x0 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0064b6 da25 RCALL 0x6902 Accumulator = ULAccumulator; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0064d2 da25 RCALL 0x691e Accumulator = ULAccumulator; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // If all went well, then copy the result C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0064b8 0efe MOVLW 0xfe switch (Type) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0064ba 50db MOVF 0xdb,0x0,0x0 -0064bc 0a07 XORLW 0x7 -0064be e021 BZ 0x6502 -0064c0 0a01 XORLW 0x1 -0064c2 e017 BZ 0x64f2 -0064c4 0a05 XORLW 0x5 -0064c6 e011 BZ 0x64ea -0064c8 0a01 XORLW 0x1 -0064ca e00f BZ 0x64ea -0064cc 0a03 XORLW 0x3 -0064ce e008 BZ 0x64e0 -0064d0 0a05 XORLW 0x5 -0064d2 e006 BZ 0x64e0 -0064d4 0a01 XORLW 0x1 -0064d6 e004 BZ 0x64e0 -0064d8 0a05 XORLW 0x5 -0064da e002 BZ 0x64e0 +0064d4 0efe MOVLW 0xfe switch (Type) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0064d6 50db MOVF 0xdb,0x0,0x0 +0064d8 0a07 XORLW 0x7 +0064da e021 BZ 0x651e +0064dc 0a01 XORLW 0x1 +0064de e017 BZ 0x650e +0064e0 0a05 XORLW 0x5 +0064e2 e011 BZ 0x6506 +0064e4 0a01 XORLW 0x1 +0064e6 e00f BZ 0x6506 +0064e8 0a03 XORLW 0x3 +0064ea e008 BZ 0x64fc +0064ec 0a05 XORLW 0x5 +0064ee e006 BZ 0x64fc +0064f0 0a01 XORLW 0x1 +0064f2 e004 BZ 0x64fc +0064f4 0a05 XORLW 0x5 +0064f6 e002 BZ 0x64fc { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c case kCHAR: C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c *(signed char *)ReturnValue = (signed char)Accumulator; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c @@ -24058,69 +24088,69 @@ Address Value Disassembly Source case kUCHAR: C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c case kASCII_CHAR: C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c case kUCASE_ASCII_CHAR: C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0064e0 da29 RCALL 0x6934 *(unsigned char *)ReturnValue = (unsigned char)Accumulator; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0064e2 0e04 MOVLW 0x4 -0064e4 cfdb MOVFF 0xfdb,0xfef -0064e6 ffef -0064e8 d018 BRA 0x651a break; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0064fc da29 RCALL 0x6950 *(unsigned char *)ReturnValue = (unsigned char)Accumulator; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0064fe 0e04 MOVLW 0x4 +006500 cfdb MOVFF 0xfdb,0xfef +006502 ffef +006504 d018 BRA 0x6536 break; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c case kINT: C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c *(signed int *)ReturnValue = (signed int)Accumulator; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c break; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c case kUINT: C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0064ea db72 RCALL 0x6bd0 *(unsigned int *)ReturnValue = (unsigned int)Accumulator; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0064ec cfdb MOVFF 0xfdb,0xfed -0064ee ffed -006bd0 deb1 RCALL 0x6934 -006bd2 0e04 MOVLW 0x4 -006bd4 cfdb MOVFF 0xfdb,0xfee -006bd6 ffee -006bd8 0e05 MOVLW 0x5 -006bda 0012 RETURN 0x0 -0064f0 d014 BRA 0x651a break; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +006506 db72 RCALL 0x6bec *(unsigned int *)ReturnValue = (unsigned int)Accumulator; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +006508 cfdb MOVFF 0xfdb,0xfed +00650a ffed +006bec deb1 RCALL 0x6950 +006bee 0e04 MOVLW 0x4 +006bf0 cfdb MOVFF 0xfdb,0xfee +006bf2 ffee +006bf4 0e05 MOVLW 0x5 +006bf6 0012 RETURN 0x0 +00650c d014 BRA 0x6536 break; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c case kLONG: C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0064f2 db6e RCALL 0x6bd0 *(signed long *)ReturnValue = Accumulator; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0064f4 cfdb MOVFF 0xfdb,0xfee -0064f6 ffee -0064f8 0e06 MOVLW 0x6 -0064fa cfdb MOVFF 0xfdb,0xfee -0064fc ffee -0064fe 0e07 MOVLW 0x7 -006934 0efc MOVLW 0xfc -006936 cfdb MOVFF 0xfdb,0xfe9 -006938 ffe9 -00693a 0efd MOVLW 0xfd -00693c cfdb MOVFF 0xfdb,0xfea -00693e ffea -006940 0012 RETURN 0x0 -006500 d00a BRA 0x6516 break; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c - case kULONG: C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -006502 da18 RCALL 0x6934 *(unsigned long *)ReturnValue = ULAccumulator; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -006504 cfdf MOVFF 0xfdf,0xfee -006506 ffee -006508 0e01 MOVLW 0x1 -00650a cfdb MOVFF 0xfdb,0xfee -00650c ffee -00650e 0e02 MOVLW 0x2 +00650e db6e RCALL 0x6bec *(signed long *)ReturnValue = Accumulator; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c 006510 cfdb MOVFF 0xfdb,0xfee 006512 ffee -006514 0e03 MOVLW 0x3 +006514 0e06 MOVLW 0x6 006516 cfdb MOVFF 0xfdb,0xfee 006518 ffee +00651a 0e07 MOVLW 0x7 +006950 0efc MOVLW 0xfc +006952 cfdb MOVFF 0xfdb,0xfe9 +006954 ffe9 +006956 0efd MOVLW 0xfd +006958 cfdb MOVFF 0xfdb,0xfea +00695a ffea +00695c 0012 RETURN 0x0 +00651c d00a BRA 0x6532 break; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c + case kULONG: C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +00651e da18 RCALL 0x6950 *(unsigned long *)ReturnValue = ULAccumulator; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +006520 cfdf MOVFF 0xfdf,0xfee +006522 ffee +006524 0e01 MOVLW 0x1 +006526 cfdb MOVFF 0xfdb,0xfee +006528 ffee +00652a 0e02 MOVLW 0x2 +00652c cfdb MOVFF 0xfdb,0xfee +00652e ffee +006530 0e03 MOVLW 0x3 +006532 cfdb MOVFF 0xfdb,0xfee +006534 ffee break; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c default: C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0064dc 0e04 MOVLW 0x4 return(kEXTRACT_INVALID_TYPE); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0064de d01e BRA 0x651c +0064f8 0e04 MOVLW 0x4 return(kEXTRACT_INVALID_TYPE); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0064fa d01e BRA 0x6538 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00651a 0e00 MOVLW 0x0 return(kEXTRACT_OK); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00651c 6e33 MOVWF 0x33,0x0 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00651e 0e09 MOVLW 0x9 -006520 5ce1 SUBWF 0xe1,0x0,0x0 -006522 e202 BC 0x6528 -006524 6ae1 CLRF 0xe1,0x0 -006526 52e5 MOVF 0xe5,0x1,0x0 -006528 6ee1 MOVWF 0xe1,0x0 -00652a 5033 MOVF 0x33,0x0,0x0 -00652c d15b BRA 0x67e4 +006536 0e00 MOVLW 0x0 return(kEXTRACT_OK); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +006538 6e47 MOVWF 0x47,0x0 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +00653a 0e09 MOVLW 0x9 +00653c 5ce1 SUBWF 0xe1,0x0,0x0 +00653e e202 BC 0x6544 +006540 6ae1 CLRF 0xe1,0x0 +006542 52e5 MOVF 0xe5,0x1,0x0 +006544 6ee1 MOVWF 0xe1,0x0 +006546 5047 MOVF 0x47,0x0,0x0 +006548 d15b BRA 0x6800 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // Loop 'digits' number of times, looking at the C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // byte in input_buffer index *ptr, and if it is C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c @@ -24128,176 +24158,176 @@ Address Value Disassembly Source // powers of ten as well. If you hit a non-numerical C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // char, then return FALSE, otherwise return TRUE. C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // Store result as you go in *acc. C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00652e db96 RCALL 0x6c5c signed char extract_digit(unsigned long * acc, unsigned char digits) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -006c5c ddbe RCALL 0x67da -006c5e 0e02 MOVLW 0x2 -006c60 26e1 ADDWF 0xe1,0x1,0x0 -006c62 0012 RETURN 0x0 +00654a db96 RCALL 0x6c78 signed char extract_digit(unsigned long * acc, unsigned char digits) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +006c78 ddbe RCALL 0x67f6 +006c7a 0e02 MOVLW 0x2 +006c7c 26e1 ADDWF 0xe1,0x1,0x0 +006c7e 0012 RETURN 0x0 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c unsigned char val; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c unsigned char digit_cnt; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -006530 d9e1 RCALL 0x68f4 *acc = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -006532 6aee CLRF 0xee,0x0 -006534 6aee CLRF 0xee,0x0 -006536 6aee CLRF 0xee,0x0 -006538 6aee CLRF 0xee,0x0 +00654c d9e1 RCALL 0x6910 *acc = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +00654e 6aee CLRF 0xee,0x0 +006550 6aee CLRF 0xee,0x0 +006552 6aee CLRF 0xee,0x0 +006554 6aee CLRF 0xee,0x0 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00653a 0e01 MOVLW 0x1 for (digit_cnt = 0; digit_cnt < digits; digit_cnt++) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00653c 6adb CLRF 0xdb,0x0 -00653e 0efc MOVLW 0xfc -006540 50db MOVF 0xdb,0x0,0x0 -006542 6ef3 MOVWF 0xf3,0x0 -006544 0e01 MOVLW 0x1 -006546 da1d RCALL 0x6982 -006548 e24f BC 0x65e8 -0065e2 0e01 MOVLW 0x1 -0065e4 2adb INCF 0xdb,0x1,0x0 -0065e6 d7ab BRA 0x653e -006982 cfdb MOVFF 0xfdb,0xff4 -006984 fff4 -006986 50f3 MOVF 0xf3,0x0,0x0 -006988 5cf4 SUBWF 0xf4,0x0,0x0 -00698a 0012 RETURN 0x0 +006556 0e01 MOVLW 0x1 for (digit_cnt = 0; digit_cnt < digits; digit_cnt++) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +006558 6adb CLRF 0xdb,0x0 +00655a 0efc MOVLW 0xfc +00655c 50db MOVF 0xdb,0x0,0x0 +00655e 6ef3 MOVWF 0xf3,0x0 +006560 0e01 MOVLW 0x1 +006562 da1d RCALL 0x699e +006564 e24f BC 0x6604 +0065fe 0e01 MOVLW 0x1 +006600 2adb INCF 0xdb,0x1,0x0 +006602 d7ab BRA 0x655a +00699e cfdb MOVFF 0xfdb,0xff4 +0069a0 fff4 +0069a2 50f3 MOVF 0xf3,0x0,0x0 +0069a4 5cf4 SUBWF 0xf4,0x0,0x0 +0069a6 0012 RETURN 0x0 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00654a 0100 MOVLB 0x0 val = g_RX_buf[g_RX_buf_out]; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00654c 51cb MOVF 0xcb,0x0,0x1 -00654e dabd RCALL 0x6aca -006550 cfef MOVFF 0xfef,0xfdf -006552 ffdf -006554 0e30 MOVLW 0x30 if ((val >= 48u) && (val <= 57u)) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -006556 5cdf SUBWF 0xdf,0x0,0x0 -006558 e342 BNC 0x65de -00655a 50df MOVF 0xdf,0x0,0x0 -00655c 0839 SUBLW 0x39 -00655e e33f BNC 0x65de +006566 0100 MOVLB 0x0 val = g_RX_buf[g_RX_buf_out]; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +006568 51cb MOVF 0xcb,0x0,0x1 +00656a dabd RCALL 0x6ae6 +00656c cfef MOVFF 0xfef,0xfdf +00656e ffdf +006570 0e30 MOVLW 0x30 if ((val >= 48u) && (val <= 57u)) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +006572 5cdf SUBWF 0xdf,0x0,0x0 +006574 e342 BNC 0x65fa +006576 50df MOVF 0xdf,0x0,0x0 +006578 0839 SUBLW 0x39 +00657a e33f BNC 0x65fa { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -006560 d9c9 RCALL 0x68f4 *acc = (*acc * 10) + (val - 48); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -006562 cfee MOVFF 0xfee,0x33 -006564 f033 -006566 cfee MOVFF 0xfee,0x34 -006568 f034 -00656a cfee MOVFF 0xfee,0x35 -00656c f035 -00656e cfef MOVFF 0xfef,0x36 -006570 f036 -006572 0e0a MOVLW 0xa -006574 6e2e MOVWF 0x2e,0x0 -006576 6a2f CLRF 0x2f,0x0 -006578 6a30 CLRF 0x30,0x0 -00657a 6a31 CLRF 0x31,0x0 -00657c c033 MOVFF 0x33,0x29 -00657e f029 -006580 c034 MOVFF 0x34,0x2a -006582 f02a -006584 c035 MOVFF 0x35,0x2b -006586 f02b -006588 c036 MOVFF 0x36,0x2c -00658a f02c -00658c ec66 CALL 0x8ecc,0x0 -00658e f047 -006590 c025 MOVFF 0x25,0x33 -006592 f033 -006594 c026 MOVFF 0x26,0x34 -006596 f034 -006598 c027 MOVFF 0x27,0x35 -00659a f035 -00659c c028 MOVFF 0x28,0x36 -00659e f036 -0065a0 0e30 MOVLW 0x30 -0065a2 5cdf SUBWF 0xdf,0x0,0x0 -0065a4 6e37 MOVWF 0x37,0x0 -0065a6 6a38 CLRF 0x38,0x0 -0065a8 6a39 CLRF 0x39,0x0 -0065aa 6a3a CLRF 0x3a,0x0 -0065ac 50e8 MOVF 0xe8,0x0,0x0 -0065ae 2633 ADDWF 0x33,0x1,0x0 -0065b0 5038 MOVF 0x38,0x0,0x0 -0065b2 2234 ADDWFC 0x34,0x1,0x0 -0065b4 5039 MOVF 0x39,0x0,0x0 -0065b6 2235 ADDWFC 0x35,0x1,0x0 -0065b8 503a MOVF 0x3a,0x0,0x0 -0065ba 2236 ADDWFC 0x36,0x1,0x0 -0065bc d99b RCALL 0x68f4 -0065be c033 MOVFF 0x33,0xfee -0065c0 ffee -0065c2 c034 MOVFF 0x34,0xfee -0065c4 ffee -0065c6 c035 MOVFF 0x35,0xfee -0065c8 ffee -0065ca c036 MOVFF 0x36,0xfee -0065cc ffee -0068f4 0efd MOVLW 0xfd -0068f6 cfdb MOVFF 0xfdb,0xfe9 -0068f8 ffe9 -0068fa 0efe MOVLW 0xfe -0068fc cfdb MOVFF 0xfdb,0xfea -0068fe ffea -006900 0012 RETURN 0x0 +00657c d9c9 RCALL 0x6910 *acc = (*acc * 10) + (val - 48); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +00657e cfee MOVFF 0xfee,0x47 +006580 f047 +006582 cfee MOVFF 0xfee,0x48 +006584 f048 +006586 cfee MOVFF 0xfee,0x49 +006588 f049 +00658a cfef MOVFF 0xfef,0x4a +00658c f04a +00658e 0e0a MOVLW 0xa +006590 6e42 MOVWF 0x42,0x0 +006592 6a43 CLRF 0x43,0x0 +006594 6a44 CLRF 0x44,0x0 +006596 6a45 CLRF 0x45,0x0 +006598 c047 MOVFF 0x47,0x3d +00659a f03d +00659c c048 MOVFF 0x48,0x3e +00659e f03e +0065a0 c049 MOVFF 0x49,0x3f +0065a2 f03f +0065a4 c04a MOVFF 0x4a,0x40 +0065a6 f040 +0065a8 ec74 CALL 0x8ee8,0x0 +0065aa f047 +0065ac c039 MOVFF 0x39,0x47 +0065ae f047 +0065b0 c03a MOVFF 0x3a,0x48 +0065b2 f048 +0065b4 c03b MOVFF 0x3b,0x49 +0065b6 f049 +0065b8 c03c MOVFF 0x3c,0x4a +0065ba f04a +0065bc 0e30 MOVLW 0x30 +0065be 5cdf SUBWF 0xdf,0x0,0x0 +0065c0 6e4b MOVWF 0x4b,0x0 +0065c2 6a4c CLRF 0x4c,0x0 +0065c4 6a4d CLRF 0x4d,0x0 +0065c6 6a4e CLRF 0x4e,0x0 +0065c8 50e8 MOVF 0xe8,0x0,0x0 +0065ca 2647 ADDWF 0x47,0x1,0x0 +0065cc 504c MOVF 0x4c,0x0,0x0 +0065ce 2248 ADDWFC 0x48,0x1,0x0 +0065d0 504d MOVF 0x4d,0x0,0x0 +0065d2 2249 ADDWFC 0x49,0x1,0x0 +0065d4 504e MOVF 0x4e,0x0,0x0 +0065d6 224a ADDWFC 0x4a,0x1,0x0 +0065d8 d99b RCALL 0x6910 +0065da c047 MOVFF 0x47,0xfee +0065dc ffee +0065de c048 MOVFF 0x48,0xfee +0065e0 ffee +0065e2 c049 MOVFF 0x49,0xfee +0065e4 ffee +0065e6 c04a MOVFF 0x4a,0xfee +0065e8 ffee +006910 0efd MOVLW 0xfd +006912 cfdb MOVFF 0xfdb,0xfe9 +006914 ffe9 +006916 0efe MOVLW 0xfe +006918 cfdb MOVFF 0xfdb,0xfea +00691a ffea +00691c 0012 RETURN 0x0 // Move to the next character C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0065ce 0100 MOVLB 0x0 advance_RX_buf_out(); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0065d0 d91c RCALL 0x680a -0065d2 e107 BNZ 0x65e2 -0065d4 0e01 MOVLW 0x1 -0065d6 1834 XORWF 0x34,0x0,0x0 -0065d8 e104 BNZ 0x65e2 -0065da 6bcb CLRF 0xcb,0x1 -00680a 2bcb INCF 0xcb,0x1,0x1 -00680c 51cb MOVF 0xcb,0x0,0x1 -00680e 6e33 MOVWF 0x33,0x0 -006810 6a34 CLRF 0x34,0x0 -006812 0e00 MOVLW 0x0 -006814 1833 XORWF 0x33,0x0,0x0 -006816 0012 RETURN 0x0 +0065ea 0100 MOVLB 0x0 advance_RX_buf_out(); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0065ec d91c RCALL 0x6826 +0065ee e107 BNZ 0x65fe +0065f0 0e01 MOVLW 0x1 +0065f2 1848 XORWF 0x48,0x0,0x0 +0065f4 e104 BNZ 0x65fe +0065f6 6bcb CLRF 0xcb,0x1 +006826 2bcb INCF 0xcb,0x1,0x1 +006828 51cb MOVF 0xcb,0x0,0x1 +00682a 6e47 MOVWF 0x47,0x0 +00682c 6a48 CLRF 0x48,0x0 +00682e 0e00 MOVLW 0x0 +006830 1847 XORWF 0x47,0x0,0x0 +006832 0012 RETURN 0x0 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0065dc d002 BRA 0x65e2 else C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0065f8 d002 BRA 0x65fe else C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0065de 0e00 MOVLW 0x0 return(FALSE); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0065e0 d004 BRA 0x65ea +0065fa 0e00 MOVLW 0x0 return(FALSE); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0065fc d004 BRA 0x6606 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0065e8 0e01 MOVLW 0x1 return(TRUE); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0065ea 6e33 MOVWF 0x33,0x0 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0065ec 0e02 MOVLW 0x2 -0065ee 5ce1 SUBWF 0xe1,0x0,0x0 -0065f0 e202 BC 0x65f6 -0065f2 6ae1 CLRF 0xe1,0x0 -0065f4 52e5 MOVF 0xe5,0x1,0x0 -0065f6 6ee1 MOVWF 0xe1,0x0 -0065f8 5033 MOVF 0x33,0x0,0x0 -0065fa d0f4 BRA 0x67e4 +006604 0e01 MOVLW 0x1 return(TRUE); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +006606 6e47 MOVWF 0x47,0x0 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +006608 0e02 MOVLW 0x2 +00660a 5ce1 SUBWF 0xe1,0x0,0x0 +00660c e202 BC 0x6612 +00660e 6ae1 CLRF 0xe1,0x0 +006610 52e5 MOVF 0xe5,0x1,0x0 +006612 6ee1 MOVWF 0xe1,0x0 +006614 5047 MOVF 0x47,0x0,0x0 +006616 d0f4 BRA 0x6800 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // For debugging, this command will spit out a bunch of values. C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c void print_status(void) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0065fc 0ed0 MOVLW 0xd0 ebb_print((far rom char*)"Status="); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0065fe 6e33 MOVWF 0x33,0x0 -006600 0e7c MOVLW 0x7c -006602 d8cf RCALL 0x67a2 -0067a2 d9b0 RCALL 0x6b04 -0067a4 ef19 GOTO 0x6c32 -0067a6 f036 -006604 c091 MOVFF 0x91,0x33 ebb_print_uint(ISR_D_FIFO_length); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -006606 f033 -006608 dafc RCALL 0x6c02 -00660a ef41 GOTO 0x6a82 -00660c f035 -006a82 d8e8 RCALL 0x6c54 -006c54 c033 MOVFF 0x33,0xfe6 -006c56 ffe6 -006c58 efd4 GOTO 0x67a8 -006c5a f033 -0067b6 0e01 MOVLW 0x1 print_line_ending(kLE_NORM); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0067b8 efee GOTO 0x6bdc -0067ba f035 -006a84 efdb GOTO 0x67b6 -006a86 f033 -006bdc 6ee6 MOVWF 0xe6,0x0 -006bde ec22 CALL 0x5244,0x0 -006be0 f029 -006be2 52e5 MOVF 0xe5,0x1,0x0 -006be4 0012 RETURN 0x0 +006618 0eec MOVLW 0xec ebb_print((far rom char*)"Status="); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +00661a 6e47 MOVWF 0x47,0x0 +00661c 0e7c MOVLW 0x7c +00661e d8cf RCALL 0x67be +0067be d9b0 RCALL 0x6b20 +0067c0 ef27 GOTO 0x6c4e +0067c2 f036 +006620 c091 MOVFF 0x91,0x47 ebb_print_uint(ISR_D_FIFO_length); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +006622 f047 +006624 dafc RCALL 0x6c1e +006626 ef4f GOTO 0x6a9e +006628 f035 +006a9e d8e8 RCALL 0x6c70 +006c70 c047 MOVFF 0x47,0xfe6 +006c72 ffe6 +006c74 efe2 GOTO 0x67c4 +006c76 f033 +0067d2 0e01 MOVLW 0x1 print_line_ending(kLE_NORM); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0067d4 effc GOTO 0x6bf8 +0067d6 f035 +006aa0 efe9 GOTO 0x67d2 +006aa2 f033 +006bf8 6ee6 MOVWF 0xe6,0x0 +006bfa ec30 CALL 0x5260,0x0 +006bfc f029 +006bfe 52e5 MOVF 0xe5,0x1,0x0 +006c00 0012 RETURN 0x0 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c /****************************************************************************** C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c @@ -24324,167 +24354,167 @@ Address Value Disassembly Source static unsigned char LEDState = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c if ( C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00660e 0101 MOVLB 0x1 USBDeviceState == DETACHED_STATE C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -006610 51c3 MOVF 0xc3,0x0,0x1 +00662a 0105 MOVLB 0x5 USBDeviceState == DETACHED_STATE C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +00662c 51a8 MOVF 0xa8,0x0,0x1 || C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -006614 0e01 MOVLW 0x1 1u == USBSuspendControl C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -006616 6e33 MOVWF 0x33,0x0 -006618 5065 MOVF 0x65,0x0,0x0 -00661a 0b02 ANDLW 0x2 -00661c e001 BZ 0x6620 -00661e 0e01 MOVLW 0x1 -006612 e008 BZ 0x6624 ) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -006620 5c33 SUBWF 0x33,0x0,0x0 -006622 e117 BNZ 0x6652 +006630 0e01 MOVLW 0x1 1u == USBSuspendControl C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +006632 6e47 MOVWF 0x47,0x0 +006634 5065 MOVF 0x65,0x0,0x0 +006636 0b02 ANDLW 0x2 +006638 e001 BZ 0x663c +00663a 0e01 MOVLW 0x1 +00662e e008 BZ 0x6640 ) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +00663c 5c47 SUBWF 0x47,0x0,0x0 +00663e e117 BNZ 0x666e { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -006624 d9d6 RCALL 0x69d2 LEDCount--; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -006626 e10b BNZ 0x663e if (0u == LEDState) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +006640 d9d6 RCALL 0x69ee LEDCount--; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +006642 e10b BNZ 0x665a if (0u == LEDState) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -006628 51fb MOVF 0xfb,0x0,0x1 if (0u == LEDCount) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00662a 11fc IORWF 0xfc,0x0,0x1 -00662c e111 BNZ 0x6650 +006644 51fd MOVF 0xfd,0x0,0x1 if (0u == LEDCount) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +006646 11fe IORWF 0xfe,0x0,0x1 +006648 e111 BNZ 0x666c { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00662e 868c BSF 0x8c,0x3,0x0 mLED_1_On(); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -006630 0ea0 MOVLW 0xa0 LEDCount = 4000U; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -006632 6ffb MOVWF 0xfb,0x1 -006634 0e0f MOVLW 0xf -006636 6ffc MOVWF 0xfc,0x1 -006638 0e01 MOVLW 0x1 LEDState = 1; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00663a 6ffd MOVWF 0xfd,0x1 +00664a 868c BSF 0x8c,0x3,0x0 mLED_1_On(); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +00664c 0ea0 MOVLW 0xa0 LEDCount = 4000U; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +00664e 6ffd MOVWF 0xfd,0x1 +006650 0e0f MOVLW 0xf +006652 6ffe MOVWF 0xfe,0x1 +006654 0e01 MOVLW 0x1 LEDState = 1; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +006656 6fff MOVWF 0xff,0x1 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00663c 0012 RETURN 0x0 else C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +006658 0012 RETURN 0x0 else C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00663e 51fb MOVF 0xfb,0x0,0x1 if (0u == LEDCount) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -006640 11fc IORWF 0xfc,0x0,0x1 -006642 e152 BNZ 0x66e8 +00665a 51fd MOVF 0xfd,0x0,0x1 if (0u == LEDCount) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +00665c 11fe IORWF 0xfe,0x0,0x1 +00665e e152 BNZ 0x6704 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -006644 968c BCF 0x8c,0x3,0x0 mLED_1_Off(); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -006646 0ea0 MOVLW 0xa0 LEDCount = 4000U; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -006648 6ffb MOVWF 0xfb,0x1 -00664a 0e0f MOVLW 0xf -00664c 6ffc MOVWF 0xfc,0x1 -00664e 6bfd CLRF 0xfd,0x1 LEDState = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +006660 968c BCF 0x8c,0x3,0x0 mLED_1_Off(); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +006662 0ea0 MOVLW 0xa0 LEDCount = 4000U; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +006664 6ffd MOVWF 0xfd,0x1 +006666 0e0f MOVLW 0xf +006668 6ffe MOVWF 0xfe,0x1 +00666a 6bff CLRF 0xff,0x1 LEDState = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -006650 0012 RETURN 0x0 else if ( C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +00666c 0012 RETURN 0x0 else if ( C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c USBDeviceState == ATTACHED_STATE C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -006652 05c3 DECF 0xc3,0x0,0x1 || C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -006656 0e02 MOVLW 0x2 USBDeviceState == POWERED_STATE C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -006654 e009 BZ 0x6668 || C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -006658 5dc3 SUBWF 0xc3,0x0,0x1 -00665a e006 BZ 0x6668 -00665c 0e04 MOVLW 0x4 USBDeviceState == DEFAULT_STATE C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00665e 5dc3 SUBWF 0xc3,0x0,0x1 || C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -006660 e003 BZ 0x6668 -006662 0e10 MOVLW 0x10 USBDeviceState == ADDRESS_STATE C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -006664 5dc3 SUBWF 0xc3,0x0,0x1 ) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -006666 e117 BNZ 0x6696 +00666e 05a8 DECF 0xa8,0x0,0x1 || C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +006672 0e02 MOVLW 0x2 USBDeviceState == POWERED_STATE C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +006670 e009 BZ 0x6684 || C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +006674 5da8 SUBWF 0xa8,0x0,0x1 +006676 e006 BZ 0x6684 +006678 0e04 MOVLW 0x4 USBDeviceState == DEFAULT_STATE C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +00667a 5da8 SUBWF 0xa8,0x0,0x1 || C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +00667c e003 BZ 0x6684 +00667e 0e10 MOVLW 0x10 USBDeviceState == ADDRESS_STATE C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +006680 5da8 SUBWF 0xa8,0x0,0x1 ) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +006682 e117 BNZ 0x66b2 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -006668 d9b4 RCALL 0x69d2 LEDCount--; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00666a e10b BNZ 0x6682 if (0u == LEDState) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +006684 d9b4 RCALL 0x69ee LEDCount--; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +006686 e10b BNZ 0x669e if (0u == LEDState) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00666c 51fb MOVF 0xfb,0x0,0x1 if (0u == LEDCount) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00666e 11fc IORWF 0xfc,0x0,0x1 -006670 e111 BNZ 0x6694 +006688 51fd MOVF 0xfd,0x0,0x1 if (0u == LEDCount) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +00668a 11fe IORWF 0xfe,0x0,0x1 +00668c e111 BNZ 0x66b0 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -006672 868c BSF 0x8c,0x3,0x0 mLED_1_On(); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -006674 0e20 MOVLW 0x20 LEDCount = 20000U; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -006676 6ffb MOVWF 0xfb,0x1 -006678 0e4e MOVLW 0x4e -00667a 6ffc MOVWF 0xfc,0x1 -00667c 0e01 MOVLW 0x1 LEDState = 1; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00667e 6ffd MOVWF 0xfd,0x1 +00668e 868c BSF 0x8c,0x3,0x0 mLED_1_On(); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +006690 0e20 MOVLW 0x20 LEDCount = 20000U; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +006692 6ffd MOVWF 0xfd,0x1 +006694 0e4e MOVLW 0x4e +006696 6ffe MOVWF 0xfe,0x1 +006698 0e01 MOVLW 0x1 LEDState = 1; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +00669a 6fff MOVWF 0xff,0x1 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -006680 0012 RETURN 0x0 else C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +00669c 0012 RETURN 0x0 else C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -006682 51fb MOVF 0xfb,0x0,0x1 if (0u == LEDCount) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -006684 11fc IORWF 0xfc,0x0,0x1 -006686 e130 BNZ 0x66e8 +00669e 51fd MOVF 0xfd,0x0,0x1 if (0u == LEDCount) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0066a0 11fe IORWF 0xfe,0x0,0x1 +0066a2 e130 BNZ 0x6704 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -006688 968c BCF 0x8c,0x3,0x0 mLED_1_Off(); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00668a 0e20 MOVLW 0x20 LEDCount = 20000U; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00668c 6ffb MOVWF 0xfb,0x1 -00668e 0e4e MOVLW 0x4e -006690 6ffc MOVWF 0xfc,0x1 -006692 6bfd CLRF 0xfd,0x1 LEDState = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0066a4 968c BCF 0x8c,0x3,0x0 mLED_1_Off(); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0066a6 0e20 MOVLW 0x20 LEDCount = 20000U; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0066a8 6ffd MOVWF 0xfd,0x1 +0066aa 0e4e MOVLW 0x4e +0066ac 6ffe MOVWF 0xfe,0x1 +0066ae 6bff CLRF 0xff,0x1 LEDState = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -006694 0012 RETURN 0x0 else if (USBDeviceState == CONFIGURED_STATE) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -006696 0e20 MOVLW 0x20 -006698 5dc3 SUBWF 0xc3,0x0,0x1 -00669a e126 BNZ 0x66e8 +0066b0 0012 RETURN 0x0 else if (USBDeviceState == CONFIGURED_STATE) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0066b2 0e20 MOVLW 0x20 +0066b4 5da8 SUBWF 0xa8,0x0,0x1 +0066b6 e126 BNZ 0x6704 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00669c d99a RCALL 0x69d2 LEDCount--; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0069d2 0101 MOVLB 0x1 -0069d4 07fb DECF 0xfb,0x1,0x1 -0069d6 0e00 MOVLW 0x0 -0069d8 5bfc SUBWFB 0xfc,0x1,0x1 -00669e e107 BNZ 0x66ae if (0u == LEDState) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0069da 51fd MOVF 0xfd,0x0,0x1 -0069dc 0012 RETURN 0x0 +0066b8 d99a RCALL 0x69ee LEDCount--; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0069ee 0101 MOVLB 0x1 +0069f0 07fd DECF 0xfd,0x1,0x1 +0069f2 0e00 MOVLW 0x0 +0069f4 5bfe SUBWFB 0xfe,0x1,0x1 +0066ba e107 BNZ 0x66ca if (0u == LEDState) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0069f6 51ff MOVF 0xff,0x0,0x1 +0069f8 0012 RETURN 0x0 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0066a0 51fb MOVF 0xfb,0x0,0x1 if (0u == LEDCount) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0066a2 11fc IORWF 0xfc,0x0,0x1 -0066a4 e121 BNZ 0x66e8 +0066bc 51fd MOVF 0xfd,0x0,0x1 if (0u == LEDCount) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0066be 11fe IORWF 0xfe,0x0,0x1 +0066c0 e121 BNZ 0x6704 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0066a6 868c BSF 0x8c,0x3,0x0 mLED_1_On(); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0066a8 d9ce RCALL 0x6a46 LEDCount = 10000U; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0066aa 0e01 MOVLW 0x1 LEDState = 1; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0066c2 868c BSF 0x8c,0x3,0x0 mLED_1_On(); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0066c4 d9ce RCALL 0x6a62 LEDCount = 10000U; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0066c6 0e01 MOVLW 0x1 LEDState = 1; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0066ac d015 BRA 0x66d8 else if (1u == LEDState) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0066ae 05fd DECF 0xfd,0x0,0x1 -0066b0 e107 BNZ 0x66c0 +0066c8 d015 BRA 0x66f4 else if (1u == LEDState) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0066ca 05ff DECF 0xff,0x0,0x1 +0066cc e107 BNZ 0x66dc { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0066b2 51fb MOVF 0xfb,0x0,0x1 if (0u == LEDCount) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0066b4 11fc IORWF 0xfc,0x0,0x1 -0066b6 e118 BNZ 0x66e8 +0066ce 51fd MOVF 0xfd,0x0,0x1 if (0u == LEDCount) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0066d0 11fe IORWF 0xfe,0x0,0x1 +0066d2 e118 BNZ 0x6704 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0066b8 968c BCF 0x8c,0x3,0x0 mLED_1_Off(); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0066ba d9c5 RCALL 0x6a46 LEDCount = 10000U; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0066bc 0e02 MOVLW 0x2 LEDState = 2; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0066d4 968c BCF 0x8c,0x3,0x0 mLED_1_Off(); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0066d6 d9c5 RCALL 0x6a62 LEDCount = 10000U; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0066d8 0e02 MOVLW 0x2 LEDState = 2; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0066be d00c BRA 0x66d8 else if (2u == LEDState) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0066c0 0e02 MOVLW 0x2 -0066c2 5dfd SUBWF 0xfd,0x0,0x1 -0066c4 e10b BNZ 0x66dc +0066da d00c BRA 0x66f4 else if (2u == LEDState) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0066dc 0e02 MOVLW 0x2 +0066de 5dff SUBWF 0xff,0x0,0x1 +0066e0 e10b BNZ 0x66f8 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0066c6 51fb MOVF 0xfb,0x0,0x1 if (0u == LEDCount) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0066c8 11fc IORWF 0xfc,0x0,0x1 -0066ca e10e BNZ 0x66e8 +0066e2 51fd MOVF 0xfd,0x0,0x1 if (0u == LEDCount) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0066e4 11fe IORWF 0xfe,0x0,0x1 +0066e6 e10e BNZ 0x6704 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0066cc 868c BSF 0x8c,0x3,0x0 mLED_1_On(); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0066ce 0ea0 MOVLW 0xa0 LEDCount = 100000U; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0066d0 6ffb MOVWF 0xfb,0x1 -0066d2 0e86 MOVLW 0x86 -0066d4 6ffc MOVWF 0xfc,0x1 -0066d6 0e03 MOVLW 0x3 LEDState = 3; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0066d8 6ffd MOVWF 0xfd,0x1 +0066e8 868c BSF 0x8c,0x3,0x0 mLED_1_On(); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0066ea 0ea0 MOVLW 0xa0 LEDCount = 100000U; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0066ec 6ffd MOVWF 0xfd,0x1 +0066ee 0e86 MOVLW 0x86 +0066f0 6ffe MOVWF 0xfe,0x1 +0066f2 0e03 MOVLW 0x3 LEDState = 3; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0066f4 6fff MOVWF 0xff,0x1 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0066da 0012 RETURN 0x0 else C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0066f6 0012 RETURN 0x0 else C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0066dc 51fb MOVF 0xfb,0x0,0x1 if (0u == LEDCount) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0066de 11fc IORWF 0xfc,0x0,0x1 -0066e0 e103 BNZ 0x66e8 +0066f8 51fd MOVF 0xfd,0x0,0x1 if (0u == LEDCount) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0066fa 11fe IORWF 0xfe,0x0,0x1 +0066fc e103 BNZ 0x6704 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0066e2 968c BCF 0x8c,0x3,0x0 mLED_1_Off(); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0066e4 d9b0 RCALL 0x6a46 LEDCount = 10000U; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -006a46 0e10 MOVLW 0x10 -006a48 6ffb MOVWF 0xfb,0x1 -006a4a 0e27 MOVLW 0x27 -006a4c 6ffc MOVWF 0xfc,0x1 -006a4e 0012 RETURN 0x0 -0066e6 6bfd CLRF 0xfd,0x1 LEDState = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0066fe 968c BCF 0x8c,0x3,0x0 mLED_1_Off(); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +006700 d9b0 RCALL 0x6a62 LEDCount = 10000U; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +006a62 0e10 MOVLW 0x10 +006a64 6ffd MOVWF 0xfd,0x1 +006a66 0e27 MOVLW 0x27 +006a68 6ffe MOVWF 0xfe,0x1 +006a6a 0012 RETURN 0x0 +006702 6bff CLRF 0xff,0x1 LEDState = 0; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0066e8 0012 RETURN 0x0 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +006704 0012 RETURN 0x0 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c volatile near unsigned char * rom RPnTRISPort[25] = { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c &TRISA, // RP0 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c @@ -24571,169 +24601,169 @@ Address Value Disassembly Source }; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // From RPn (Pin) number, set LAT value for that pin C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0066ea d877 RCALL 0x67da void SetPinLATFromRPn(char Pin, char State) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +006706 d877 RCALL 0x67f6 void SetPinLATFromRPn(char Pin, char State) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0066ec d9a0 RCALL 0x6a2e if (Pin > 25) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0066ee aee8 BTFSS 0xe8,0x7,0x0 -0066f0 d002 BRA 0x66f6 -0066f2 3433 RLCF 0x33,0x0,0x0 -0066f4 d003 BRA 0x66fc -0066f6 50e7 MOVF 0xe7,0x0,0x0 -0066f8 80d8 BSF 0xd8,0x0,0x0 -0066fa 5433 SUBFWB 0x33,0x0,0x0 -0066fc e323 BNC 0x6744 -006a2e 0efe MOVLW 0xfe -006a30 cfdb MOVFF 0xfdb,0x33 -006a32 f033 -006a34 0e19 MOVLW 0x19 -006a36 6ee7 MOVWF 0xe7,0x0 -006a38 1833 XORWF 0x33,0x0,0x0 -006a3a 0012 RETURN 0x0 +006708 d9a0 RCALL 0x6a4a if (Pin > 25) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +00670a aee8 BTFSS 0xe8,0x7,0x0 +00670c d002 BRA 0x6712 +00670e 3447 RLCF 0x47,0x0,0x0 +006710 d003 BRA 0x6718 +006712 50e7 MOVF 0xe7,0x0,0x0 +006714 80d8 BSF 0xd8,0x0,0x0 +006716 5447 SUBFWB 0x47,0x0,0x0 +006718 e323 BNC 0x6760 +006a4a 0efe MOVLW 0xfe +006a4c cfdb MOVFF 0xfdb,0x47 +006a4e f047 +006a50 0e19 MOVLW 0x19 +006a52 6ee7 MOVWF 0xe7,0x0 +006a54 1847 XORWF 0x47,0x0,0x0 +006a56 0012 RETURN 0x0 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c return; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0066fe 0efd MOVLW 0xfd if (State) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -006700 50db MOVF 0xdb,0x0,0x0 -006702 e010 BZ 0x6724 +00671a 0efd MOVLW 0xfd if (State) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +00671c 50db MOVF 0xdb,0x0,0x0 +00671e e010 BZ 0x6740 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -006704 d90f RCALL 0x6924 bitset(*RPnLATPort[Pin], RPnBit[Pin]); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -006706 bef6 BTFSC 0xf6,0x7,0x0 -006708 68f7 SETF 0xf7,0x0 -00670a d8a9 RCALL 0x685e -00670c e004 BZ 0x6716 -00670e 46e8 RLNCF 0xe8,0x1,0x0 -006710 0bfe ANDLW 0xfe -006712 0634 DECF 0x34,0x1,0x0 -006714 e1fc BNZ 0x670e -006716 6e33 MOVWF 0x33,0x0 -006718 d905 RCALL 0x6924 -00671a bef6 BTFSC 0xf6,0x7,0x0 -00671c 68f7 SETF 0xf7,0x0 -00671e d9fe RCALL 0x6b1c -006720 12ef IORWF 0xef,0x1,0x0 -006b1c 90d8 BCF 0xd8,0x0,0x0 -006b1e 36f6 RLCF 0xf6,0x1,0x0 -006b20 36f7 RLCF 0xf7,0x1,0x0 -006b22 0edf MOVLW 0xdf -006b24 26f6 ADDWF 0xf6,0x1,0x0 -006b26 0e8c MOVLW 0x8c -006b28 ef4f GOTO 0x689e -006b2a f034 +006720 d90f RCALL 0x6940 bitset(*RPnLATPort[Pin], RPnBit[Pin]); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +006722 bef6 BTFSC 0xf6,0x7,0x0 +006724 68f7 SETF 0xf7,0x0 +006726 d8a9 RCALL 0x687a +006728 e004 BZ 0x6732 +00672a 46e8 RLNCF 0xe8,0x1,0x0 +00672c 0bfe ANDLW 0xfe +00672e 0648 DECF 0x48,0x1,0x0 +006730 e1fc BNZ 0x672a +006732 6e47 MOVWF 0x47,0x0 +006734 d905 RCALL 0x6940 +006736 bef6 BTFSC 0xf6,0x7,0x0 +006738 68f7 SETF 0xf7,0x0 +00673a d9fe RCALL 0x6b38 +00673c 12ef IORWF 0xef,0x1,0x0 +006b38 90d8 BCF 0xd8,0x0,0x0 +006b3a 36f6 RLCF 0xf6,0x1,0x0 +006b3c 36f7 RLCF 0xf7,0x1,0x0 +006b3e 0efb MOVLW 0xfb +006b40 26f6 ADDWF 0xf6,0x1,0x0 +006b42 0e8c MOVLW 0x8c +006b44 ef5d GOTO 0x68ba +006b46 f034 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -006722 d010 BRA 0x6744 else C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +00673e d010 BRA 0x6760 else C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -006724 d8ff RCALL 0x6924 bitclr(*RPnLATPort[Pin], RPnBit[Pin]); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -006726 bef6 BTFSC 0xf6,0x7,0x0 -006728 68f7 SETF 0xf7,0x0 -00672a d899 RCALL 0x685e -00672c e004 BZ 0x6736 -00672e 46e8 RLNCF 0xe8,0x1,0x0 -006730 0bfe ANDLW 0xfe -006732 0634 DECF 0x34,0x1,0x0 -006734 e1fc BNZ 0x672e -006736 1ce8 COMF 0xe8,0x0,0x0 -006738 6e33 MOVWF 0x33,0x0 -00673a d8f4 RCALL 0x6924 -00673c bef6 BTFSC 0xf6,0x7,0x0 -00673e 68f7 SETF 0xf7,0x0 -006740 d9ed RCALL 0x6b1c -006742 16ef ANDWF 0xef,0x1,0x0 +006740 d8ff RCALL 0x6940 bitclr(*RPnLATPort[Pin], RPnBit[Pin]); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +006742 bef6 BTFSC 0xf6,0x7,0x0 +006744 68f7 SETF 0xf7,0x0 +006746 d899 RCALL 0x687a +006748 e004 BZ 0x6752 +00674a 46e8 RLNCF 0xe8,0x1,0x0 +00674c 0bfe ANDLW 0xfe +00674e 0648 DECF 0x48,0x1,0x0 +006750 e1fc BNZ 0x674a +006752 1ce8 COMF 0xe8,0x0,0x0 +006754 6e47 MOVWF 0x47,0x0 +006756 d8f4 RCALL 0x6940 +006758 bef6 BTFSC 0xf6,0x7,0x0 +00675a 68f7 SETF 0xf7,0x0 +00675c d9ed RCALL 0x6b38 +00675e 16ef ANDWF 0xef,0x1,0x0 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -006744 d04f BRA 0x67e4 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +006760 d04f BRA 0x6800 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c // From RPn (Pin) number, set TRIS value for that pin C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -006746 d849 RCALL 0x67da void SetPinTRISFromRPn(char Pin, char State) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +006762 d849 RCALL 0x67f6 void SetPinTRISFromRPn(char Pin, char State) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -006748 d972 RCALL 0x6a2e if (Pin > 25) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00674a aee8 BTFSS 0xe8,0x7,0x0 -00674c d002 BRA 0x6752 -00674e 3433 RLCF 0x33,0x0,0x0 -006750 d003 BRA 0x6758 -006752 50e7 MOVF 0xe7,0x0,0x0 -006754 80d8 BSF 0xd8,0x0,0x0 -006756 5433 SUBFWB 0x33,0x0,0x0 -006758 e323 BNC 0x67a0 +006764 d972 RCALL 0x6a4a if (Pin > 25) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +006766 aee8 BTFSS 0xe8,0x7,0x0 +006768 d002 BRA 0x676e +00676a 3447 RLCF 0x47,0x0,0x0 +00676c d003 BRA 0x6774 +00676e 50e7 MOVF 0xe7,0x0,0x0 +006770 80d8 BSF 0xd8,0x0,0x0 +006772 5447 SUBFWB 0x47,0x0,0x0 +006774 e323 BNC 0x67bc { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c return; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00675a 0efd MOVLW 0xfd if (OUTPUT_PIN == State) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -00675c 50db MOVF 0xdb,0x0,0x0 -00675e e111 BNZ 0x6782 +006776 0efd MOVLW 0xfd if (OUTPUT_PIN == State) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +006778 50db MOVF 0xdb,0x0,0x0 +00677a e111 BNZ 0x679e { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -006760 d8e1 RCALL 0x6924 bitclr (*RPnTRISPort[Pin], RPnBit[Pin]); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -006762 bef6 BTFSC 0xf6,0x7,0x0 -006764 68f7 SETF 0xf7,0x0 -006766 d87b RCALL 0x685e -006768 e004 BZ 0x6772 -00676a 46e8 RLNCF 0xe8,0x1,0x0 -00676c 0bfe ANDLW 0xfe -00676e 0634 DECF 0x34,0x1,0x0 -006770 e1fc BNZ 0x676a -006772 1ce8 COMF 0xe8,0x0,0x0 -006774 6e33 MOVWF 0x33,0x0 -006776 d8d6 RCALL 0x6924 -006778 bef6 BTFSC 0xf6,0x7,0x0 -00677a 68f7 SETF 0xf7,0x0 -00677c d9d7 RCALL 0x6b2c -00677e 16ef ANDWF 0xef,0x1,0x0 -006b2c 90d8 BCF 0xd8,0x0,0x0 -006b2e 36f6 RLCF 0xf6,0x1,0x0 -006b30 36f7 RLCF 0xf7,0x1,0x0 -006b32 0ead MOVLW 0xad -006b34 26f6 ADDWF 0xf6,0x1,0x0 -006b36 0e8c MOVLW 0x8c -006b38 ef4f GOTO 0x689e -006b3a f034 +00677c d8e1 RCALL 0x6940 bitclr (*RPnTRISPort[Pin], RPnBit[Pin]); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +00677e bef6 BTFSC 0xf6,0x7,0x0 +006780 68f7 SETF 0xf7,0x0 +006782 d87b RCALL 0x687a +006784 e004 BZ 0x678e +006786 46e8 RLNCF 0xe8,0x1,0x0 +006788 0bfe ANDLW 0xfe +00678a 0648 DECF 0x48,0x1,0x0 +00678c e1fc BNZ 0x6786 +00678e 1ce8 COMF 0xe8,0x0,0x0 +006790 6e47 MOVWF 0x47,0x0 +006792 d8d6 RCALL 0x6940 +006794 bef6 BTFSC 0xf6,0x7,0x0 +006796 68f7 SETF 0xf7,0x0 +006798 d9d7 RCALL 0x6b48 +00679a 16ef ANDWF 0xef,0x1,0x0 +006b48 90d8 BCF 0xd8,0x0,0x0 +006b4a 36f6 RLCF 0xf6,0x1,0x0 +006b4c 36f7 RLCF 0xf7,0x1,0x0 +006b4e 0ec9 MOVLW 0xc9 +006b50 26f6 ADDWF 0xf6,0x1,0x0 +006b52 0e8c MOVLW 0x8c +006b54 ef5d GOTO 0x68ba +006b56 f034 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -006780 d00f BRA 0x67a0 else C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +00679c d00f BRA 0x67bc else C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -006782 d8d0 RCALL 0x6924 bitset (*RPnTRISPort[Pin], RPnBit[Pin]); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -006784 bef6 BTFSC 0xf6,0x7,0x0 -006786 68f7 SETF 0xf7,0x0 -006788 d86a RCALL 0x685e -00678a e004 BZ 0x6794 -00678c 46e8 RLNCF 0xe8,0x1,0x0 -00678e 0bfe ANDLW 0xfe -006790 0634 DECF 0x34,0x1,0x0 -006792 e1fc BNZ 0x678c -006794 6e33 MOVWF 0x33,0x0 -006796 d8c6 RCALL 0x6924 -006798 bef6 BTFSC 0xf6,0x7,0x0 -00679a 68f7 SETF 0xf7,0x0 -00679c d9c7 RCALL 0x6b2c -00679e 12ef IORWF 0xef,0x1,0x0 -00685e 0e11 MOVLW 0x11 -006860 26f6 ADDWF 0xf6,0x1,0x0 -006862 0e8d MOVLW 0x8d -006864 22f7 ADDWFC 0xf7,0x1,0x0 -006866 0008 TBLRD -006868 50f5 MOVF 0xf5,0x0,0x0 -00686a 6e34 MOVWF 0x34,0x0 -00686c 0e01 MOVLW 0x1 -00686e 5234 MOVF 0x34,0x1,0x0 -006870 0012 RETURN 0x0 -00689e 22f7 ADDWFC 0xf7,0x1,0x0 -0068a0 0009 TBLRDPOSTINC -0068a2 cff5 MOVFF 0xff5,0xfe9 -0068a4 ffe9 -0068a6 0008 TBLRD -0068a8 cff5 MOVFF 0xff5,0xfea -0068aa ffea -0068ac 5033 MOVF 0x33,0x0,0x0 -0068ae 0012 RETURN 0x0 -006924 0efe MOVLW 0xfe -006926 cfdb MOVFF 0xfdb,0xff6 -006928 fff6 -00692a 6af7 CLRF 0xf7,0x0 -00692c 0012 RETURN 0x0 +00679e d8d0 RCALL 0x6940 bitset (*RPnTRISPort[Pin], RPnBit[Pin]); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +0067a0 bef6 BTFSC 0xf6,0x7,0x0 +0067a2 68f7 SETF 0xf7,0x0 +0067a4 d86a RCALL 0x687a +0067a6 e004 BZ 0x67b0 +0067a8 46e8 RLNCF 0xe8,0x1,0x0 +0067aa 0bfe ANDLW 0xfe +0067ac 0648 DECF 0x48,0x1,0x0 +0067ae e1fc BNZ 0x67a8 +0067b0 6e47 MOVWF 0x47,0x0 +0067b2 d8c6 RCALL 0x6940 +0067b4 bef6 BTFSC 0xf6,0x7,0x0 +0067b6 68f7 SETF 0xf7,0x0 +0067b8 d9c7 RCALL 0x6b48 +0067ba 12ef IORWF 0xef,0x1,0x0 +00687a 0e2d MOVLW 0x2d +00687c 26f6 ADDWF 0xf6,0x1,0x0 +00687e 0e8d MOVLW 0x8d +006880 22f7 ADDWFC 0xf7,0x1,0x0 +006882 0008 TBLRD +006884 50f5 MOVF 0xf5,0x0,0x0 +006886 6e48 MOVWF 0x48,0x0 +006888 0e01 MOVLW 0x1 +00688a 5248 MOVF 0x48,0x1,0x0 +00688c 0012 RETURN 0x0 +0068ba 22f7 ADDWFC 0xf7,0x1,0x0 +0068bc 0009 TBLRDPOSTINC +0068be cff5 MOVFF 0xff5,0xfe9 +0068c0 ffe9 +0068c2 0008 TBLRD +0068c4 cff5 MOVFF 0xff5,0xfea +0068c6 ffea +0068c8 5047 MOVF 0x47,0x0,0x0 +0068ca 0012 RETURN 0x0 +006940 0efe MOVLW 0xfe +006942 cfdb MOVFF 0xfdb,0xff6 +006944 fff6 +006946 6af7 CLRF 0xf7,0x0 +006948 0012 RETURN 0x0 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0067a0 d021 BRA 0x67e4 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c -0067e4 52e5 MOVF 0xe5,0x1,0x0 -0067e6 cfe7 MOVFF 0xfe7,0xfd9 -0067e8 ffd9 -0067ea 0012 RETURN 0x0 +0067bc d021 BRA 0x6800 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c +006800 52e5 MOVF 0xe5,0x1,0x0 +006802 cfe7 MOVFF 0xfe7,0xfd9 +006804 ffd9 +006806 0012 RETURN 0x0 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c /** EOF user.c ***************************************************************/ C:\Projects\EggBot_GH\EBB_firmware\app.X\source\UBW.c /******************************************************************** C:\Projects\EggBot_GH\EBB_firmware\app.X\source\usb_descriptors.c @@ -25092,329 +25122,329 @@ Address Value Disassembly Source static UINT8 i; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb_print.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb_print.c /* Print a simple string */ C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb_print.c -00862a d8dd RCALL 0x87e6 void ebb_print(far rom char * print_str) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb_print.c +008646 d8dd RCALL 0x8802 void ebb_print(far rom char * print_str) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb_print.c { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb_print.c -00862c d8d0 RCALL 0x87ce while (*print_str != 0x00) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb_print.c -00862e e00d BZ 0x864a -008648 d7f1 BRA 0x862c -0087ce 0efc MOVLW 0xfc -0087d0 cfdb MOVFF 0xfdb,0xff6 -0087d2 fff6 -0087d4 0efd MOVLW 0xfd -0087d6 cfdb MOVFF 0xfdb,0xff7 -0087d8 fff7 -0087da 0efe MOVLW 0xfe -0087dc cfdb MOVFF 0xfdb,0xff8 -0087de fff8 -0087e0 0008 TBLRD -0087e2 50f5 MOVF 0xf5,0x0,0x0 -0087e4 0012 RETURN 0x0 +008648 d8d0 RCALL 0x87ea while (*print_str != 0x00) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb_print.c +00864a e00d BZ 0x8666 +008664 d7f1 BRA 0x8648 +0087ea 0efc MOVLW 0xfc +0087ec cfdb MOVFF 0xfdb,0xff6 +0087ee fff6 +0087f0 0efd MOVLW 0xfd +0087f2 cfdb MOVFF 0xfdb,0xff7 +0087f4 fff7 +0087f6 0efe MOVLW 0xfe +0087f8 cfdb MOVFF 0xfdb,0xff8 +0087fa fff8 +0087fc 0008 TBLRD +0087fe 50f5 MOVF 0xf5,0x0,0x0 +008800 0012 RETURN 0x0 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb_print.c -008630 d8ce RCALL 0x87ce ebb_putc((char)*print_str); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb_print.c -008632 d8f3 RCALL 0x881a -008634 50d9 MOVF 0xd9,0x0,0x0 print_str++; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb_print.c -008636 0ffc ADDLW 0xfc -008638 6ee9 MOVWF 0xe9,0x0 -00863a 0eff MOVLW 0xff -00863c 20da ADDWFC 0xda,0x0,0x0 -00863e 6eea MOVWF 0xea,0x0 -008640 2aee INCF 0xee,0x1,0x0 -008642 0e00 MOVLW 0x0 -008644 22ee ADDWFC 0xee,0x1,0x0 -008646 22ee ADDWFC 0xee,0x1,0x0 +00864c d8ce RCALL 0x87ea ebb_putc((char)*print_str); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb_print.c +00864e d8f3 RCALL 0x8836 +008650 50d9 MOVF 0xd9,0x0,0x0 print_str++; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb_print.c +008652 0ffc ADDLW 0xfc +008654 6ee9 MOVWF 0xe9,0x0 +008656 0eff MOVLW 0xff +008658 20da ADDWFC 0xda,0x0,0x0 +00865a 6eea MOVWF 0xea,0x0 +00865c 2aee INCF 0xee,0x1,0x0 +00865e 0e00 MOVLW 0x0 +008660 22ee ADDWFC 0xee,0x1,0x0 +008662 22ee ADDWFC 0xee,0x1,0x0 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb_print.c -00864a d0f7 BRA 0x883a } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb_print.c +008666 d0f7 BRA 0x8856 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb_print.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb_print.c -00864c d8cc RCALL 0x87e6 void ebb_print_ram(char * print_str) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb_print.c +008668 d8cc RCALL 0x8802 void ebb_print_ram(char * print_str) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb_print.c { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb_print.c -00864e d8d6 RCALL 0x87fc while (*print_str != 0x00) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb_print.c -008650 e008 BZ 0x8662 -008660 d7f6 BRA 0x864e -0087fc 0efd MOVLW 0xfd -0087fe cfdb MOVFF 0xfdb,0xfe9 -008800 ffe9 -008802 0efe MOVLW 0xfe -008804 cfdb MOVFF 0xfdb,0xfea -008806 ffea -008808 50ef MOVF 0xef,0x0,0x0 -00880a 0012 RETURN 0x0 +00866a d8d6 RCALL 0x8818 while (*print_str != 0x00) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb_print.c +00866c e008 BZ 0x867e +00867c d7f6 BRA 0x866a +008818 0efd MOVLW 0xfd +00881a cfdb MOVFF 0xfdb,0xfe9 +00881c ffe9 +00881e 0efe MOVLW 0xfe +008820 cfdb MOVFF 0xfdb,0xfea +008822 ffea +008824 50ef MOVF 0xef,0x0,0x0 +008826 0012 RETURN 0x0 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb_print.c -008652 d8d4 RCALL 0x87fc ebb_putc(*print_str); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb_print.c -008654 d8e2 RCALL 0x881a -008656 0efd MOVLW 0xfd print_str++; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb_print.c -008658 2adb INCF 0xdb,0x1,0x0 -00865a 0efe MOVLW 0xfe -00865c e3f8 BNC 0x864e -00865e 2adb INCF 0xdb,0x1,0x0 +00866e d8d4 RCALL 0x8818 ebb_putc(*print_str); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb_print.c +008670 d8e2 RCALL 0x8836 +008672 0efd MOVLW 0xfd print_str++; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb_print.c +008674 2adb INCF 0xdb,0x1,0x0 +008676 0efe MOVLW 0xfe +008678 e3f8 BNC 0x866a +00867a 2adb INCF 0xdb,0x1,0x0 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb_print.c -008662 d0eb BRA 0x883a } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb_print.c +00867e d0eb BRA 0x8856 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb_print.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb_print.c // Print out as a hex value, zero-padded to digits C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb_print.c -008664 d8ee RCALL 0x8842 void ebb_print_hex(UINT32 data, UINT8 length) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb_print.c -008842 dfd1 RCALL 0x87e6 +008680 d8ee RCALL 0x885e void ebb_print_hex(UINT32 data, UINT8 length) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb_print.c +00885e dfd1 RCALL 0x8802 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb_print.c -008844 0101 MOVLB 0x1 gOutputStr[EBB_PRINT_MAX_OUTPUT_LENGTH_CHARS - 1] = 0x00; // Always add string terminator C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb_print.c -008846 6b34 CLRF 0x34,0x1 -008848 0e0a MOVLW 0xa gPos = (EBB_PRINT_MAX_OUTPUT_LENGTH_CHARS - 2); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb_print.c -00884a 6f35 MOVWF 0x35,0x1 -00884c 0012 RETURN 0x0 +008860 0101 MOVLB 0x1 gOutputStr[EBB_PRINT_MAX_OUTPUT_LENGTH_CHARS - 1] = 0x00; // Always add string terminator C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb_print.c +008862 6bf6 CLRF 0xf6,0x1 +008864 0e0a MOVLW 0xa gPos = (EBB_PRINT_MAX_OUTPUT_LENGTH_CHARS - 2); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb_print.c +008866 6ff7 MOVWF 0xf7,0x1 +008868 0012 RETURN 0x0 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb_print.c do C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb_print.c { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb_print.c -008666 0e0f MOVLW 0xf i = data & 0x0000000F; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb_print.c -008668 6e33 MOVWF 0x33,0x0 -00866a 6a34 CLRF 0x34,0x0 -00866c 6a35 CLRF 0x35,0x0 -00866e 50d9 MOVF 0xd9,0x0,0x0 -008670 d8bf RCALL 0x87f0 -008672 50ee MOVF 0xee,0x0,0x0 -008674 1633 ANDWF 0x33,0x1,0x0 -008676 50ee MOVF 0xee,0x0,0x0 -008678 1634 ANDWF 0x34,0x1,0x0 -00867a 50ee MOVF 0xee,0x0,0x0 -00867c 1635 ANDWF 0x35,0x1,0x0 -00867e 50ee MOVF 0xee,0x0,0x0 -008680 c033 MOVFF 0x33,0x136 -008682 f136 +008682 0e0f MOVLW 0xf i = data & 0x0000000F; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb_print.c +008684 6e47 MOVWF 0x47,0x0 +008686 6a48 CLRF 0x48,0x0 +008688 6a49 CLRF 0x49,0x0 +00868a 50d9 MOVF 0xd9,0x0,0x0 +00868c d8bf RCALL 0x880c +00868e 50ee MOVF 0xee,0x0,0x0 +008690 1647 ANDWF 0x47,0x1,0x0 +008692 50ee MOVF 0xee,0x0,0x0 +008694 1648 ANDWF 0x48,0x1,0x0 +008696 50ee MOVF 0xee,0x0,0x0 +008698 1649 ANDWF 0x49,0x1,0x0 +00869a 50ee MOVF 0xee,0x0,0x0 +00869c c047 MOVFF 0x47,0x1f8 +00869e f1f8 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb_print.c -008684 5033 MOVF 0x33,0x0,0x0 if (i <= 0x09u) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb_print.c -008686 0809 SUBLW 0x9 -008688 e302 BNC 0x868e +0086a0 5047 MOVF 0x47,0x0,0x0 if (i <= 0x09u) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb_print.c +0086a2 0809 SUBLW 0x9 +0086a4 e302 BNC 0x86aa { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb_print.c -00868a 0e30 MOVLW 0x30 gOutputStr[gPos] = i + '0'; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb_print.c +0086a6 0e30 MOVLW 0x30 gOutputStr[gPos] = i + '0'; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb_print.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb_print.c -00868c d001 BRA 0x8690 else C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb_print.c +0086a8 d001 BRA 0x86ac else C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb_print.c { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb_print.c -00868e 0e37 MOVLW 0x37 gOutputStr[gPos] = i + ('A' - 0x0A); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb_print.c -008690 2536 ADDWF 0x36,0x0,0x1 -008692 d8c8 RCALL 0x8824 -008824 6ee6 MOVWF 0xe6,0x0 -008826 5135 MOVF 0x35,0x0,0x1 -008828 6aea CLRF 0xea,0x0 -00882a 0f29 ADDLW 0x29 -00882c 6ee9 MOVWF 0xe9,0x0 -00882e 0e01 MOVLW 0x1 -008830 22ea ADDWFC 0xea,0x1,0x0 -008832 52e5 MOVF 0xe5,0x1,0x0 -008834 50e7 MOVF 0xe7,0x0,0x0 -008836 6eef MOVWF 0xef,0x0 -008838 0012 RETURN 0x0 +0086aa 0e37 MOVLW 0x37 gOutputStr[gPos] = i + ('A' - 0x0A); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb_print.c +0086ac 25f8 ADDWF 0xf8,0x0,0x1 +0086ae d8c8 RCALL 0x8840 +008840 6ee6 MOVWF 0xe6,0x0 +008842 51f7 MOVF 0xf7,0x0,0x1 +008844 6aea CLRF 0xea,0x0 +008846 0feb ADDLW 0xeb +008848 6ee9 MOVWF 0xe9,0x0 +00884a 0e01 MOVLW 0x1 +00884c 22ea ADDWFC 0xea,0x1,0x0 +00884e 52e5 MOVF 0xe5,0x1,0x0 +008850 50e7 MOVF 0xe7,0x0,0x0 +008852 6eef MOVWF 0xef,0x0 +008854 0012 RETURN 0x0 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb_print.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb_print.c -008694 d873 RCALL 0x877c data = data >> 4; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb_print.c -008696 0e04 MOVLW 0x4 -008698 90d8 BCF 0xd8,0x0,0x0 -00869a 3236 RRCF 0x36,0x1,0x0 -00869c 3235 RRCF 0x35,0x1,0x0 -00869e 3234 RRCF 0x34,0x1,0x0 -0086a0 3233 RRCF 0x33,0x1,0x0 -0086a2 06e8 DECF 0xe8,0x1,0x0 -0086a4 e1f9 BNZ 0x8698 -0086a6 0efb MOVLW 0xfb -0086a8 c033 MOVFF 0x33,0xfdb -0086aa ffdb -0086ac 0efc MOVLW 0xfc -0086ae c034 MOVFF 0x34,0xfdb -0086b0 ffdb -0086b2 0efd MOVLW 0xfd -0086b4 c035 MOVFF 0x35,0xfdb -0086b6 ffdb -0086b8 0efe MOVLW 0xfe -0086ba c036 MOVFF 0x36,0xfdb -0086bc ffdb -0086be 0101 MOVLB 0x1 gPos--; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb_print.c -0086c0 0735 DECF 0x35,0x1,0x1 -0086c2 0efa MOVLW 0xfa if (length) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb_print.c -0086c4 50db MOVF 0xdb,0x0,0x0 -0086c6 e002 BZ 0x86cc +0086b0 d873 RCALL 0x8798 data = data >> 4; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb_print.c +0086b2 0e04 MOVLW 0x4 +0086b4 90d8 BCF 0xd8,0x0,0x0 +0086b6 324a RRCF 0x4a,0x1,0x0 +0086b8 3249 RRCF 0x49,0x1,0x0 +0086ba 3248 RRCF 0x48,0x1,0x0 +0086bc 3247 RRCF 0x47,0x1,0x0 +0086be 06e8 DECF 0xe8,0x1,0x0 +0086c0 e1f9 BNZ 0x86b4 +0086c2 0efb MOVLW 0xfb +0086c4 c047 MOVFF 0x47,0xfdb +0086c6 ffdb +0086c8 0efc MOVLW 0xfc +0086ca c048 MOVFF 0x48,0xfdb +0086cc ffdb +0086ce 0efd MOVLW 0xfd +0086d0 c049 MOVFF 0x49,0xfdb +0086d2 ffdb +0086d4 0efe MOVLW 0xfe +0086d6 c04a MOVFF 0x4a,0xfdb +0086d8 ffdb +0086da 0101 MOVLB 0x1 gPos--; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb_print.c +0086dc 07f7 DECF 0xf7,0x1,0x1 +0086de 0efa MOVLW 0xfa if (length) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb_print.c +0086e0 50db MOVF 0xdb,0x0,0x0 +0086e2 e002 BZ 0x86e8 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb_print.c -0086c8 0efa MOVLW 0xfa length--; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb_print.c -0086ca 06db DECF 0xdb,0x1,0x0 +0086e4 0efa MOVLW 0xfa length--; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb_print.c +0086e6 06db DECF 0xdb,0x1,0x0 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb_print.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb_print.c -0086cc d8c0 RCALL 0x884e while (data != 0u || length != 0u); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb_print.c -0086ce e1cb BNZ 0x8666 -0086d0 0efa MOVLW 0xfa -0086d2 50db MOVF 0xdb,0x0,0x0 -0086d4 e1c8 BNZ 0x8666 -00884e df96 RCALL 0x877c -008850 5033 MOVF 0x33,0x0,0x0 -008852 1034 IORWF 0x34,0x0,0x0 -008854 1035 IORWF 0x35,0x0,0x0 -008856 1036 IORWF 0x36,0x0,0x0 -008858 0012 RETURN 0x0 +0086e8 d8c0 RCALL 0x886a while (data != 0u || length != 0u); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb_print.c +0086ea e1cb BNZ 0x8682 +0086ec 0efa MOVLW 0xfa +0086ee 50db MOVF 0xdb,0x0,0x0 +0086f0 e1c8 BNZ 0x8682 +00886a df96 RCALL 0x8798 +00886c 5047 MOVF 0x47,0x0,0x0 +00886e 1048 IORWF 0x48,0x0,0x0 +008870 1049 IORWF 0x49,0x0,0x0 +008872 104a IORWF 0x4a,0x0,0x0 +008874 0012 RETURN 0x0 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb_print.c -0086d6 d06c BRA 0x87b0 gPos++; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb_print.c -0087b0 2b35 INCF 0x35,0x1,0x1 +0086f2 d06c BRA 0x87cc gPos++; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb_print.c +0087cc 2bf7 INCF 0xf7,0x1,0x1 // gPos now points to the beginning of where we need to print from C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb_print.c -0087b2 5135 MOVF 0x35,0x0,0x1 ebb_print_ram(&gOutputStr[gPos]); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb_print.c -0087b4 6a34 CLRF 0x34,0x0 -0087b6 0f29 ADDLW 0x29 -0087b8 6e33 MOVWF 0x33,0x0 -0087ba 0e01 MOVLW 0x1 -0087bc 2234 ADDWFC 0x34,0x1,0x0 -0087be c033 MOVFF 0x33,0xfe6 -0087c0 ffe6 -0087c2 c034 MOVFF 0x34,0xfe6 -0087c4 ffe6 -0087c6 df42 RCALL 0x864c -0087c8 52e5 MOVF 0xe5,0x1,0x0 -0087ca 52e5 MOVF 0xe5,0x1,0x0 -0087cc d036 BRA 0x883a } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb_print.c -00883a 52e5 MOVF 0xe5,0x1,0x0 -00883c cfe7 MOVFF 0xfe7,0xfd9 -00883e ffd9 -008840 0012 RETURN 0x0 +0087ce 51f7 MOVF 0xf7,0x0,0x1 ebb_print_ram(&gOutputStr[gPos]); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb_print.c +0087d0 6a48 CLRF 0x48,0x0 +0087d2 0feb ADDLW 0xeb +0087d4 6e47 MOVWF 0x47,0x0 +0087d6 0e01 MOVLW 0x1 +0087d8 2248 ADDWFC 0x48,0x1,0x0 +0087da c047 MOVFF 0x47,0xfe6 +0087dc ffe6 +0087de c048 MOVFF 0x48,0xfe6 +0087e0 ffe6 +0087e2 df42 RCALL 0x8668 +0087e4 52e5 MOVF 0xe5,0x1,0x0 +0087e6 52e5 MOVF 0xe5,0x1,0x0 +0087e8 d036 BRA 0x8856 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb_print.c +008856 52e5 MOVF 0xe5,0x1,0x0 +008858 cfe7 MOVFF 0xfe7,0xfd9 +00885a ffd9 +00885c 0012 RETURN 0x0 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb_print.c // Print out as an unsigned integer C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb_print.c -0086d8 d8b4 RCALL 0x8842 void ebb_print_uint(UINT32 data) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb_print.c +0086f4 d8b4 RCALL 0x885e void ebb_print_uint(UINT32 data) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb_print.c { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb_print.c gOutputStr[EBB_PRINT_MAX_OUTPUT_LENGTH_CHARS - 1] = 0x00; // Always add string terminator C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb_print.c gPos = (EBB_PRINT_MAX_OUTPUT_LENGTH_CHARS - 2); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb_print.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb_print.c do C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb_print.c { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb_print.c -0086da d85d RCALL 0x8796 i = data % 10; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb_print.c -0086dc d897 RCALL 0x880c -0086de c025 MOVFF 0x25,0x136 -0086e0 f136 -00880c 0e0a MOVLW 0xa -00880e 6e2e MOVWF 0x2e,0x0 -008810 6a2f CLRF 0x2f,0x0 -008812 6a30 CLRF 0x30,0x0 -008814 6a31 CLRF 0x31,0x0 -008816 effe GOTO 0x8ffc -008818 f047 +0086f6 d85d RCALL 0x87b2 i = data % 10; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb_print.c +0086f8 d897 RCALL 0x8828 +0086fa c039 MOVFF 0x39,0x1f8 +0086fc f1f8 +008828 0e0a MOVLW 0xa +00882a 6e42 MOVWF 0x42,0x0 +00882c 6a43 CLRF 0x43,0x0 +00882e 6a44 CLRF 0x44,0x0 +008830 6a45 CLRF 0x45,0x0 +008832 ef0c GOTO 0x9018 +008834 f048 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb_print.c -0086e2 0e30 MOVLW 0x30 gOutputStr[gPos] = i + '0'; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb_print.c -0086e4 0101 MOVLB 0x1 -0086e6 2425 ADDWF 0x25,0x0,0x0 -0086e8 d89d RCALL 0x8824 +0086fe 0e30 MOVLW 0x30 gOutputStr[gPos] = i + '0'; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb_print.c +008700 0101 MOVLB 0x1 +008702 2439 ADDWF 0x39,0x0,0x0 +008704 d89d RCALL 0x8840 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb_print.c -0086ea d855 RCALL 0x8796 data = data / 10; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb_print.c -0086ec d88f RCALL 0x880c -0086ee 0efb MOVLW 0xfb -0086f0 c029 MOVFF 0x29,0xfdb -0086f2 ffdb -0086f4 0efc MOVLW 0xfc -0086f6 c02a MOVFF 0x2a,0xfdb -0086f8 ffdb -0086fa 0efd MOVLW 0xfd -0086fc c02b MOVFF 0x2b,0xfdb -0086fe ffdb -008700 0efe MOVLW 0xfe -008702 c02c MOVFF 0x2c,0xfdb -008704 ffdb -008796 0efb MOVLW 0xfb -008798 cfdb MOVFF 0xfdb,0x29 -00879a f029 -00879c 0efc MOVLW 0xfc -00879e cfdb MOVFF 0xfdb,0x2a -0087a0 f02a -0087a2 0efd MOVLW 0xfd -0087a4 cfdb MOVFF 0xfdb,0x2b -0087a6 f02b -0087a8 0efe MOVLW 0xfe -0087aa cfdb MOVFF 0xfdb,0x2c -0087ac f02c -0087ae 0012 RETURN 0x0 -008706 0101 MOVLB 0x1 gPos--; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb_print.c -008708 0735 DECF 0x35,0x1,0x1 +008706 d855 RCALL 0x87b2 data = data / 10; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb_print.c +008708 d88f RCALL 0x8828 +00870a 0efb MOVLW 0xfb +00870c c03d MOVFF 0x3d,0xfdb +00870e ffdb +008710 0efc MOVLW 0xfc +008712 c03e MOVFF 0x3e,0xfdb +008714 ffdb +008716 0efd MOVLW 0xfd +008718 c03f MOVFF 0x3f,0xfdb +00871a ffdb +00871c 0efe MOVLW 0xfe +00871e c040 MOVFF 0x40,0xfdb +008720 ffdb +0087b2 0efb MOVLW 0xfb +0087b4 cfdb MOVFF 0xfdb,0x3d +0087b6 f03d +0087b8 0efc MOVLW 0xfc +0087ba cfdb MOVFF 0xfdb,0x3e +0087bc f03e +0087be 0efd MOVLW 0xfd +0087c0 cfdb MOVFF 0xfdb,0x3f +0087c2 f03f +0087c4 0efe MOVLW 0xfe +0087c6 cfdb MOVFF 0xfdb,0x40 +0087c8 f040 +0087ca 0012 RETURN 0x0 +008722 0101 MOVLB 0x1 gPos--; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb_print.c +008724 07f7 DECF 0xf7,0x1,0x1 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb_print.c -00870a d8a1 RCALL 0x884e while (data != 0u); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb_print.c -00870c e1e6 BNZ 0x86da -00877c 0efb MOVLW 0xfb -00877e cfdb MOVFF 0xfdb,0x33 -008780 f033 -008782 0efc MOVLW 0xfc -008784 cfdb MOVFF 0xfdb,0x34 -008786 f034 -008788 0efd MOVLW 0xfd -00878a cfdb MOVFF 0xfdb,0x35 -00878c f035 -00878e 0efe MOVLW 0xfe -008790 cfdb MOVFF 0xfdb,0x36 -008792 f036 -008794 0012 RETURN 0x0 +008726 d8a1 RCALL 0x886a while (data != 0u); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb_print.c +008728 e1e6 BNZ 0x86f6 +008798 0efb MOVLW 0xfb +00879a cfdb MOVFF 0xfdb,0x47 +00879c f047 +00879e 0efc MOVLW 0xfc +0087a0 cfdb MOVFF 0xfdb,0x48 +0087a2 f048 +0087a4 0efd MOVLW 0xfd +0087a6 cfdb MOVFF 0xfdb,0x49 +0087a8 f049 +0087aa 0efe MOVLW 0xfe +0087ac cfdb MOVFF 0xfdb,0x4a +0087ae f04a +0087b0 0012 RETURN 0x0 C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb_print.c -00870e d050 BRA 0x87b0 gPos++; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb_print.c +00872a d050 BRA 0x87cc gPos++; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb_print.c // gPos now points to the beginning of where we need to print from C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb_print.c ebb_print_ram(&gOutputStr[gPos]); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb_print.c } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb_print.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb_print.c // Print out as a signed integer C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb_print.c -008710 d86a RCALL 0x87e6 void ebb_print_int(INT32 data) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb_print.c -0087e6 cfd9 MOVFF 0xfd9,0xfe6 -0087e8 ffe6 -0087ea cfe1 MOVFF 0xfe1,0xfd9 -0087ec ffd9 -0087ee 0012 RETURN 0x0 +00872c d86a RCALL 0x8802 void ebb_print_int(INT32 data) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb_print.c +008802 cfd9 MOVFF 0xfd9,0xfe6 +008804 ffe6 +008806 cfe1 MOVFF 0xfe1,0xfd9 +008808 ffd9 +00880a 0012 RETURN 0x0 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb_print.c // Handle negative sign C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb_print.c -008712 50e1 MOVF 0xe1,0x0,0x0 if (data < 0) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb_print.c -008714 d86d RCALL 0x87f0 -008716 90d8 BCF 0xd8,0x0,0x0 -008718 0e03 MOVLW 0x3 -00871a 50eb MOVF 0xeb,0x0,0x0 -00871c 0a00 XORLW 0x0 -00871e e608 BN 0x8730 -008720 0e00 MOVLW 0x0 -008722 5cee SUBWF 0xee,0x0,0x0 -008724 0e00 MOVLW 0x0 -008726 58ee SUBWFB 0xee,0x0,0x0 -008728 0e00 MOVLW 0x0 -00872a 58ee SUBWFB 0xee,0x0,0x0 -00872c 0e00 MOVLW 0x0 -00872e 58ee SUBWFB 0xee,0x0,0x0 -008730 e215 BC 0x875c +00872e 50e1 MOVF 0xe1,0x0,0x0 if (data < 0) C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb_print.c +008730 d86d RCALL 0x880c +008732 90d8 BCF 0xd8,0x0,0x0 +008734 0e03 MOVLW 0x3 +008736 50eb MOVF 0xeb,0x0,0x0 +008738 0a00 XORLW 0x0 +00873a e608 BN 0x874c +00873c 0e00 MOVLW 0x0 +00873e 5cee SUBWF 0xee,0x0,0x0 +008740 0e00 MOVLW 0x0 +008742 58ee SUBWFB 0xee,0x0,0x0 +008744 0e00 MOVLW 0x0 +008746 58ee SUBWFB 0xee,0x0,0x0 +008748 0e00 MOVLW 0x0 +00874a 58ee SUBWFB 0xee,0x0,0x0 +00874c e215 BC 0x8778 { C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb_print.c -008732 0e2d MOVLW 0x2d ebb_print_char('-'); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb_print.c -008734 d872 RCALL 0x881a -00881a 6ee6 MOVWF 0xe6,0x0 -00881c ecb4 CALL 0x4b68,0x0 -00881e f025 -008820 52e5 MOVF 0xe5,0x1,0x0 -008822 0012 RETURN 0x0 -008736 d82f RCALL 0x8796 data = -data; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb_print.c -008738 682e SETF 0x2e,0x0 -00873a 682f SETF 0x2f,0x0 -00873c 6830 SETF 0x30,0x0 -00873e 6831 SETF 0x31,0x0 -008740 ec66 CALL 0x8ecc,0x0 -008742 f047 -008744 0efb MOVLW 0xfb -008746 c025 MOVFF 0x25,0xfdb -008748 ffdb -00874a 0efc MOVLW 0xfc -00874c c026 MOVFF 0x26,0xfdb -00874e ffdb -008750 0efd MOVLW 0xfd -008752 c027 MOVFF 0x27,0xfdb -008754 ffdb -008756 0efe MOVLW 0xfe -008758 c028 MOVFF 0x28,0xfdb -00875a ffdb +00874e 0e2d MOVLW 0x2d ebb_print_char('-'); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb_print.c +008750 d872 RCALL 0x8836 +008836 6ee6 MOVWF 0xe6,0x0 +008838 ecc2 CALL 0x4b84,0x0 +00883a f025 +00883c 52e5 MOVF 0xe5,0x1,0x0 +00883e 0012 RETURN 0x0 +008752 d82f RCALL 0x87b2 data = -data; C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb_print.c +008754 6842 SETF 0x42,0x0 +008756 6843 SETF 0x43,0x0 +008758 6844 SETF 0x44,0x0 +00875a 6845 SETF 0x45,0x0 +00875c ec74 CALL 0x8ee8,0x0 +00875e f047 +008760 0efb MOVLW 0xfb +008762 c039 MOVFF 0x39,0xfdb +008764 ffdb +008766 0efc MOVLW 0xfc +008768 c03a MOVFF 0x3a,0xfdb +00876a ffdb +00876c 0efd MOVLW 0xfd +00876e c03b MOVFF 0x3b,0xfdb +008770 ffdb +008772 0efe MOVLW 0xfe +008774 c03c MOVFF 0x3c,0xfdb +008776 ffdb } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb_print.c C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb_print.c -00875c 50d9 MOVF 0xd9,0x0,0x0 ebb_print_uint(data); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb_print.c -00875e d848 RCALL 0x87f0 -008760 cfee MOVFF 0xfee,0xfe6 -008762 ffe6 -008764 cfee MOVFF 0xfee,0xfe6 -008766 ffe6 -008768 cfee MOVFF 0xfee,0xfe6 -00876a ffe6 -00876c cfef MOVFF 0xfef,0xfe6 -00876e ffe6 -008770 dfb3 RCALL 0x86d8 -008772 52e5 MOVF 0xe5,0x1,0x0 -008774 52e5 MOVF 0xe5,0x1,0x0 -008776 52e5 MOVF 0xe5,0x1,0x0 -008778 52e5 MOVF 0xe5,0x1,0x0 -0087f0 0ffb ADDLW 0xfb -0087f2 6ee9 MOVWF 0xe9,0x0 -0087f4 0eff MOVLW 0xff -0087f6 20da ADDWFC 0xda,0x0,0x0 -0087f8 6eea MOVWF 0xea,0x0 -0087fa 0012 RETURN 0x0 -00877a d05f BRA 0x883a } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb_print.c +008778 50d9 MOVF 0xd9,0x0,0x0 ebb_print_uint(data); C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb_print.c +00877a d848 RCALL 0x880c +00877c cfee MOVFF 0xfee,0xfe6 +00877e ffe6 +008780 cfee MOVFF 0xfee,0xfe6 +008782 ffe6 +008784 cfee MOVFF 0xfee,0xfe6 +008786 ffe6 +008788 cfef MOVFF 0xfef,0xfe6 +00878a ffe6 +00878c dfb3 RCALL 0x86f4 +00878e 52e5 MOVF 0xe5,0x1,0x0 +008790 52e5 MOVF 0xe5,0x1,0x0 +008792 52e5 MOVF 0xe5,0x1,0x0 +008794 52e5 MOVF 0xe5,0x1,0x0 +00880c 0ffb ADDLW 0xfb +00880e 6ee9 MOVWF 0xe9,0x0 +008810 0eff MOVLW 0xff +008812 20da ADDWFC 0xda,0x0,0x0 +008814 6eea MOVWF 0xea,0x0 +008816 0012 RETURN 0x0 +008796 d05f BRA 0x8856 } C:\Projects\EggBot_GH\EBB_firmware\app.X\source\ebb_print.c diff --git a/EBB_firmware/app.X/dist/EBBv13_with_bootloader/production/app.X.production.unified.hex b/EBB_firmware/app.X/dist/EBBv13_with_bootloader/production/app.X.production.unified.hex index 97f917e..5aedd1b 100644 --- a/EBB_firmware/app.X/dist/EBBv13_with_bootloader/production/app.X.production.unified.hex +++ b/EBB_firmware/app.X/dist/EBBv13_with_bootloader/production/app.X.production.unified.hex @@ -225,2081 +225,2082 @@ :100DF0004C0D4C0D750D790DAD0D0E09C00EF36E39 :100E000000EE00F00E0E01D81200EA6002D0EE6A89 :0E0E1000FCD7F350E9601200EE6AFCD7000038 -:0610000077EF48F012003A +:0610000085EF48F012002C :0610080028EF08F01200C1 -:06101800A9EF21F0120017 -:10102A000300A2910000F701000007000000A09150 -:10103A000000FA0000000200000022910000800275 +:06101800B7EF21F0120009 +:10102A000300BE910000F901000007000000BC9116 +:10103A000000FA000000020000003E910000800259 :10104A0000007E000000DACFE4FFE9CFE4FFEACF38 :10105A00E4FFF3CFE4FFF4CFE4FFE6529E90FE0EE6 :10106A00CF6E300ECE6E09B28C820080010180A94B :10107A0033D0045004E15F0E831481118C6E02A0F8 -:10108A0016D009A402D048EC1EF034EC20F0B2AF1E -:10109A000ED0B29F818D4EEC1EF009A404D0BB2B5A -:1010AA00BC23BD23BE2391EC1DF001E1029003A0F5 -:1010BA000BD03DEC20F0B6AF07D0B69FA9EC1EF0DE +:10108A0016D009A402D048EC1EF045EC20F026AE9A +:10109A000ED0269E818D4EEC1EF009A404D02F2A74 +:1010AA00302231223222B5EC1DF001E1029003A078 +:1010BA000BD04EEC20F02AAE07D02A9EB9EC1EF0D7 :1010CA005DEC1EF001E10390010E021444E1010EF1 :1010DA00031401E176D03FD080AB3FD002A01FD0ED -:1010EA0009A402D048EC1EF048EC1CF0B2AF17D0AD -:1010FA007F0EB215B26F818D4EEC1EF009A404D09A -:10110A00BB2BBC23BD23BE238AAF03D0818F8C8E19 -:10111A0002D0819F8C9E91EC1DF001E1029003A008 -:10112A0014D05AEC1CF0B6AF10D07F0EB615B66FBD -:10113A00A9EC1EF08EAF03D0818B8C8A02D0819BE2 +:1010EA0009A402D048EC1EF05BEC1CF026AE17D027 +:1010FA007F0E2614266E818D4EEC1EF009A404D0B4 +:10110A002F2A3022312232228AAF03D0818F8C8E4D +:10111A0002D0819F8C9EB5EC1DF001E1029003A0E4 +:10112A0014D06DEC1CF02AAE10D07F0E2A142A6E51 +:10113A00B9EC1EF08EAF03D0818B8C8A02D0819BD2 :10114A008C9A5DEC1EF001E10390010E021403E19A :10115A00010E031436E0009034D080AD32D002A0E4 -:10116A0030D000904EEC1EF091EC1DF001E102909F -:10117A0009A402D048EC1EF048EC1CF0B2AF12D021 -:10118A007F0EB215B26F818D09A405D0BB2B000E5C -:10119A00BC23BD23BE238AAF03D0818F8C8E02D09D -:1011AA00819F8C9E5AEC1CF0B6AF0BD07F0EB61501 -:1011BA00B66F81898EAF03D0818B8C8A02D0819BD6 +:10116A0030D000904EEC1EF0B5EC1DF001E102907B +:10117A0009A402D048EC1EF05BEC1CF026AE12D09B +:10118A007F0E2614266E818D09A405D02F2A000E03 +:10119A003022312232228AAF03D0818F8C8E02D044 +:1011AA00819F8C9E6DEC1CF02AAE0BD07F0E2A1408 +:1011BA002A6E81898EAF03D0818B8C8A02D0819B63 :1011CA008C9A500E811542E0045005E10F0E8314EB :1011DA0081118C6E0ED081AF02D08B8401D08B949A :1011EA0081AB02D0898401D0899481BD8B8C81B96D :1011FA00898A81AD19D081AF0CD01B06000E1C5A0A -:10120A001D5A1E5A09A410D0BF07C05BC15BC25B3E +:10120A001D5A1E5A09A410D03306345A355A365A72 :10121A000BD01B2A000E1C221D221E2209A404D058 -:10122A00BF2BC023C123C22381A90DD081AB06D015 +:10122A00332A34223522362281A90DD081AB06D049 :10123A001F06000E205A215A225A05D01F2A000ED4 -:10124A00202221222222AF0E8117DAD080A35AD07F -:10125A0005A03AD0AA050A6EA851A9111AE18AEC8A +:10124A00202221222222AF0E8117D4D080A358D087 +:10125A0005A03AD0AA050A6EA851A9111AE1AEEC66 :10126A001DF0EF500001EA6A8025E96E8151EA22F9 -:10127A00EF6AA2EC20F0EE6AED6AA9EC20F0EE6AC1 -:10128A00ED6A8AEC1DF0EF6ACAEC20F0EE6AED6AAC -:10129A001BD0A2EC20F0ABC1EEFFACC1EDFFA9EC74 -:1012AA0020F0A8C1EEFFA9C1EDFF8AEC1DF0A7C18D -:1012BA00EFFFCAEC20F0EE50ED1006E1CAEC20F088 +:10127A00EF6AB3EC20F0EE6AED6ABAEC20F0EE6A9F +:10128A00ED6AAEEC1DF0EF6ADBEC20F0EE6AED6A77 +:10129A001BD0B3EC20F0ABC1EEFFACC1EDFFBAEC52 +:1012AA0020F0A8C1EEFFA9C1EDFFAEEC1DF0A7C169 +:1012BA00EFFFDBEC20F0EE50ED1006E1DBEC20F066 :1012CA00A8C1EEFFA9C1EDFF00018A510101A75D86 -:1012DA0019E1000184510101A8190DE100018551AC -:1012EA000101A91908E10B01010E5A6F576B8251CE -:1012FA0009E08A9807D00B015A6B010E576F825189 -:10130A0001E08A88030E010180150EE062EC1EF0EE -:10131A0001E176D08207000E835B845B855B62EC19 -:10132A001EF06EE000906CD080A529D0865122E094 -:10133A00ADC13FF0AEC140F0D89040323F32D890B4 -:10134A0040323F323F50BB6E80CB41F081CB42F0FE -:10135A00040ED89041364236E804FBE1300E4116BD -:10136A00000E4216CF0EBA1441103F6E42C040F032 -:10137A00E85003D0BB6ACF0EBA14BA6E40D080A729 -:10138A003FD08151000823E2045002E18D9001D040 -:10139A008C92810503E18D848D82898C020E815D98 -:1013AA0003E18D848D82899C030E815D03E18D9416 -:1013BA008D82899C040E815D03E18D848D92899CC6 -:1013CA00050E815D09E18D948D92899C05D00450AA -:1013DA0002E18D8001D08C82A751000806E20450F8 -:1013EA0002E18B9207D0899205D0045002E18B82E8 -:1013FA0001D08982B2EC1DF0BBEC1DF00E9000808A -:10140A0009A47ED2010E001404E1080E091401E1B8 -:10141A0077D2700E0101801501E172D2098EADA258 -:10142A00FED7540EAE6EADA2FED72C0EAE6EB7C16D -:10143A000FF0B8C110F0B9C111F0BAC112F07DECC9 -:10144A0021F005E3ADA2FED7300E132405D0ADA2DC -:10145A00FED7410E1324F60FDAEC1FF005E3ADA216 -:10146A00FED7300E132405D0ADA2FED7410E1324A9 -:10147A00F60F34EC21F005E3ADA2FED7300E1324AB -:10148A0005D0ADA2FED7410E1324F60FDFEC1FF0F4 -:10149A0005E3ADA2FED7300E132405D0ADA2FED7C8 -:1014AA00410E1324F60F38EC21F005E3ADA2FED766 -:1014BA00300E132405D0ADA2FED7410E1324F60F29 -:1014CA00E4EC1FF005E3ADA2FED7300E132405D0DD -:1014DA00ADA2FED7410E1324F60F3CEC21F005E332 -:1014EA00ADA2FED7300E132405D0ADA2FED7410E11 -:1014FA001324F60FE9EC1FF005E3ADA2FED7300E78 -:10150A00132405D0ADA2FED7410E1324F60FAE6EFA -:10151A00ADA2FED72C0EAE6EADA2FED7530EAE6EA6 -:10152A00ADA2FED72C0EAE6EBBC10FF0BCC110F03F -:10153A00BDC111F0BEC112F07DEC21F005E3ADA2F0 -:10154A00FED7300E132405D0ADA2FED7410E1324C8 -:10155A00F60FDAEC1FF005E3ADA2FED7300E132426 -:10156A0005D0ADA2FED7410E1324F60F34EC21F0BC -:10157A0005E3ADA2FED7300E132405D0ADA2FED7E7 -:10158A00410E1324F60FDFEC1FF005E3ADA2FED7E0 -:10159A00300E132405D0ADA2FED7410E1324F60F48 -:1015AA0038EC21F005E3ADA2FED7300E132405D0A6 -:1015BA00ADA2FED7410E1324F60FE4EC1FF005E3AB -:1015CA00ADA2FED7300E132405D0ADA2FED7410E30 -:1015DA001324F60F3CEC21F005E3ADA2FED7300E42 -:1015EA00132405D0ADA2FED7410E1324F60FE9EC61 -:1015FA001FF005E3ADA2FED7300E132405D0ADA22D -:10160A00FED7410E1324F60FAE6EADA2FED72C0EF6 -:10161A00AE6EADA2FED7430EAE6EADA2FED72C0EB5 -:10162A00AE6EAFC10FF0B0C110F0B1C111F0B2C1CE -:10163A0012F07DEC21F005E3ADA2FED7300E1324A3 -:10164A0005D0ADA2FED7410E1324F60FDAEC1FF037 -:10165A0005E3ADA2FED7300E132405D0ADA2FED706 -:10166A00410E1324F60F34EC21F005E3ADA2FED7A8 -:10167A00300E132405D0ADA2FED7410E1324F60F67 -:10168A00DFEC1FF005E3ADA2FED7300E132405D020 -:10169A00ADA2FED7410E1324F60F38EC21F005E374 -:1016AA00ADA2FED7300E132405D0ADA2FED7410E4F -:1016BA001324F60FE4EC1FF005E3ADA2FED7300EBB -:1016CA00132405D0ADA2FED7410E1324F60F3CEC2D -:1016DA0021F005E3ADA2FED7300E132405D0ADA24A -:1016EA00FED7410E1324F60FE9EC1FF005E3ADA275 -:1016FA00FED7300E132405D0ADA2FED7410E132417 -:10170A00F60FAE6EADA2FED72C0EAE6EADA2FED710 -:10171A00520EAE6EADA2FED72C0EAE6E87C10FF082 -:10172A0088C110F089C111F08AC112F07DEC21F054 -:10173A0005E3ADA2FED7300E132405D0ADA2FED725 -:10174A00410E1324F60FDAEC1FF005E3ADA2FED723 -:10175A00300E132405D0ADA2FED7410E1324F60F86 -:10176A0034EC21F005E3ADA2FED7300E132405D0E8 -:10177A00ADA2FED7410E1324F60FDFEC1FF005E3EE -:10178A00ADA2FED7300E132405D0ADA2FED7410E6E -:10179A001324F60F38EC21F005E3ADA2FED7300E84 -:1017AA00132405D0ADA2FED7410E1324F60FE4ECA4 -:1017BA001FF005E3ADA2FED7300E132405D0ADA26B -:1017CA00FED7410E1324F60F3CEC21F005E3ADA23F -:1017DA00FED7300E132405D0ADA2FED7410E132436 -:1017EA00F60FE9EC1FF005E3ADA2FED7300E132485 -:1017FA0005D0ADA2FED7410E1324F60FAE6EADA2F0 -:10180A00FED72C0EAE6EADA2FED7500EAE6EADA2B6 -:10181A00FED72C0EAE6EBFC10FF0C0C110F0C1C111 -:10182A0011F0C2C112F07DEC21F005E3ADA2FED7A2 -:10183A00300E132405D0ADA2FED7410E1324F60FA5 -:10184A00DAEC1FF005E3ADA2FED7300E132405D063 -:10185A00ADA2FED7410E1324F60F34EC21F005E3B6 -:10186A00ADA2FED7300E132405D0ADA2FED7410E8D -:10187A001324F60FDFEC1FF005E3ADA2FED7300EFE -:10188A00132405D0ADA2FED7410E1324F60F38EC6F -:10189A0021F005E3ADA2FED7300E132405D0ADA288 -:1018AA00FED7410E1324F60FE4EC1FF005E3ADA2B8 -:1018BA00FED7300E132405D0ADA2FED7410E132455 -:1018CA00F60F3CEC21F005E3ADA2FED7300E13244F -:1018DA0005D0ADA2FED7410E1324F60FE9EC1FF096 -:1018EA0005E3ADA2FED7300E132405D0ADA2FED774 -:1018FA00410E1324F60FAE6EADA2FED70A0EAE6EDF -:10190A000C5019E081500B6EE8500D18E81C0C14AD -:10191A0012E00BC0DCF00E80026A036A0080146ACF -:10192A00156A166A016A1C0E015C05E20150EAECAE -:10193A001CF0012AF8D700A0ECD00101806B1450EA -:10194A0001E1CFD009B28C8006B08C940001A85175 -:10195A0002E0010EA86F165052EC1FF0EF50176EFE -:10196A0017A803D0EDEC20F004D017AA14D000EC8D -:10197A001FF076EC20F0CDEC1DF076EC20F0040E92 -:10198A00C0EC1BF0EECF93F1EECF94F1EECF95F1D0 -:10199A00EFCF96F108D017AC10D000EC1FF076EC20 -:1019AA0020F0CDEC1DF08DEC20F0020EC0EC1BF007 -:1019BA0076EC1CF085EC20F045D017A223D05DEC24 -:1019CA001FF0A2EC1AF0280EC0EC1BF0EECFA8F123 -:1019DA00EDCFA9F1A2EC1AF0270EC0EC1BF0EFCF65 -:1019EA00A7F1A2EC1AF02A0EC0EC1BF0EFCFAAF175 -:1019FA00A2EC1AF02B0EC0EC1BF0EECFABF1EDCF40 -:101A0A00ACF120D017A003D05DEC1FF01BD017A4B7 -:101A1A000ED05DEC1FF085EC20F0A2EC1AF02D0E32 -:101A2A00C0EC1BF0EECFADF1EDCFAEF10BD0A2ECD6 -:101A3A001AF0EFCF80F18DEC20F0270EC0EC1BF0EE -:101A4A00EFCFA7F1700E0101801531E086A909D008 -:101A5A0082C1AFF183C1B0F184C1B1F185C1B2F1E4 -:101A6A001AD086A104D0AF6BB06BB16BB26B86A3F0 -:101A7A0004D0B36BB46BB56BB66B86A505D0AF69F2 -:101A8A00B069B1697F0EB26F86A705D0B369B46930 -:101A9A00B5697F0EB66F91EC1DF002E0028001D0AD -:101AAA0002905DEC1EF002E0038001D0039009A4CD -:101ABA000CD0B76BB86BB96BBA6BBB6BBC6BBD6B3D -:101ACA00BE6BBF6BC06BC16BC26B1650EAEC1CF0ED -:101ADA00162A1850165C01E3166A14501AE0140606 -:101AEA0018D00001A8050CE10001E80EAB6F030E47 -:101AFA00AC6FA9C0ADF0AAC0AEF00001020EA86F8B -:101B0A000101826B836B846B856B06B08C8409B28E -:101B1A00898280AE078008A002D081A00780045085 -:101B2A0003E18C9C8C9802D08B9C899A09AE06D0D2 -:101B3A009E90FE0ECF6E300ECE6E099E09A203D085 -:101B4A0089928C908C92E552E5CFF4FFE5CFF3FFB2 -:101B5A00E5CFEAFFE5CFE9FFE5CFDAFF1100D9CFFC -:101B6A00E6FFE1CFD9FFE652DF6A020EDF5C2DE223 -:101B7A00DF50040DF3CFE9FFF4CFEAFF870EE92621 -:101B8A00010EEA22010EEE6EEE6AEE6AEE6ADF508E -:101B9A00040DF3CFE9FFF4CFEAFF8F0EE926010E19 -:101BAA00EA22EE6AEE6AEE6AEE6ADF50040DF3CFBD -:101BBA00E9FFF4CFEAFF9F0EE926010EEA22EE6A58 -:101BCA00EE6AEE6AEE6ADF2AD0D70101806B010164 -:101BDA00816B0101826B836B846B856B0101A86B3E -:101BEA00A96B0101A76B0101AA6B0101AB6BAC6B7D -:101BFA000690096ACD82CD9ECD9CCD9ACD98CD9680 -:101C0A00CD94CF6ACE6A9F809E909D80CD8092802F -:101C1A009F9C010EE66EE66A66EC2CF0E552E552F0 -:101C2A00010EE66E0B0EE66E66EC2CF0E552E552FE -:101C3A008D8496948D829692898C929C8D809690B2 -:101C4A008B8294928C9C959C8C9E959E8C98959850 -:101C5A008C9A959A949E828E0000000000000000E3 +:1012DA0017E1000184510101A8190CE100018551AF +:1012EA000101A91907E1010EB46FB16BBC5108E005 +:1012FA008A9806D0B46B010EB16FBC5101E08A889E +:10130A00030E80150DE062EC1EF074E08207000EF9 +:10131A00835B845B855B62EC1EF06CE000906AD0B4 +:10132A0080A529D0865122E0ADC153F0AEC154F058 +:10133A00D89054325332D890543253325350BB6EF1 +:10134A00BAC155F0BBC156F0040ED8905536563680 +:10135A00E804FBE1300E5516000E5616CF0EBA14ED +:10136A005510536E56C054F0E85003D0BB6ACF0EE6 +:10137A00BA14BA6E3ED080A73DD08151000823E24C +:10138A00045002E18D9001D08C92810503E18D8495 +:10139A008D82898C020E815D03E18D848D82899C08 +:1013AA00030E815D03E18D948D82899C040E815D1B +:1013BA0003E18D848D92899C050E815D09E18D94EE +:1013CA008D92899C05D0045002E18D8001D08C82D7 +:1013DA00A751000806E2045002E18B9207D08992D5 +:1013EA0005D0045002E18B8201D08982FDEC1CF009 +:1013FA000E90008009A483D2010E001404E1080EA5 +:10140A00091401E17CD2700E0101801501E177D245 +:10141A00098EADA2FED7540EAE6EADA2FED72C0E2B +:10142A00AE6E2BC00FF02CC010F02DC011F02EC0E4 +:10143A0012F02E386AEC1FF005E3ADA2FED7300E8B +:10144A00132405D0ADA2FED7410E1324F60FEBEC00 +:10145A001FF005E3ADA2FED7300E132405D0ADA2CE +:10146A00FED7410E1324F60F45EC21F005E3ADA299 +:10147A00FED7300E132405D0ADA2FED7410E132499 +:10148A00F60FF0EC1FF005E3ADA2FED7300E1324E1 +:10149A0005D0ADA2FED7410E1324F60F49EC21F078 +:1014AA0005E3ADA2FED7300E132405D0ADA2FED7B8 +:1014BA00410E1324F60FF5EC1FF005E3ADA2FED79B +:1014CA00300E132405D0ADA2FED7410E1324F60F19 +:1014DA004DEC21F005E3ADA2FED7300E132405D062 +:1014EA00ADA2FED7410E1324F60FFAEC1FF005E366 +:1014FA00ADA2FED7300E132405D0ADA2FED7410E01 +:10150A001324F60FAE6EADA2FED72C0EAE6EADA2B0 +:10151A00FED7530EAE6EADA2FED72C0EAE6E2FC006 +:10152A000FF030C010F031C011F032C012F0323872 +:10153A006AEC1FF005E3ADA2FED7300E132405D0E6 +:10154A00ADA2FED7410E1324F60FEBEC1FF005E314 +:10155A00ADA2FED7300E132405D0ADA2FED7410EA0 +:10156A001324F60F45EC21F005E3ADA2FED7300EA9 +:10157A00132405D0ADA2FED7410E1324F60FF0ECCA +:10158A001FF005E3ADA2FED7300E132405D0ADA29D +:10159A00FED7410E1324F60F49EC21F005E3ADA264 +:1015AA00FED7300E132405D0ADA2FED7410E132468 +:1015BA00F60FF5EC1FF005E3ADA2FED7300E1324AB +:1015CA0005D0ADA2FED7410E1324F60F4DEC21F043 +:1015DA0005E3ADA2FED7300E132405D0ADA2FED787 +:1015EA00410E1324F60FFAEC1FF005E3ADA2FED765 +:1015FA00300E132405D0ADA2FED7410E1324F60FE8 +:10160A00AE6EADA2FED72C0EAE6EADA2FED7430EC5 +:10161A00AE6EADA2FED72C0EAE6E23C00FF024C064 +:10162A0010F025C011F026C012F026386AEC1FF01F +:10163A0005E3ADA2FED7300E132405D0ADA2FED726 +:10164A00410E1324F60FEBEC1FF005E3ADA2FED713 +:10165A00300E132405D0ADA2FED7410E1324F60F87 +:10166A0045EC21F005E3ADA2FED7300E132405D0D8 +:10167A00ADA2FED7410E1324F60FF0EC1FF005E3DE +:10168A00ADA2FED7300E132405D0ADA2FED7410E6F +:10169A001324F60F49EC21F005E3ADA2FED7300E74 +:1016AA00132405D0ADA2FED7410E1324F60FF5EC94 +:1016BA001FF005E3ADA2FED7300E132405D0ADA26C +:1016CA00FED7410E1324F60F4DEC21F005E3ADA22F +:1016DA00FED7300E132405D0ADA2FED7410E132437 +:1016EA00F60FFAEC1FF005E3ADA2FED7300E132475 +:1016FA0005D0ADA2FED7410E1324F60FAE6EADA2F1 +:10170A00FED72C0EAE6EADA2FED7520EAE6EADA2B5 +:10171A00FED72C0EAE6E87C10FF088C110F089C1BA +:10172A0011F08AC112F012386AEC1FF005E3ADA27B +:10173A00FED7300E132405D0ADA2FED7410E1324D6 +:10174A00F60FEBEC1FF005E3ADA2FED7300E132423 +:10175A0005D0ADA2FED7410E1324F60F45EC21F0B9 +:10176A0005E3ADA2FED7300E132405D0ADA2FED7F5 +:10177A00410E1324F60FF0EC1FF005E3ADA2FED7DD +:10178A00300E132405D0ADA2FED7410E1324F60F56 +:10179A0049EC21F005E3ADA2FED7300E132405D0A3 +:1017AA00ADA2FED7410E1324F60FF5EC1FF005E3A8 +:1017BA00ADA2FED7300E132405D0ADA2FED7410E3E +:1017CA001324F60F4DEC21F005E3ADA2FED7300E3F +:1017DA00132405D0ADA2FED7410E1324F60FFAEC5E +:1017EA001FF005E3ADA2FED7300E132405D0ADA23B +:1017FA00FED7410E1324F60FAE6EADA2FED72C0E05 +:10180A00AE6EADA2FED7500EAE6EADA2FED72C0EB6 +:10181A00AE6E33C00FF034C010F035C011F036C0D0 +:10182A0012F036386AEC1FF005E3ADA2FED7300E8F +:10183A00132405D0ADA2FED7410E1324F60FEBEC0C +:10184A001FF005E3ADA2FED7300E132405D0ADA2DA +:10185A00FED7410E1324F60F45EC21F005E3ADA2A5 +:10186A00FED7300E132405D0ADA2FED7410E1324A5 +:10187A00F60FF0EC1FF005E3ADA2FED7300E1324ED +:10188A0005D0ADA2FED7410E1324F60F49EC21F084 +:10189A0005E3ADA2FED7300E132405D0ADA2FED7C4 +:1018AA00410E1324F60FF5EC1FF005E3ADA2FED7A7 +:1018BA00300E132405D0ADA2FED7410E1324F60F25 +:1018CA004DEC21F005E3ADA2FED7300E132405D06E +:1018DA00ADA2FED7410E1324F60FFAEC1FF005E372 +:1018EA00ADA2FED7300E132405D0ADA2FED7410E0D +:1018FA001324F60FAE6EADA2FED70A0EAE6E0C50D2 +:10190A0019E081500B6EE8500D18E81C0C1412E017 +:10191A000BC0DCF00E80026A036A0080146A156A42 +:10192A00166A016A200E015C05E201500EEC1DF0F8 +:10193A00012AF8D700A0ECD00101806B145001E114 +:10194A00CFD009B28C8006B08C940001A85102E075 +:10195A00010EA86F165062EC1FF0EF50176E17A811 +:10196A0003D0FEEC20F004D017AA14D010EC1FF01C +:10197A0087EC20F0DFEC1DF087EC20F0040ED3ECAE +:10198A001BF0EECF93F1EECF94F1EECF95F1EFCFBE +:10199A0096F108D017AC10D010EC1FF087EC20F0AD +:1019AA00DFEC1DF09EEC20F0020ED3EC1BF089EC6C +:1019BA001CF096EC20F045D017A223D06DEC1FF056 +:1019CA00B5EC1AF0280ED3EC1BF0EECFA8F1EDCF50 +:1019DA00A9F1B5EC1AF0270ED3EC1BF0EFCFA7F163 +:1019EA00B5EC1AF02A0ED3EC1BF0EFCFAAF1B5EC46 +:1019FA001AF02B0ED3EC1BF0EECFABF1EDCFACF11E +:101A0A0020D017A003D06DEC1FF01BD017A40ED066 +:101A1A006DEC1FF096EC20F0B5EC1AF02D0ED3EC1D +:101A2A001BF0EECFADF1EDCFAEF10BD0B5EC1AF065 +:101A3A00EFCF80F19EEC20F0270ED3EC1BF0EFCF16 +:101A4A00A7F1700E0101801531E086A909D082C183 +:101A5A0023F083C124F084C125F085C126F01AD071 +:101A6A0086A104D0236A246A256A266A86A304D03A +:101A7A00276A286A296A2A6A86A505D023682468FB +:101A8A0025687F0E266E86A705D0276828682968EC +:101A9A007F0E2A6EB5EC1DF002E0028001D00290A2 +:101AAA005DEC1EF002E0038001D0039009A40CD083 +:101ABA002B6A2C6A2D6A2E6A2F6A306A316A326A58 +:101ACA00336A346A356A366A16500EEC1DF0162AE5 +:101ADA001850165C01E3166A14501AE0140618D05E +:101AEA000001A8050CE10001E80EAB6F030EAC6F14 +:101AFA00A9C0ADF0AAC0AEF00001020EA86F0101A4 +:101B0A00826B836B846B856B06B08C8409B2898285 +:101B1A0080AE078008A002D081A00780045003E1AC +:101B2A008C9C8C9802D08B9C899A09AE06D09E9088 +:101B3A00FE0ECF6E300ECE6E099E09A203D0899298 +:101B4A008C908C92E552E5CFF4FFE5CFF3FFE5CF19 +:101B5A00EAFFE5CFE9FFE5CFDAFF1100D9CFE6FFCB +:101B6A00E1CFD9FFE652DF6A020EDF5C2DE2DF50D9 +:101B7A00040DF3CFE9FFF4CFEAFF870EE926010E41 +:101B8A00EA22010EEE6EEE6AEE6AEE6ADF50040D8C +:101B9A00F3CFE9FFF4CFEAFF8F0EE926010EEA221E +:101BAA00EE6AEE6AEE6AEE6ADF50040DF3CFE9FFE1 +:101BBA00F4CFEAFF9F0EE926010EEA22EE6AEE6AE8 +:101BCA00EE6AEE6ADF2AD0D70101806B0101816BD0 +:101BDA000101826B836B846B856B0101A86BA96B16 +:101BEA000101A76B0101AA6B0101AB6BAC6B0690FB +:101BFA00096ACD82CD9ECD9CCD9ACD98CD96CD94B5 +:101C0A00CF6ACE6A9F809E909D80CD8092809F9C55 +:101C1A00010EE66EE66A74EC2CF0E552E552010E0E +:101C2A00E66E0B0EE66E74EC2CF0E552E5528D84EE +:101C3A0096948D829692898C929C8D8096908B82B6 +:101C4A0094928C9C959C8C9E959E8C9895988C9A37 +:101C5A00959A949E828E0000000000000000000009 :101C6A00000000000000000000000000000000006A -:101C7A000000000000000000000000000000948E38 -:101C8A00829E0B01010E826F05808A98939889962D -:101C9A0092960B01010E576F046A0B01010E5A6FDF -:101CAA00DF6A200EDF5C09E2DF50EA6A5F0FE96E45 -:101CBA000B0EEA22EF6ADF2AF4D70B015B6B5C6B2F -:101CCA005D6B5E6B076A0B01846B0B01010E836F00 -:101CDA00146A156A166A010E186E050E196E1A6ACA -:101CEA009380F19E0880939681960B6A0C6A0D6A1E -:101CFA000E9086EC1AF0E552E552E7CFD9FF1200B2 -:101D0A009FEC1BF0030EB4EC1CF055EC1FF0E66AD6 -:101D1A00D950010F80EC20F0030E0AEC20F001E00C -:101D2A00ABD0DF0420E1CEEC20F007E10B01010E7D -:101D3A00826F0590EDEC1CF00ED010EC1CF0010E39 -:101D4A00EE1805E1ED5003E10B01826B03D00B01A4 -:101D5A00010E826F0580000EE66EE66A5ACBE6FF38 -:101D6A0054EC1EF087D0020EDF5C2DE1CEEC20F0A1 -:101D7A0008E1046A96909492959C959E9598959AF6 -:101D8A001BD010EC1CF0010EEE180CE1ED500AE12C -:101D9A00010E76EC1EF094949294949C929A9592E9 -:101DAA00929268D010EC1CF0020EEE1863E1ED502E -:101DBA0061E1020E76EC1EF094849284948C928AED -:101DCA009582928257D0040EDF5C07E1010EDBCFC9 -:101DDA0084F0020EDBCF85F04DD0050EDF5C07E103 -:101DEA00010EDBCF82F0020EDBCF83F043D0080E68 -:101DFA00DF5C0FE110EC1CF0040ED880EE54000EEC -:101E0A00ED5403E2040EB0EC1EF0010EDBCF7EF0BF -:101E1A0031D0090EDF5C0FE110EC1CF0060ED88001 -:101E2A00EE54000EED5403E2060EB0EC1EF0010E65 -:101E3A00DBCF7FF01FD00A0EDF5C03E1B7EC1EF0A8 -:101E4A0009D00B0EDF5C03E1B7EC1EF013D00C0EC9 -:101E5A00DF5C07E1010EDBCF88F0020EDBCF89F0F1 -:101E6A0009D00D0EDF5C06E1CEEC20F002E008801E -:101E7A0001D00890CCEC1BF0030EE15C02E2E16AAF -:101E8A00E5529CEF1BF0FFEC20F087EC21F02AECE6 -:101E9A0021F0DF6E0001975123E10B01835119E014 -:101EAA008D518E118F11901103E1D8EC1EF003E0D1 -:101EBA0096EC1DF00EE1915192119311941103E1E8 -:101ECA00DDEC1EF003E09BEC1DF003E10001978DB1 -:101EDA0007D067EC1EF053EC1DF0E66A6CEC1EF0BE -:101EEA0030EF1DF0FFEC20F0A50EE66E0B0E2BEC8A -:101EFA001FF087EC21F00AEC21F02DE10B01835150 -:101F0A0023E08D518E118F11901108E1D8EC1EF04B -:101F1A0005E1A551A611A711A81103E096EC1DF041 -:101F2A0013E1915192119311941108E1DDEC1EF025 -:101F3A0005E1A551A611A711A81103E09BEC1DF01C -:101F4A0003E10001978D07D067EC1EF0DFCFE6FFB3 -:101F5A00E66A6CEC1EF030EF1DF017EC21F0A50ECE -:101F6A00E66E0B0E2BEC1FF0910EE66E0B0E0AECD2 -:101F7A0021F011E10B01835106E0A0EC1DF003E111 -:101F8A000001978D08D0D6EC1DF0DFCFE6FF010ED9 -:101F9A00E66E6CEC1EF030EF1DF017EC21F0910E9E -:101FAA00E66E0B0E2AEC21F0DF6E0001975111E16B -:101FBA000B01835106E0A0EC1DF003E10001978DAF -:101FCA0008D0D6EC1DF053EC1DF0010EE66E6CEC59 -:101FDA001EF030EF1DF09FEC1BF0050ED0EC1CF04C -:101FEA000EB0E7D109B405D01DEC1CF002E2DEEC1C -:101FFA001CF0FE0EDB5026E10B01800E98150EE058 -:10200A00800E901511E1DCEC1DF08D6D8E1F8E2374 -:10201A008F1F8F23901F90237EEC1EF0800E9C153D -:10202A0011E0800E941503E00001978DC2D1E5EC12 -:10203A001DF0916D921F9223931F9323941F942353 -:10204A0086EC1EF00B01256BE2EC1EF001EC1DF094 -:10205A00020E25EC1DF029500B018D5D336E2A50BE -:10206A008E59346E2B508F59356E2C509059366ECE -:10207A00A5CB29F0A6CB2AF0A7CB2BF0A8CB2CF026 -:10208A00060E25EC1DF0335029240B018D6F3450B8 -:10209A002A208E6F35502B208F6F36502C20906F50 -:1020AA000AEC1DF0020E25EC1DF029500B01915D82 -:1020BA00336E2A509259346E2B509359356E2C50E8 -:1020CA009459366EA9CB29F0AACB2AF0ABCB2BF0C8 -:1020DA00ACCB2CF0060E25EC1DF0335029240B0155 -:1020EA00916F34502A20926F35502B20936F3650BF -:1020FA002C20946F2A6B09A42CD0FD0EDB500BE127 -:10210A00100E2A6FADCB26FBAECB27FBAFCB28FB3D -:10211A00B0CB29FB80D088EC1FF002E6FEEC1BF066 -:10212A000FE378EC1BF00EE1C0EC1FF002E6FEECC8 -:10213A001BF006E378EC1BF005E1800EA81502E01F -:10214A0057EC1EF0040EDB5002E02A8564D02A8187 -:10215A0062D0ADCB33F0010EEEEC1DF01DE088EC41 -:10216A001FF002E6FEEC1BF00FE378EC1BF00EE129 -:10217A00C0EC1FF002E6FEEC1BF006E378EC1BF065 -:10218A0005E1800EA81502E057EC1EF0040EDB50A4 -:10219A0002E02A8501D02A81ADCB33F0020EEEECA3 -:1021AA001DF039E0040EDB6AF1EC1EF09151EE24C9 -:1021BA00336E9251EE20346E9351EE20356E945167 -:1021CA004AEC1BF002E6FEEC1BF01DE378EC1BF078 -:1021DA001CE1A90EE96E0B0EEA6EA151EE24336ED4 -:1021EA00A251EE20346EA351EE20356EA4514AEC72 -:1021FA001BF002E6FEEC1BF006E378EC1BF005E1AF -:10220A00800EAC1502E057EC1EF0040EDB5002E023 -:10221A002A8701D02A83ECEC1EF0EE509D5D9D6F5B -:10222A00EE509E599E6FEE509F599F6FEE50A059E7 -:10223A00A06FA90EE96E0B0EEA6EEE50A15DA16FBA -:10224A00EE50A259A26FEE50A359A36FEE50A459B3 -:10225A00A46F0001D90502E18D908B928DCB2BFBE7 -:10226A008ECB2CFB8FCB2DFB90CB2EFBFE0EDB50A7 -:10227A0009E089CB33FB8ACB34FB8BCB35FB8CCB88 -:10228A0036FB02D0F7EC1DF09DCB43FB9ECB44FB03 -:10229A009FCB45FBA0CB46FBA5CB3BFBA6CB3CFB90 -:1022AA00A7CB3DFBA8CB3EFB91CB2FFB92CB30FBC0 -:1022BA0093CB31FB94CB32FBFE0EDB5006E00B01D5 -:1022CA00376B386B396B3A6B02D000EC1EF0A1CB3E -:1022DA0047FBA2CB48FBA3CB49FBA4CB4AFBA9CB28 -:1022EA003FFBAACB40FBABCB41FBACCB42FBFE0E88 -:1022FA00DB5003E00B01400E02D00B01200E246FCD -:10230A001850145CFDE20EB005D0E5EC1AF001E3BA -:10231A00156A142A09AA4BD094EC20F092EC1BF00F -:10232A00A6EC1FF0C20E336E7C0E97EC1AF043CB6C -:10233A00E6FF44CBE6FF45CBE6FF46CBE6FF92EC51 -:10234A001BF0BD0E336E7C0E97EC1AF03BCBE6FF0A -:10235A003CCBE6FF3DCBE6FF3ECBE6FF92EC1BF023 -:10236A009BEC20F092EC1BF0B30E336E7C0EEEEC7D -:10237A001FF0AE0E336E7C0E97EC1AF047CBE6FFD9 -:10238A0048CBE6FF49CBE6FF4ACBE6FF92EC1BF0CF -:10239A00A90E336E7C0E97EC1AF03FCBE6FF40CBCA -:1023AA00E6FF41CBE6FF42CBE6FF6DEC21F0CCEC39 -:1023BA001BF0050EE15C02E2E16AE5529CEF1BF0BC -:1023CA007EEC1FF0950EE66E0B0E30EC21F0990EA6 -:1023DA00E66E0B0E2EEC1FF00B01835101E17BD050 -:1023EA00855186118711881102E10001978D00013C -:1023FA00975101E075D0D880FF0E0B018EEC1EF0CC -:10240A0004E2780E336E7C0E5CD0A1EC1EF002E67C -:10241A00CFEC1BF003E235EC1DF004D028EC1CF0E5 -:10242A00A4EC1BF0E3EC1BF002E66CEC1CF004E2FB -:10243A004C0E336E7C0E45D05DEC1BF004E21E0E92 -:10244A00336E7C0E3ED0CAEC1AF0E8AE02D02D34C0 -:10245A0002D07FEC1CF007E3B1EC1BF004E0FA0EAB -:10246A00336E7B0E2ED00B01A5EC1EF002E6D9ECE2 -:10247A001BF003E241EC1DF004D088EC1CF0A4EC44 -:10248A001BF0E3EC1BF002E66CEC1CF004E2CE0E4F -:10249A00336E7B0E16D05DEC1BF004E2A00E336E99 -:1024AA007B0E0FD0CAEC1AF0E8AE02D02D3402D05F -:1024BA007FEC1CF009E3B1EC1BF006E07C0E336EF6 -:1024CA007B0ED3EC20F009D01DEC1CF004E2AD6BBE -:1024DA00AE6BAF6BB06B8CDAE66A22EC29F0E55290 -:1024EA00040EE15C02E2E16AE5529CEF1BF09FEC0C -:1024FA001BF0050EE126010EDF6EDB6A020EDB6AB7 -:10250A00030EDB6A040EDB6A62EC1FF0010EE66E54 -:10251A00A50EE66E0B0E30EC21F0A90EE66E0B0E40 -:10252A00A0EC21F00B01835106E0A0EC1DF003E1C1 -:10253A000001978DA7D11850145CFDE2DF040AE16F -:10254A00F29E010162EC1EF003E1805101E1DF6AB3 -:10255A00F28EF4D71BC029F01CC02AF01DC02BF044 -:10256A001EC02CF096EC1EF00B01A525956F265087 -:10257A00A621966F2750A721976F2850A821986FF8 -:10258A001FC029F020C02AF021C02BF022C02CF055 -:10259A0096EC1EF00B01A925996F2650AA219A6F75 -:1025AA002750AB219B6F2850AC219C6F800E981549 -:1025BA0006E01BEC1EF0000E7EEC1EF002D01BECB7 -:1025CA001EF0800E9C1506E024EC1EF0000E86EC30 -:1025DA001EF002D024EC1EF0A035000EA01909E668 -:1025EA00D880FF0E9D55FF0E9E55FF0E9F55000E7B -:1025FA00A0550EE3A435000EA41909E6D880FF0EF3 -:10260A00A155FF0EA255FF0EA355000EA45504E2D4 -:10261A004E0E336E7B0E9DD0E7EC1EF0030EEBCF11 -:10262A00F3FFA451F318E8AE02D0F33408D0EE5009 -:10263A00A15DEE50A259EE50A359EE50A45901E300 -:10264A0080D046EC20F061EC21F004E21D0E336EDE -:10265A007B0E7FD0B9EC1CF00B01A419E8AE02D0B6 -:10266A00A43508D0A151295CA2512A58A3512B584C -:10267A00A4512C5801E2E8D0DDEC1EF001E1E4D0CF -:10268A004CEC20F00B01A1EC1EF002E6CFEC1BF0A3 -:10269A0006E2A5EC1EF002E6D9EC1BF01DE3800E63 -:1026AA00981506E0A5EC1EF002E6D9EC1BF009E34A -:1026BA00A1EC1EF002E6CFEC1BF008E2800E9C159E -:1026CA0005E088EC1CF09AEC1CF012D0800E9815EC -:1026DA000FE0800E9C150CE0010E99CBDBFF020E79 -:1026EA009ACBDBFF030E9BCBDBFF040E9CCBDBFFFD -:1026FA0095CB8DFB96CB8EFB97CB8FFB98CB90FB24 -:10270A00010EDBCF95FB020EDBCF96FB030EDBCF70 -:10271A0097FB040EDBCF98FB52EC20F00B018D5D8A -:10272A00956FEE508E59966FEE508F59976FEE5007 -:10273A009059986F996B9A6B9B6B9C6B13EC1DF07D -:10274A007DD04CEC20F061EC21F006E2EC0E336E09 -:10275A007A0ED3EC20F093D0B9EC1CF00B01A0193F -:10276A00E8AE02D0A03508D09D51295C9E512A5866 -:10277A009F512B58A0512C5867E3D8EC1EF064E007 -:10278A0046EC20F00B01A5EC1EF002E6D9EC1BF09A -:10279A0006E2A1EC1EF002E6CFEC1BF01DE3800E70 -:1027AA009C1506E0A1EC1EF002E6CFEC1BF009E353 -:1027BA00A5EC1EF002E6D9EC1BF008E2800E981593 -:1027CA0005E028EC1CF09AEC1CF012D0800E9C1547 -:1027DA000FE0800E98150CE0010E95CBDBFF020E80 -:1027EA0096CBDBFF030E97CBDBFF040E98CBDBFF08 -:1027FA0099CB91FB9ACB92FB9BCB93FB9CCB94FB03 -:10280A00010EDBCF99FB020EDBCF9AFB030EDBCF67 -:10281A009BFB040EDBCF9CFB52EC20F00B01915D7D -:10282A00996FEE5092599A6FEE5093599B6FEE50F2 -:10283A0094599C6FD8EC20F01CEC1DF041EC1CF074 -:10284A005AEC20F0A5EC1AF00A0E0B01855D000E79 -:10285A008659000E8759000E885905E20A0E856FBF -:10286A00866B876B886B09AA05D0DF0E336E7A0EEA -:10287A0034EC1FF00B01DEEC1CF0BAD8E66A22EC4D -:10288A0029F0E552050EE15C02E2E16AE5529CEFAD -:10289A001BF07EEC1FF09D0EE66E0B0E2AEC21F06B -:1028AA001DEC1CF002E2DEEC1CF0835107E08551BE -:1028BA0086118711881102E10001978DF1EC1EF053 -:1028CA000B019D51EE24956F9E51EE20966F9F51FC -:1028DA00EE20976FA051EE20986FF1EC1EF0EE50AB -:1028EA009D5D996FEE509E599A6FEE509F599B6F5E -:1028FA00EE50A0599C6FA1EC1EF002E6CFEC1BF043 -:10290A0003E235EC1DF004D028EC1CF0A4EC1BF01B -:10291A000B0183512AE0D880FF0E8EEC1EF004E2F0 -:10292A00780E336E7C0E52D0E3EC1BF002E66CECB0 -:10293A001CF004E24C0E336E7C0E48D05DEC1BF0AA -:10294A0004E21E0E336E7C0E41D0CAEC1AF0E8AED9 -:10295A0002D02D3402D07FEC1CF007E3B1EC1BF05F -:10296A0004E0FA0E336E7B0E31D00B01A5EC1EF09B -:10297A0002E6D9EC1BF003E241EC1DF004D088EC2E -:10298A001CF0A4EC1BF00B01835123E0E3EC1BF0D9 -:10299A0002E66CEC1CF004E2CE0E336E7B0E16D00F -:1029AA005DEC1BF004E2A00E336E7B0E0FD0CAEC76 -:1029BA001AF0E8AE02D02D3402D07FEC1CF009E305 -:1029CA00B1EC1BF006E07C0E336E7B0ED3EC20F0EC -:1029DA0005D00001975105E10BD8E66A22EC29F0EF -:1029EA00E552040EE15C02E2E16AE5529CEF1BF05B -:1029FA0080EC21F0D0EC1CF00EB093D109AA05D0DE -:102A0A00C90E336E7A0E34EC1FF01DEC1CF002E294 -:102A1A00DEEC1CF0ADCB2AFB96EC1DF026E19BEC1C -:102A2A001DF023E1010E246F85CB26FB86CB27FB05 -:102A3A0087CB28FB88CB29FB40EC21F025C026FB5D -:102A4A0026C027FB27C028FB28C029FBD880000EF8 -:102A5A000B012554000E2654190E2754000E285433 -:102A6A0001E355D1E2EC1EF052D1E2EC1EF0256BE7 -:102A7A000001D90502E18D908B920B01800E981509 -:102A8A0005E0800E2511256FDCEC1DF0800E9C15EB -:102A9A0005E0200E2511256FE5EC1DF009AA29D0C5 -:102AAA00E40E955D550E9659000E9759000E9859E9 -:102ABA0020E228EC1CF0FB0E2E6E020E2F6E306AFE -:102ACA00316A66EC47F00B018551255C8651265820 -:102ADA0087512758885128580CE29C0E336E7A0E7B -:102AEA001EEC21F0C4EC1BF00B0167EC1EF0D8ECD5 -:102AFA0020F096EC1DF063E0D8909851000A08E6A1 -:102B0A00FF0E955DFF0E9659010E9759000E9859C2 -:102B1A0024E2E9EC1BF02DEC1EF003E016EC1CF0AD -:102B2A00FDE163EC20F02DEC1EF003E016EC1CF046 -:102B3A00FDE1B0EC20F0F5AE02D036EC1EF0A8ECC8 -:102B4A001CF016E25EEC1DF003E016EC1CF0FDE151 -:102B5A0087EC1BF069EC1DF009D028EC1CF0CDECD9 -:102B6A001FF029EC1DF0FDE1B5EC1FF0DD52DD523E -:102B7A0074EC1DF005E26C0E336E7A0E97EC1FF0C2 -:102B8A00A0EC1DF008E196EC1DF005E0430E336E53 -:102B9A007A0EB6EC20F0A5EC1DF009E27FEC1DF0F0 -:102BAA0003E016EC1CF0FDE1C0EC1CF00AD0100E9C -:102BBA001F0B07E00B0129EC1DF0FDE102D067ECC9 -:102BCA001EF0A8EC1DF005E389698A698B697F0EFE -:102BDA008C6F89CB2BFB8ACB2CFB8BCB2DFB8CCB25 -:102BEA002EFBF7EC1DF0436B446B456B466B9BEC7D -:102BFA001DF062E0D8909C51000A08E6FF0E995D2C -:102C0A00FF0E9A59010E9B59000E9C5924E2E9ECD9 -:102C1A001BF03FEC1EF003E016EC1CF0FDE163EC48 -:102C2A0020F03FEC1EF003E016EC1CF0FDE1B0ECE6 -:102C3A0020F0F5AE02D036EC1EF0A8EC1CF016E23D -:102C4A005EEC1DF003E016EC1CF0FDE187EC1BF0D6 -:102C5A0069EC1DF009D088EC1CF0CDEC1FF029ECD2 -:102C6A001DF0FDE1B5EC1FF0DD52DD5274EC1DF0F4 -:102C7A0005E2130E336E7A0E97EC1FF0A0EC1DF0EE -:102C8A0008E19BEC1DF005E0EA0E336E790EB6EC16 -:102C9A0020F0A5EC1DF009E27FEC1DF003E016EC34 -:102CAA001CF0FDE1C0EC1CF007D0100E1F0B04E075 -:102CBA000B0129EC1DF0FDE1A8EC1DF005E3896983 -:102CCA008A698B697F0E8C6F89CB2FFB8ACB30FB8D -:102CDA008BCB31FB8CCB32FB00EC1EF0476B486B85 -:102CEA00496B4A6B100E246F09AA11D094EC20F09C -:102CFA0097EC1BF0A6EC1FF09BEC20F097EC1BF076 -:102D0A00AE0E336E7C0EEEEC1FF0C4EC1BF01850C6 -:102D1A00145CFDE20EB005D0E5EC1AF001E3156A89 -:102D2A00142A040EE15C02E2E16AE5529CEF1BF010 -:102D3A009FEC1BF0030E06EC20F0CCEC1EF00AEC24 -:102D4A0020F03CE1F29E100E0101805D06E0200EAB -:102D5A00805D03E0400E805D03E1DE52010EDD6E10 -:102D6A00145003E0DE52010EDD6E806B020EDB6A48 -:102D7A001C0EF36E020EDBCFF4FFF350F45C07E295 -:102D8A00020EDB50EAEC1CF0020EDB2AF1D7156AC0 -:102D9A00166A146ADF0409E1045003E18D808B820C -:102DAA0004D0040402E18C828982F28E67EC21F05D -:102DBA0084B102D0C4EC1BF0CCEC1BF0030EE15C36 -:102DCA0002E2E16AE5529CEF1BF00FEC20F05ACBCD -:102DDA0033F0346A356A366A33AE03D034683568FC -:102DEA00366833C0E6FF23EC20F097EC1BF00B01AA -:102DFA0084B102D0C4EC1BF0CCEF1BF09FEC1BF0AB -:102E0A00030E06EC20F08450040B08E18450020BF8 -:102E1A0005E18050400B02E1010E23D08450040BDF -:102E2A0009E08450020B06E18050400B03E1020ED8 -:102E3A00F36E19D08450040B08E18450020B05E0AC -:102E4A008050400B02E1040E0CD08450040B08E0C1 -:102E5A008450020B05E08050400B02E1080E01D0BD -:102E6A00100EF36E020EF3CFDBFF045008E184B0BC -:102E7A0003D0020EDB50DF6E82B210D009D00404F8 -:102E8A000DE183B203D0020EDB50DF6E80B206D0B2 -:102E9A00020EDB50E76E010EE7CFDBFFDFCF33F028 -:102EAA0013EC20F0E4EC1CF067EC21F084B102D0C2 -:102EBA00C4EC1BF0CCEC1BF0030EE15C02E2E16A0D -:102ECA00E5529CEF1BF09FEC1BF0020EE126DE6A36 -:102EDA00DD6A84EC21F0CCEC1EF0030E0AEC20F043 -:102EEA000FE10B015A0504E1F6EC1EF0E66A04D084 -:102EFA00F6EC1EF0010EE66E54EC1EF0CCEC1BF064 -:102F0A00020EE15C02E2E16AE5529CEF1BF07BEC07 -:102F1A0020F04DEC1DF071EC21F0030EFDDA53ECBC -:102F2A0021F0DDEC20F00001975124E1030EDB5083 -:102F3A00070802E24DEC1DF0DF50010802E2010E23 -:102F4A00DF6E030EDB50030F00018A5D07E0EDEC34 -:102F5A001CF0030EDB50030F00018A6F010EDBCF5A -:102F6A00E6FF020EDBCFE6FFDFCFE6FF54EC1EF0F2 -:102F7A00CCEC1BF0050EE15C02E2E16AE552D7D324 -:102F8A0080EC21F0E126FE0EDB040BE184C0DEFFBB -:102F9A0085C0DDFF020E86C0DBFF030E87C0DBFFA4 -:102FAA000AD082C0DEFF83C0DDFF020E88C0DBFFCD -:102FBA00030E89C0DBFF8986D5C0D1F0D6C0D2F016 -:102FCA00D7C0D3F0D8C0D4F0FC0EDBCFE6FFFD0E9D -:102FDA00DBCFE6FF020EDBCFE6FF030EDBCFE6FF19 -:102FEA008AC0E6FFF6EC1EF0BCEC20F0040EE15CB1 -:102FFA0002E2E16AE5529BD380EC21F0E12655EC2E -:10300A001FF0E76E020EE7CFDBFF000197512CE1BC -:10301A00020EDB5029E131EC1CF0010E7DDAE76E7D -:10302A00030EE7CFDBFF000197511EE1030EDB50D1 -:10303A001BE11850145CFDE2155052EC1FF0EE52E1 -:10304A00DFCFEFFF37EC1CF0270E95DB010EDBCF4D -:10305A00EFFF37EC1CF0080EEF6E152A1850155CBE -:10306A0001E3156A142A93DB040EE15C02E2E16AC9 -:10307A00E5525DD384EC21F0FE0E0B015B5DFF0E81 -:10308A005C59FF0E5D59FF0E5E5905E25B2B000E7F -:10309A005C235D235E23CCEF1BF084EC21F00B0153 -:1030AA005B515C115D115E1105E05B07000E5C5B14 -:1030BA005D5B5E5BCCEF1BF03DDB050EE12684EC2D -:1030CA0021F0D8EC1CF0070EDDEC20F0DB500BE110 -:1030DA00DFCF5BFB010EDBCF5CFB020EDBCF5DFBC0 -:1030EA00030EDBCF5EFB53DB050EE15C02E2E16A15 -:1030FA00E5521DD30FEC20F05BCBE6FF5CCBE6FF7D -:10310A005DCBE6FF5ECBE6FF0DDB0B0184B102D09F -:10311A0032EC1DF0CCEF1BF00DDB020E74EC21F04B -:10312A0071EC21F0010E0AEC20F00CE1010EDB50EB -:10313A001F0803E2DE521F0EDD6E99EC1EF0DFCF90 -:10314A00EFFF25DB020EE15C02E2E16AE552EFD213 -:10315A00F1DA020E06EC20F07FDB010E0AEC20F019 -:10316A0013E1010EDB501F0803E2DE521F0EDD6E73 -:10317A0099EC1EF0EFCF33F013EC20F00B0184B181 -:10318A0002D032EC1DF003DB020EE15C02E2E16ADE -:10319A00E552CDD20FEC20F00750336E346A356A0F -:1031AA00366AE66E23EC20F0BDDA0B0184B102D058 -:1031BA0032EC1DF007B00790CCEF1BF09DBCFED798 -:1031CA000FEC20F000C133F001C134F0D4EC1FF051 -:1031DA0016C133F017C134F07ADA9FDA0B0184B1E1 -:1031EA0002D032EC1DF0CCEF1BF0E9EC20F0D2D883 -:1031FA00DF6E0FEC20F00F0EDF14DF6E0B015A5159 -:10320A0003E0100EDF10DF6E07A003D0200EDF10E0 -:10321A00DF6E0001A75104E0400EDF10DF6EA76BDE -:10322A000EA003D0800EDF10DF6E020EE66EDFCF37 -:10323A0033F0346A4CDA32EC43F0376E050EE15E55 -:10324A00375032EC1DF007B0079030EF1DF07BECE1 -:10325A0020F0030EDB6A71EC21F0030EDDEC20F0A6 -:10326A0053EC21F00AEC20F001E08ED0D4DAFF0E04 -:10327A00D880EE54030EED5405E2010EDB68030E0E -:10328A00FBEC1EF0DF50010802E2010EDF6E030EB6 -:10329A00DB50010802E24DEC1DF0DF0409E1040EE7 -:1032AA00DB50030805E10B01806B020E816F06D02B -:1032BA00010EDBCF80FB020EDBCF81FBCAB415D037 -:1032CA00CB68FC0ECA140009CA6E9D920F01528186 -:1032DA005293F00EBA140C09BA6E3F0EBA140009D2 -:1032EA00BA6E0E010E0ECC6FCA84030EDB502AE1B1 -:1032FA00DF5023E080CB33F081CB34F0D8903432E6 -:10330A003332D890343233323350BB6E80CB35F0FF -:10331A0081CB36F0040ED89035363636E804FBE118 -:10332A00300E3516000E3616CF0EBA1400013510BF -:10333A00336E36C034F0E85003D0BB6ACF0EBA14ED -:10334A00BA6E21D01850145CFDE2155052EC1FF0F1 -:10335A002D0E11DA80CBEEFF81CBEDFF83DA020E60 -:10336A000ADAEE6AEE6AEE6AEE6A7CDA060E03DAC8 -:10337A00DFCFEFFF77DA040EEF6E152A1850155CCF -:10338A0001E3156A142A03DA050EE15C02E2E16A36 -:10339A00E552CDD180EC21F0E2DA030EDB6AF29E2F -:1033AA00010162EC1EF002E0010EDF6E805102E0C4 -:1033BA00010EDF6E145006E0010EDF6EF36E030E8F -:1033CA00F3CFDBFFDF5005E0A7DB03E0DE52010E9F -:1033DA00DD6EDF5006E05DEC1EF003E0010EFBEC53 -:1033EA001EF0F28E030EDBCFE6FF020EDB50E8245E -:1033FA00346E010EDB50040DF3CF33F0DF50080DAD -:10340A00F35033103410E552E710336E040EE15CCA -:10341A0002E2E16AE552E16E3350E1EF20F07BEC23 -:10342A0020F0030EDB6AB6DF71EC1EF0010EE66EC9 -:10343A00E66E04EC29F0E552E552040EDBB028DB17 -:10344A00040EDBA203D0010EFBEC1EF0040EDBA47B -:10345A0003D0DE52010EDD6E040EDBA602D0010E91 -:10346A00DF6EDFCF33F0346AD4EC1FF0010EDBCF0E -:10347A0033F0346AD4EC1FF0020EDBCF33F0346A37 -:10348A00D4EC1FF0030EDBCF33F0346A20D96DEC95 -:10349A0021F0050EE15C02E2E16AE55248D14AD91F -:1034AA00080EE1260FEC20F0F29E1BC0DFFF010E92 -:1034BA001CC0DBFF020E1DC0DBFF030E1EC0DBFFBC -:1034CA00040E1FC0DBFF050E20C0DBFF060E21C065 -:1034DA00DBFF070E22C0DBFFF28ED9CFE9FFFAEC41 -:1034EA001FF06DDAD950040FE96EFAEC1FF00B01E8 -:1034FA0084A145D94CD9080EE15C02E2E16AE552A1 -:10350A0016D1F29E2ADB010131DBF28E120084EC25 -:10351A0021F0F7DFCCEF1BF0E66E5EEC31F0E552FE -:10352A0030EF20F0346E356A33C0E6FFE66E35C000 -:10353A00E6FF15EC43F030EF20F016506CEF20F068 -:10354A0066EC47F025C033F026C034F027C035F0CA -:10355A0028C036F025C029F026C02AF027C02BF053 -:10356A0028C02CF089CB2EF08ACB2FF08BCB30F0F1 -:10357A008CCB31F0FEEC47F029C085FB2AC086FBD4 -:10358A002BC087FB2CC088FB120085CB33F086CB7F -:10359A0034F087CB35F088CB36F0C3EC20F075ECED -:1035AA001FF0FEEC47F029C033F02AC034F02BC0DC -:1035BA0035F02CC036F018EC20F036502D181200D9 -:1035CA00155052EC1FF024CBEEFF25CBEEFF26CB95 -:1035DA00EEFF27CBEEFF28CBEEFF29CBEEFF2ACB5F -:1035EA00EEFF2BCBEEFF2CCBEEFF2DCBEEFF2ECB3F -:1035FA00EEFF2FCBEEFF30CBEEFF31CBEEFF32CB1F -:10360A00EEFF33CBEEFF34CBEEFF35CBEEFF36CBFE -:10361A00EEFF37CBEEFF38CBEEFF39CBEEFF3ACBDE -:10362A00EEFF3BCBEEFF3CCBEEFF3DCBEEFF3ECBBE -:10363A00EEFF3FCBEEFF40CBEEFF41CBEEFF42CB9E -:10364A00EEFF43CBEEFF44CBEEFF45CBEEFF46CB7E -:10365A00EEFF47CBEEFF48CBEEFF49CBEEFF4ACB5E -:10366A00EEFF4BCBEEFF4CCBEEFF4DCBEEFF4ECB3E -:10367A00EEFF4FCBEEFF50CBEEFF51CBEEFF52CB1E -:10368A00EEFF152A1850155C1200EE20366E33C074 -:10369A00DFFF010E34C0DBFF020E35C0DBFF030E75 -:1036AA0036C0DBFF4EEC21F0D890EB50000A120036 -:1036BA0045EC21F0DFCF29F0010EDBCF2AF0020E14 -:1036CA00DBCF2BF0030EDBCF2CF069EF1FF0356A4E -:1036DA00366A33C0E6FF23EF20F0E66A04EC29F0ED -:1036EA00E552E55212004EEC21F0EECF33F0EECF68 -:1036FA0034F0EECF35F0EFCF36F0335034103510CA -:10370A00361012005AEC20F08DCB2EF08ECB2FF013 -:10371A008FCB30F090CB31F0120088EC43F0E552B9 -:10372A0030EF20F06CEC43F0E55230EF20F0E16E20 -:10373A00E1EF20F0D9CFE6FFE1CFD9FF12002AEC62 -:10374A0020F025C0DEFF26C0DEFF27C0DEFF28C02E -:10375A00DDFFDD52DD5212004EEC21F0EECF37F0E4 -:10376A00EECF38F0EECF39F0EFCF3AF037503810CD -:10377A0039103A101200E926000EEA221200020E4F -:10378A00E66EE5EF20F0136EE85009081200E66ACB -:10379A00E5EF20F0D880000E9555000E9655000EE4 -:1037AA009755000E98551200D880000E9955000EB4 -:1037BA009A55000E9B55000E9C55120018EC20F0ED -:1037CA002D34000E2D18120085CB8DFB86CB8EFB77 -:1037DA0087CB8FFB88CB90FB40EC21F025C08DFB7B -:1037EA0026C08EFB27C08FFB28C090FB0F0E1F0B35 -:1037FA001200000EEE5C000EEE58000EEE58000E9F -:10380A00EE58120029C089FB2AC08AFB2BC08BFB09 -:10381A002CC08CFB1200D950010FE96EDACFEAFFF7 -:10382A001200D8903336343635363636E80612006A -:10383A00D880030E0B01AD55000EAE55000EAF55E4 -:10384A00000EB055120095CB29F096CB2AF097CBF3 -:10385A002BF098CB2CF01200010EE66ED950010F16 -:10386A0080EF20F015506CEF20F00A50E96EEA6AFA -:10387A00D890E936EA361200E80E2E6E030E2F6E45 -:10388A00306A316A120097519F279851A0239951A3 -:10389A00A1239A51A2239F518727A0518823A1517E -:1038AA008923A2518A2334EF20F09B51A3279C51EC -:1038BA00A4239D51A5239E51A623A3518B27A4512E -:1038CA008C23A5518D23A6518E233DEF20F0D8805D -:1038DA00FF0E2A54FF0E2B54FF0E2C54000E2D54AB -:1038EA001200EECF82F1EECF83F1EECF84F1EFCF6B -:1038FA0085F112002A50335C2B5034582C5035581D -:10390A002D503658120099CB29F09ACB2AF09BCB2E -:10391A002BF09CCB2CF0120089CB29F08ACB2AF011 -:10392A008BCB2BF08CCB2CF012008FDB010E25C039 -:10393A00DBFF020E26C0DBFF030E27C0DBFF040EEF -:10394A0028C0DBFF120025C091FB26C092FB27C0CE -:10395A0093FB28C094FBD8801E0E0B01BAD374ECDB -:10396A0021F0020EDB6A1200BBDAC3EC20F0FEEC97 -:10397A0047F02C5012004EEC21F03350EE240B018C -:10398A00896F3450EE208A6F3550EE208B6F365097 -:10399A00EE208C6F1200E126DE6ADE6ADE6ADD6ADC -:1039AA00DD52DD521200E66AD9CFE6FFDACFE6FF32 -:1039BA001200030EAD6FAE6BAF6BB06B12002C0E24 -:1039CA00E66EB4EC25F0E552120067DAEF6A1200EF -:1039DA00000EE66EE66AE66EE66A8AC0E6FFE66E04 -:1039EA00E66ABCEF20F0EECF8BF1EECF8CF1EECF92 -:1039FA008DF1EFCF8EF112009DCB29F09ECB2AF0EC -:103A0A009FCB2BF0A0CB2CF01200A1CB29F0A2CB9C -:103A1A002AF0A3CB2BF0A4CB2CF012009DCB33F0D1 -:103A2A009ECB34F09FCB35F0A0CB36F01200A1CB61 -:103A3A0033F0A2CB34F0A3CB35F0A4CB36F012008E -:103A4A00A4EC21F09EEF47F0D89089378A378B375C -:103A5A008C37E8061200E552AFD3010EE66EB0D3FA -:103A6A0095CBDFFF010E96CBDBFF020E97CBDBFF78 -:103A7A00030E98CBDBFF120099CBDFFF010E9ACB26 -:103A8A00DBFF020E9BCBDBFF030E9CCBDBFF12009E -:103A9A00010EF36E030EF3CFDBFF1200A56BA66BCC -:103AAA00A76BA86BA96BAA6BAB6BAC6BDFCFE6FFFE -:103ABA001200100E1F0B91CB33F092CB34F093CB44 -:103ACA0035F094CB36F012009EEC47F029C0DEFFA9 -:103ADA002AC0DEFF2BC0DEFF2CC0DDFF1200D8801B -:103AEA00000E0B018955800E8A55000E8B55000E6B -:103AFA008C551200100E1F0B89CB33F08ACB34F091 -:103B0A008BCB35F08CCB36F012000A50EA6A690F7B -:103B1A00E96E000EEA2212008F5190119111921152 -:103B2A0012009551961197119811120099519A11F4 -:103B3A009B119C11120089518A118B118C11120050 -:103B4A00D8801E0EC6D2FF0E0B01895DFF0E8A5960 -:103B5A00FF0E8B597F0E8C5912001B6A1C6A1D6A54 -:103B6A001E6A1F6A206A216A226A1200AF6BB06B52 -:103B7A00B16BB26BB36BB46BB56BB66B1200EECFB5 -:103B8A009BF1EECF9CF1EECF9DF1EFCF9EF11200AB -:103B9A00EECF8FF1EECF90F1EECF91F1EFCF92F120 -:103BAA00120001DB996B9A6B9B6B9C6B1200000EE7 -:103BBA00956D961F9623971F9723981F9823120097 -:103BCA00000E996D9A1F9A239B1F9B239C1F9C236F -:103BDA0012003316346A356A366A33503410351097 -:103BEA003610120095CB33FB96CB34FB97CB35FBC3 -:103BFA0098CB36FB120099CB37FB9ACB38FB9BCB81 -:103C0A0039FB9CCB3AFB12002BCBE6FF2CCBE6FF11 -:103C1A002DCBE6FF2ECBE6FF12002FCBE6FF30CBF3 -:103C2A00E6FF31CBE6FF32CBE6FF120095CB9DFBD8 -:103C3A0096CB9EFB97CB9FFB98CBA0FB120099CB10 -:103C4A00A1FB9ACBA2FB9BCBA3FB9CCBA4FB1200B0 -:103C5A0095CB33F096CB34F097CB35F098CB36F042 -:103C6A001200000E256C261E2622271E2722281E39 -:103C7A002822120099CB33F09ACB34F09BCB35F043 -:103C8A009CCB36F01200B72B000EB823B923BA2307 -:103C9A0012008F07000E905B915B925B1200C5ECDD -:103CAA0017F0D9D1010EF36E040EF3CFDBFF120029 +:101C7A00000000000000000000000000948E829E18 +:101C8A000101010EBC6F05808A98939889969296F5 +:101C9A000101010EB16F046A0101010EB46FDF6A1E +:101CAA00200EDF5C09E2DF50EA6A580FE96E010E86 +:101CBA00EA22EF6ADF2AF4D70101B56BB66BB76B7C +:101CCA00B86B076A0101BE6B0101010EBD6F146A90 +:101CDA00156A166A010E186E050E196E1A6A938035 +:101CEA00F19E0880939681960B6A0C6A0D6A0E9093 +:101CFA009BEC1AF0E552E552E7CFD9FF1200B2EC9D +:101D0A001BF0030EC7EC1CF065EC1FF0E66AD95015 +:101D1A00010F91EC20F0030E1BEC20F001E0ABD098 +:101D2A00DF0420E1DFEC20F007E10101010EBC6FC6 +:101D3A00059011EC1DF00ED023EC1CF0010EEE18EC +:101D4A0005E1ED5003E10101BC6B03D00101010E75 +:101D5A00BC6F0580000EE66EE66AB4C1E6FF54EC7D +:101D6A001EF087D0020EDF5C2DE1DFEC20F008E1E7 +:101D7A00046A96909492959C959E9598959A1BD0F4 +:101D8A0023EC1CF0010EEE180CE1ED500AE1010EF5 +:101D9A0076EC1EF094949294949C929A95929292D4 +:101DAA0068D023EC1CF0020EEE1863E1ED5061E1FD +:101DBA00020E76EC1EF094849284948C928A958218 +:101DCA00928257D0040EDF5C07E1010EDBCF84F06C +:101DDA00020EDBCF85F04DD0050EDF5C07E1010E68 +:101DEA00DBCF82F0020EDBCF83F043D0080EDF5C3C +:101DFA000FE123EC1CF0040ED880EE54000EED54D3 +:101E0A0003E2040EC0EC1EF0010EDBCF7EF031D0EF +:101E1A00090EDF5C0FE123EC1CF0060ED880EE54AD +:101E2A00000EED5403E2060EC0EC1EF0010EDBCFED +:101E3A007FF01FD00A0EDF5C03E1C7EC1EF009D069 +:101E4A000B0EDF5C03E1C7EC1EF013D00C0EDF5C57 +:101E5A0007E1010EDBCF88F0020EDBCF89F009D053 +:101E6A000D0EDF5C06E1DFEC20F002E0088001D015 +:101E7A000890DFEC1BF0030EE15C02E2E16AE55236 +:101E8A00AFEF1BF010EC21F095EC21F03BEC21F0C8 +:101E9A00DF6E0001975123E10101BD5119E0C751DD +:101EAA00C811C911CA1103E1E8EC1EF003E0BAEC4B +:101EBA001DF00EE1CB51CC11CD11CE1103E1EDECA9 +:101ECA001EF003E0BFEC1DF003E10001978D07D07F +:101EDA0067EC1EF077EC1DF0E66A6CEC1EF054EF2E +:101EEA001DF010EC21F0DF0EE66E010E3BEC1FF048 +:101EFA0095EC21F01BEC21F02DE10101BD5123E00D +:101F0A00C751C811C911CA1108E1E8EC1EF005E170 +:101F1A00DF51E011E111E21103E0BAEC1DF013E127 +:101F2A00CB51CC11CD11CE1108E1EDEC1EF005E13B +:101F3A00DF51E011E111E21103E0BFEC1DF003E112 +:101F4A000001978D07D067EC1EF0DFCFE6FFE66A47 +:101F5A006CEC1EF054EF1DF028EC21F0DF0EE66E5B +:101F6A00010E3BEC1FF0CB0EE66E010E1BEC21F0CE +:101F7A0011E10101BD5106E0C4EC1DF003E10001CD +:101F8A00978D08D0E8EC1DF0DFCFE6FF010EE66E74 +:101F9A006CEC1EF054EF1DF028EC21F0CB0EE66E2F +:101FAA00010E3BEC21F0DF6E0001975111E10101B6 +:101FBA00BD5106E0C4EC1DF003E10001978D08D085 +:101FCA00E8EC1DF077EC1DF0010EE66E6CEC1EF0ED +:101FDA0054EF1DF0B2EC1BF0050EE3EC1CF00EB052 +:101FEA00F2D109B405D030EC1CF002E2F1EC1CF09D +:101FFA00FE0EDB5028E10101800ED2150FE0800EA3 +:10200A00CA1512E1000E86EC1EF0C76DC81FC82360 +:10201A00C91FC923CA1FCA237EEC1EF0800ED6151B +:10202A0012E0800ECE1503E00001978DCCD1000E90 +:10203A0096EC1EF0CB6DCC1FCC23CD1FCD23CE1F2B +:10204A00CE238EEC1EF001012A6BF2EC1EF025EC79 +:10205A001DF0020E49EC1DF03D500101C75D476EAF +:10206A003E50C859486E3F50C959496E4050CA59E6 +:10207A004A6EDFC13DF0E0C13EF0E1C13FF0E2C18E +:10208A0040F0060E49EC1DF047503D240101C76F90 +:10209A0048503E20C86F49503F20C96F4A504020DF +:1020AA00CA6F2EEC1DF0020E49EC1DF03D500101E5 +:1020BA00CB5D476E3E50CC59486E3F50CD59496E64 +:1020CA004050CE594A6EE3C13DF0E4C13EF0E5C14D +:1020DA003FF0E6C140F0060E49EC1DF047503D24A2 +:1020EA000101CB6F48503E20CC6F49503F20CD6F45 +:1020FA004A504020CE6F01012F6B09A42ED0FD0E4D +:10210A00DB500BE1100E2F6FE7C12BF1E8C12CF168 +:10211A00E9C12DF1EAC12EF187D08EEC1FF002E65B +:10212A0011EC1CF00FE38BEC1BF00EE1D1EC1FF06D +:10213A0002E611EC1CF006E38BEC1BF005E1800EC5 +:10214A00E21502E057EC1EF0040EDB5003E0010139 +:10215A002F856AD001012F8167D0E7C147F0010EB0 +:10216A00EEEC1DF01FE08EEC1FF002E611EC1CF005 +:10217A000FE38BEC1BF00EE1D1EC1FF002E611EC41 +:10218A001CF006E38BEC1BF005E1800EE21502E081 +:10219A0057EC1EF0040EDB5003E001012F8502D03C +:1021AA0001012F81E7C147F0020EEEEC1DF03CE081 +:1021BA00040EDB6A01EC1FF00101CB51EE24476EDD +:1021CA00CC51EE20486ECD51EE20496ECE515DECD9 +:1021DA001BF002E611EC1CF01DE38BEC1BF01CE17A +:1021EA00E30EE96E010EEA6EDB51EE24476EDC5116 +:1021FA00EE20486EDD51EE20496EDE515DEC1BF09B +:10220A0002E611EC1CF006E38BEC1BF005E1800EF4 +:10221A00E61502E057EC1EF0040EDB5003E0010164 +:10222A002F8702D001012F83FCEC1EF0EE50010132 +:10223A00D75DD76FEE50D859D86FEE50D959D96FAC +:10224A00EE50DA59DA6FE30EE96E010EEA6EEE50DD +:10225A00DB5DDB6FEE50DC59DC6FEE50DD59DD6F74 +:10226A00EE50DE59DE6F0001D90502E18D908B92A6 +:10227A00C7C130F1C8C131F1C9C132F1CAC133F1A4 +:10228A00FE0EDB5009E0C3C138F1C4C139F1C5C142 +:10229A003AF1C6C13BF102D0F7EC1DF0D7C148F1C3 +:1022AA00D8C149F1D9C14AF1DAC14BF1DFC140F1D4 +:1022BA00E0C141F1E1C142F1E2C143F1CBC134F1E4 +:1022CA00CCC135F1CDC136F1CEC137F1FE0EDB50AE +:1022DA0006E001013C6B3D6B3E6B3F6B02D000ECAC +:1022EA001EF0DBC14CF1DCC14DF1DDC14EF1DEC1A6 +:1022FA004FF1E3C144F1E4C145F1E5C146F1E6C15C +:10230A0047F1FE0EDB5003E00101400E02D001014D +:10231A00200E296F1850145CFDE20EB005D0F8ECBF +:10232A001AF001E3156A142A09AA4BD0A5EC20F089 +:10233A00A5EC1BF0B7EC1FF0DE0E476E7C0EAAEC84 +:10234A001AF048C1E6FF49C1E6FF4AC1E6FF4BC1A0 +:10235A00E6FFA5EC1BF0D90E476E7C0EAAEC1AF02C +:10236A0040C1E6FF41C1E6FF42C1E6FF43C1E6FFC5 +:10237A00A5EC1BF0ACEC20F0A5EC1BF0CF0E476EE1 +:10238A007C0EFFEC1FF0CA0E476E7C0EAAEC1AF008 +:10239A004CC1E6FF4DC1E6FF4EC1E6FF4FC1E6FF65 +:1023AA00A5EC1BF0C50E476E7C0EAAEC1AF044C1D0 +:1023BA00E6FF45C1E6FF46C1E6FF47C1E6FF7EEC00 +:1023CA0021F0DFEC1BF0050EE15C02E2E16AE55266 +:1023DA00AFEF1BF09EEC1FF0CF0EE66E010E41EC44 +:1023EA0021F0D30EE66E010E3EEC1FF00101BD5145 +:1023FA0001E17BD0BF51C011C111C21102E100013C +:10240A00978D0001975101E075D0D880FF0E010128 +:10241A009EEC1EF004E2940E476E7C0E5CD0B1EC8A +:10242A001EF002E6E2EC1BF003E259EC1DF004D0C8 +:10243A003BEC1CF0B7EC1BF0F6EC1BF002E67FEC71 +:10244A001CF004E2680E476E7C0E45D070EC1BF05F +:10245A0004E23A0E476E7C0E3ED0DDEC1AF0E8AE8E +:10246A0002D0413402D092EC1CF007E3C4EC1BF01A +:10247A0004E0160E476E7C0E2ED00101B5EC1EF05C +:10248A0002E6ECEC1BF003E265EC1DF004D09BECD9 +:10249A001CF0B7EC1BF0F6EC1BF002E67FEC1CF02C +:1024AA0004E2EA0E476E7B0E16D070EC1BF004E2D3 +:1024BA00BC0E476E7B0E0FD0DDEC1AF0E8AE02D0F0 +:1024CA00413402D092EC1CF009E3C4EC1BF006E0A4 +:1024DA00980E476E7B0EE4EC20F009D030EC1CF02D +:1024EA0004E2E76BE86BE96BEA6B8CDAE66A30ECDC +:1024FA0029F0E552040EE15C02E2E16AE552AFEF2F +:10250A001BF0B2EC1BF0050EE126010EDF6EDB6A52 +:10251A00020EDB6A030EDB6A040EDB6A72EC1FF042 +:10252A00010EE66EDF0EE66E010E41EC21F0E30EBF +:10253A00E66E010EAEEC21F00101BD5106E0C4ECDD +:10254A001DF003E10001978DA7D11850145CFDE23C +:10255A00DF040AE1F29E010162EC1EF003E1805100 +:10256A0001E1DF6AF28EF4D71BC03DF01CC03EF0D9 +:10257A001DC03FF01EC040F0A6EC1EF00101DF2591 +:10258A00CF6F3A50E021D06F3B50E121D16F3C50E0 +:10259A00E221D26F1FC03DF020C03EF021C03FF0C3 +:1025AA0022C040F0A6EC1EF00101E325D36F3A5099 +:1025BA00E421D46F3B50E521D56F3C50E621D66F1C +:1025CA00800ED21506E01BEC1EF0000E7EEC1EF00B +:1025DA0002D01BEC1EF0800ED61506E024EC1EF08D +:1025EA00000E8EEC1EF002D024EC1EF0DA35000E3E +:1025FA00DA1909E6D880FF0ED755FF0ED855FF0E17 +:10260A00D955000EDA550EE3DE35000EDE1909E65D +:10261A00D880FF0EDB55FF0EDC55FF0EDD55000E90 +:10262A00DE5504E26A0E476E7B0E9DD0F7EC1EF073 +:10263A00030EEBCFF3FFDE51F318E8AE02D0F3340A +:10264A0008D0EE50DB5DEE50DC59EE50DD59EE500D +:10265A00DE5901E380D057EC20F072EC21F004E25D +:10266A00390E476E7B0E7FD0CCEC1CF00101DE19CF +:10267A00E8AE02D0DE3508D0DB513D5CDC513E5875 +:10268A00DD513F58DE51405801E2E8D0EDEC1EF032 +:10269A0001E1E4D05DEC20F00101B1EC1EF002E6AC +:1026AA00E2EC1BF006E2B5EC1EF002E6ECEC1BF0E5 +:1026BA001DE3800ED21506E0B5EC1EF002E6ECEC46 +:1026CA001BF009E3B1EC1EF002E6E2EC1BF008E2B3 +:1026DA00800ED61505E09BEC1CF0ADEC1CF012D078 +:1026EA00800ED2150FE0800ED6150CE0010ED3C174 +:1026FA00DBFF020ED4C1DBFF030ED5C1DBFF040EE4 +:10270A00D6C1DBFFCFC1C7F1D0C1C8F1D1C1C9F170 +:10271A00D2C1CAF1010EDBCFCFF1020EDBCFD0F16D +:10272A00030EDBCFD1F1040EDBCFD2F163EC20F044 +:10273A000101C75DCF6FEE50C859D06FEE50C9592D +:10274A00D16FEE50CA59D26FD36BD46BD56BD66B9F +:10275A0037EC1DF07DD05DEC20F072EC21F006E242 +:10276A00080E476E7B0EE4EC20F093D0CCEC1CF004 +:10277A000101DA19E8AE02D0DA3508D0D7513D5C4A +:10278A00D8513E58D9513F58DA51405867E3E8ECDE +:10279A001EF064E057EC20F00101B5EC1EF002E6F1 +:1027AA00ECEC1BF006E2B1EC1EF002E6E2EC1BF0E8 +:1027BA001DE3800ED61506E0B1EC1EF002E6E2EC4F +:1027CA001BF009E3B5EC1EF002E6ECEC1BF008E2A4 +:1027DA00800ED21505E03BEC1CF0ADEC1CF012D0DB +:1027EA00800ED6150FE0800ED2150CE0010ECFC177 +:1027FA00DBFF020ED0C1DBFF030ED1C1DBFF040EEB +:10280A00D2C1DBFFD3C1CBF1D4C1CCF1D5C1CDF15B +:10281A00D6C1CEF1010EDBCFD3F1020EDBCFD4F15C +:10282A00030EDBCFD5F1040EDBCFD6F163EC20F03B +:10283A000101CB5DD36FEE50CC59D46FEE50CD5918 +:10284A00D56FEE50CE59D66FE9EC20F040EC1DF072 +:10285A0054EC1CF06BEC20F0B8EC1AF00A0E0101F3 +:10286A00BF5D000EC059000EC159000EC25905E2E3 +:10287A000A0EBF6FC06BC16BC26B09AA05D0FB0EF3 +:10288A00476E7A0E44EC1FF00101F1EC1CF0BAD845 +:10289A00E66A30EC29F0E552050EE15C02E2E16AF3 +:1028AA00E552AFEF1BF09EEC1FF0D70EE66E010E5D +:1028BA003BEC21F030EC1CF002E2F1EC1CF0BD51D3 +:1028CA0007E0BF51C011C111C21102E10001978D89 +:1028DA0001EC1FF00101D751EE24CF6FD851EE2041 +:1028EA00D06FD951EE20D16FDA51EE20D26F01ECC0 +:1028FA001FF0EE50D75DD36FEE50D859D46FEE501B +:10290A00D959D56FEE50DA59D66FB1EC1EF002E6FE +:10291A00E2EC1BF003E259EC1DF004D03BEC1CF096 +:10292A00B7EC1BF00101BD512AE0D880FF0E9EECE6 +:10293A001EF004E2940E476E7C0E52D0F6EC1BF0A9 +:10294A0002E67FEC1CF004E2680E476E7C0E48D06B +:10295A0070EC1BF004E23A0E476E7C0E41D0DDECBF +:10296A001AF0E8AE02D0413402D092EC1CF007E330 +:10297A00C4EC1BF004E0160E476E7C0E31D0010148 +:10298A00B5EC1EF002E6ECEC1BF003E265EC1DF080 +:10299A0004D09BEC1CF0B7EC1BF00101BD5123E005 +:1029AA00F6EC1BF002E67FEC1CF004E2EA0E476E3E +:1029BA007B0E16D070EC1BF004E2BC0E476E7B0E49 +:1029CA000FD0DDEC1AF0E8AE02D0413402D092EC1E +:1029DA001CF009E3C4EC1BF006E0980E476E7B0E70 +:1029EA00E4EC20F005D00001975105E10BD8E66A26 +:1029FA0030EC29F0E552040EE15C02E2E16AE552AC +:102A0A00AFEF1BF08EEC21F0E3EC1CF00EB09ED180 +:102A1A0009AA05D0E50E476E7A0E44EC1FF030EC99 +:102A2A001CF002E2F1EC1CF0E7C12FF1BAEC1DF048 +:102A3A0027E1BFEC1DF024E10101010E296FBFC19E +:102A4A002BF1C0C12CF1C1C12DF1C2C12EF151EC43 +:102A5A0021F039C02BF13AC02CF13BC02DF13CC01A +:102A6A002EF1D880000E01013954000E3A54190E85 +:102A7A003B54000E3C5401E35FD1F2EC1EF05CD1F2 +:102A8A000101F2EC1EF02A6B0001D90502E18D90DA +:102A9A008B920101800ED21508E0800E01012A11E5 +:102AAA002A6F000E010186EC1EF0800ED61508E092 +:102ABA00200E01012A112A6F000E010196EC1EF068 +:102ACA0009AA29D0E40ECF5D550ED059000ED1596E +:102ADA00000ED25920E23BEC1CF0FB0E426E020EB5 +:102AEA00436E446A456A74EC47F00101BF51395C90 +:102AFA00C0513A58C1513B58C2513C580CE2B80E29 +:102B0A00476E7A0E2FEC21F0D7EC1BF0010167EC2F +:102B1A001EF0E9EC20F0BAEC1DF063E0D890D25137 +:102B2A00000A08E6FF0ECF5DFF0ED059010ED159FB +:102B3A00000ED25924E2FCEC1BF02DEC1EF003E04F +:102B4A0029EC1CF0FDE174EC20F02DEC1EF003E002 +:102B5A0029EC1CF0FDE1C1EC20F0F5AE02D036EC18 +:102B6A001EF0BBEC1CF016E282EC1DF003E029EC2F +:102B7A001CF0FDE19AEC1BF08DEC1DF009D03BEC4A +:102B8A001CF0DEEC1FF04DEC1DF0FDE1C6EC1FF071 +:102B9A00DD52DD5298EC1DF005E2880E476E7A0E82 +:102BAA00A8EC1FF0C4EC1DF008E1BAEC1DF005E03A +:102BBA005F0E476E7A0EC7EC20F0C9EC1DF009E2F1 +:102BCA00A3EC1DF003E029EC1CF0FDE1D3EC1CF0B2 +:102BDA000AD0100E1F0B07E001014DEC1DF0FDE1BC +:102BEA0002D067EC1EF0CCEC1DF005E3C369C469A2 +:102BFA00C5697F0EC66FC3C130F1C4C131F1C5C109 +:102C0A0032F1C6C133F1F7EC1DF00101486B496B93 +:102C1A004A6B4B6B0101BFEC1DF062E0D890D651B4 +:102C2A00000A08E6FF0ED35DFF0ED459010ED559EE +:102C3A00000ED65924E2FCEC1BF03FEC1EF003E038 +:102C4A0029EC1CF0FDE174EC20F03FEC1EF003E0EF +:102C5A0029EC1CF0FDE1C1EC20F0F5AE02D036EC17 +:102C6A001EF0BBEC1CF016E282EC1DF003E029EC2E +:102C7A001CF0FDE19AEC1BF08DEC1DF009D09BECE9 +:102C8A001CF0DEEC1FF04DEC1DF0FDE1C6EC1FF070 +:102C9A00DD52DD5298EC1DF005E22F0E476E7A0EDA +:102CAA00A8EC1FF0C4EC1DF008E1BFEC1DF005E034 +:102CBA00060E476E7A0EC7EC20F0C9EC1DF009E249 +:102CCA00A3EC1DF003E029EC1CF0FDE1D3EC1CF0B1 +:102CDA0007D0100E1F0B04E001014DEC1DF0FDE1C1 +:102CEA00CCEC1DF005E3C369C469C5697F0EC66FE4 +:102CFA00C3C134F1C4C135F1C5C136F1C6C137F11A +:102D0A0000EC1EF001014C6B4D6B4E6B4F6B100EBD +:102D1A00296F09AA11D0A5EC20F0AAEC1BF0B7EC98 +:102D2A001FF0ACEC20F0AAEC1BF0CA0E476E7C0E2A +:102D3A00FFEC1FF0D7EC1BF01850145CFDE20EB04C +:102D4A0005D0F8EC1AF001E3156A142A040EE15CC6 +:102D5A0002E2E16AE552AFEF1BF0B2EC1BF0030EA0 +:102D6A0017EC20F0DCEC1EF01BEC20F03CE1F29EAC +:102D7A00100E0101805D06E0200E805D03E0400E2A +:102D8A00805D03E1DE52010EDD6E145003E0DE5277 +:102D9A00010EDD6E806B020EDB6A200EF36E020EF0 +:102DAA00DBCFF4FFF350F45C07E2020EDB500EECCB +:102DBA001DF0020EDB2AF1D7156A166A146ADF04BF +:102DCA0009E1045003E18D808B8204D0040402E1FE +:102DDA008C828982F28E78EC21F0BEB102D0D7ECD7 +:102DEA001BF0DFEC1BF0030EE15C02E2E16AE55244 +:102DFA00AFEF1BF020EC20F0B4C147F0486A496AF3 +:102E0A004A6A47AE03D0486849684A6847C0E6FF3D +:102E1A0034EC20F0AAEC1BF00101BEB102D0D7ECD1 +:102E2A001BF0DFEF1BF0B2EC1BF0030E17EC20F0E7 +:102E3A008450040B08E18450020B05E18050400BDA +:102E4A0002E1010E23D08450040B09E08450020BE6 +:102E5A0006E18050400B03E1020EF36E19D0845054 +:102E6A00040B08E18450020B05E08050400B02E19C +:102E7A00040E0CD08450040B08E08450020B05E0C9 +:102E8A008050400B02E1080E01D0100EF36E020EC4 +:102E9A00F3CFDBFF045008E184B003D0020EDB500D +:102EAA00DF6E82B210D009D004040DE183B203D0E0 +:102EBA00020EDB50DF6E80B206D0020EDB50E76EE8 +:102ECA00010EE7CFDBFFDFCF47F024EC20F0F7EC71 +:102EDA001CF078EC21F0BEB102D0D7EC1BF0DFEC8D +:102EEA001BF0030EE15C02E2E16AE552AFEF1BF070 +:102EFA00B2EC1BF0020EE126DE6ADD6A92EC21F0EA +:102F0A00DCEC1EF0030E1BEC20F00FE10101B4050E +:102F1A0004E106EC1FF0E66A04D006EC1FF0010E8D +:102F2A00E66E54EC1EF0DFEC1BF0020EE15C02E2EE +:102F3A00E16AE552AFEF1BF08CEC20F071EC1DF06A +:102F4A0082EC21F0030EFBDA64EC21F0EEEC20F0C7 +:102F5A000001975124E1030EDB50070802E271ECED +:102F6A001DF0DF50010802E2010EDF6E030EDB5096 +:102F7A00030F00018A5D07E011EC1DF0030EDB5020 +:102F8A00030F00018A6F010EDBCFE6FF020EDBCFD3 +:102F9A00E6FFDFCFE6FF54EC1EF0DFEC1BF0050E78 +:102FAA00E15C02E2E16AE552D5D38EEC21F0E1263A +:102FBA00FE0EDB040BE184C0DEFF85C0DDFF020EDE +:102FCA0086C0DBFF030E87C0DBFF0AD082C0DEFFAC +:102FDA0083C0DDFF020E88C0DBFF030E89C0DBFF62 +:102FEA008986D5C0D1F0D6C0D2F0D7C0D3F0D8C028 +:102FFA00D4F0FC0EDBCFE6FFFD0EDBCFE6FF020EC0 +:10300A00DBCFE6FF030EDBCFE6FF8AC0E6FF06EC66 +:10301A001FF0CDEC20F0040EE15C02E2E16AE55219 +:10302A0099D38EEC21F0E12665EC1FF0E76E020ED3 +:10303A00E7CFDBFF000197512CE1020EDB5029E1BB +:10304A0044EC1CF0010E7BDAE76E030EE7CFDBFFE0 +:10305A00000197511EE1030EDB501BE11850145C6E +:10306A00FDE2155062EC1FF0EE52DFCFEFFF4AECA3 +:10307A001CF0270E93DB010EDBCFEFFF4AEC1CF0AE +:10308A00080EEF6E152A1850155C01E3156A142A0A +:10309A0091DB040EE15C02E2E16AE5525BD392EC59 +:1030AA0021F0FE0E0101B55DFF0EB659FF0EB759AC +:1030BA00FF0EB85905E2B52B000EB623B723B82385 +:1030CA00DFEF1BF092EC21F00101B551B611B711F7 +:1030DA00B81105E0B507000EB65BB75BB85BDFEF6A +:1030EA001BF03BDB050EE12692EC21F0EBEC1CF029 +:1030FA00070EEEEC20F0DB500BE1DFCFB5F1010E4D +:10310A00DBCFB6F1020EDBCFB7F1030EDBCFB8F19E +:10311A0051DB050EE15C02E2E16AE5521BD320ECC9 +:10312A0020F0B5C1E6FFB6C1E6FFB7C1E6FFB8C1F8 +:10313A00E6FF0BDB0101BEB102D056EC1DF0DFEF5A +:10314A001BF00BDB020E85EC21F082EC21F0010E64 +:10315A001BEC20F00CE1010EDB501F0803E2DE52EB +:10316A001F0EDD6EA9EC1EF0DFCFEFFF23DB020E90 +:10317A00E15C02E2E16AE552EDD2EFDA020E17EC07 +:10318A0020F07DDB010E1BEC20F013E1010EDB5079 +:10319A001F0803E2DE521F0EDD6EA9EC1EF0EFCF10 +:1031AA0047F024EC20F00101BEB102D056EC1DF02C +:1031BA0001DB020EE15C02E2E16AE552CBD220ECCD +:1031CA0020F00750476E486A496A4A6AE66E34EC4C +:1031DA0020F0BBDA0101BEB102D056EC1DF007B0F7 +:1031EA000790DFEF1BF09DBCFED720EC20F000C15A +:1031FA0047F001C148F0E5EC1FF016C147F017C1CE +:10320A0048F078DA9DDA0101BEB102D056EC1DF021 +:10321A00DFEF1BF0FAEC20F0D2D8DF6E20EC20F0C2 +:10322A000F0EDF14DF6E0101B45103E0100EDF1040 +:10323A00DF6E07A003D0200EDF10DF6E0001A7515A +:10324A0004E0400EDF10DF6EA76B0EA003D0800EE5 +:10325A00DF10DF6E020EE66EDFCF47F0486A4ADA09 +:10326A0040EC43F04B6E050EE15E4B5056EC1DF000 +:10327A0007B0079054EF1DF08CEC20F0030EDB6AC8 +:10328A0082EC21F0030EEEEC20F064EC21F01BEC52 +:10329A0020F001E08ED0D2DAFF0ED880EE54030E71 +:1032AA00ED5405E2010EDB68030E0BEC1FF0DF5054 +:1032BA00010802E2010EDF6E030EDB50010802E292 +:1032CA0071EC1DF0DF0409E1040EDB50030805E18F +:1032DA000101BA6B020EBB6F06D0010EDBCFBAF149 +:1032EA00020EDBCFBBF1CAB415D0CB68FC0ECA14F0 +:1032FA000009CA6E9D920F0152815293F00EBA14C0 +:10330A000C09BA6E3F0EBA140009BA6E0E010E0EFF +:10331A00CC6FCA84030EDB502AE1DF5023E0BAC126 +:10332A0047F0BBC148F0D89048324732D89048326B +:10333A0047324750BB6EBAC149F0BBC14AF0040ECE +:10334A00D89049364A36E804FBE1300E4916000E99 +:10335A004A16CF0EBA1400014910476E4AC048F007 +:10336A00E85003D0BB6ACF0EBA14BA6E21D01850F7 +:10337A00145CFDE2155062EC1FF02D0E0FDABAC193 +:10338A00EEFFBBC1EDFF81DA020E08DAEE6AEE6AE1 +:10339A00EE6AEE6A7ADA060E01DADFCFEFFF75DA45 +:1033AA00040EEF6E152A1850155C01E3156A142AEB +:1033BA0001DA050EE15C02E2E16AE552CBD18EEC5C +:1033CA0021F0E0DA030EDB6AF29E010162EC1EF0E4 +:1033DA0002E0010EDF6E805102E0010EDF6E145032 +:1033EA0006E0010EDF6EF36E030EF3CFDBFFDF5054 +:1033FA0005E0B6DB03E0DE52010EDD6EDF5006E0CB +:10340A005DEC1EF003E0010E0BEC1FF0F28E030ED2 +:10341A00DBCFE6FF020EDB50E824486E010EDB50DC +:10342A00040DF3CF47F0DF50080DF3504710481052 +:10343A00E552E710476E040EE15C02E2E16AE552EA +:10344A00E16E4750F2EF20F08CEC20F0030EDB6ABD +:10345A00B6DF71EC1EF0010EE66EE66E12EC29F094 +:10346A00E552E552040EDBB037DB040EDBA203D0D3 +:10347A00010E0BEC1FF0040EDBA403D0DE52010E8A +:10348A00DD6E040EDBA602D0010EDF6EDFCF47F041 +:10349A00486AE5EC1FF0010EDBCF47F0486AE5EC1D +:1034AA001FF0020EDBCF47F0486AE5EC1FF0030E6F +:1034BA00DBCF47F0486A1ED97EEC21F0050EE15CAD +:1034CA0002E2E16AE55246D148D9080EE12620EC2B +:1034DA0020F0F29E1BC0DFFF010E1CC0DBFF020EB4 +:1034EA001DC0DBFF030E1EC0DBFF040E1FC0DBFF87 +:1034FA00050E20C0DBFF060E21C0DBFF070E22C02F +:10350A00DBFFF28ED9CFE9FF0BEC20F06BDAD95052 +:10351A00040FE96E0BEC20F00101BEA143D94AD990 +:10352A00080EE15C02E2E16AE55214D1F29E60DA29 +:10353A00F28E120092EC21F0F9DFDFEF1BF0E66E5B +:10354A006CEC31F0E55241EF20F0486E496A47C011 +:10355A00E6FFE66E49C0E6FF23EC43F041EF20F0B8 +:10356A0016507DEF20F074EC47F039C047F03AC0AE +:10357A0048F03BC049F03CC04AF039C03DF03AC07F +:10358A003EF03BC03FF03CC040F0C3C142F0C4C172 +:10359A0043F0C5C144F0C6C145F00CEC48F03DC04B +:1035AA00BFF13EC0C0F13FC0C1F140C0C2F112003C +:1035BA00BFC147F0C0C148F0C1C149F0C2C14AF019 +:1035CA00D4EC20F085EC1FF00CEC48F03DC047F03D +:1035DA003EC048F03FC049F040C04AF029EC20F014 +:1035EA004A5041181200155062EC1FF029C1EEFF33 +:1035FA002AC1EEFF2BC1EEFF2CC1EEFF2DC1EEFF5B +:10360A002EC1EEFF2FC1EEFF30C1EEFF31C1EEFF3A +:10361A0032C1EEFF33C1EEFF34C1EEFF35C1EEFF1A +:10362A0036C1EEFF37C1EEFF38C1EEFF39C1EEFFFA +:10363A003AC1EEFF3BC1EEFF3CC1EEFF3DC1EEFFDA +:10364A003EC1EEFF3FC1EEFF40C1EEFF41C1EEFFBA +:10365A0042C1EEFF43C1EEFF44C1EEFF45C1EEFF9A +:10366A0046C1EEFF47C1EEFF48C1EEFF49C1EEFF7A +:10367A004AC1EEFF4BC1EEFF4CC1EEFF4DC1EEFF5A +:10368A004EC1EEFF4FC1EEFF50C1EEFF51C1EEFF3A +:10369A0052C1EEFF53C1EEFF54C1EEFF55C1EEFF1A +:1036AA0056C1EEFF57C1EEFF152A1850155C1200DD +:1036BA00EE204A6E47C0DFFF010E48C0DBFF020E54 +:1036CA0049C0DBFF030E4AC0DBFF5FEC21F0D89054 +:1036DA00EB50000A120056EC21F0DFCF3DF0010E4C +:1036EA00DBCF3EF0020EDBCF3FF0030EDBCF40F024 +:1036FA0079EF1FF0496A4A6A47C0E6FF34EF20F0C3 +:10370A00E66A12EC29F0E552E55212005FEC21F06C +:10371A00EECF47F0EECF48F0EECF49F0EFCF4AF0C8 +:10372A004750481049104A1012006BEC20F0C7C1EC +:10373A0042F0C8C143F0C9C144F0CAC145F0120001 +:10374A0096EC43F0E55241EF20F07AEC43F0E55273 +:10375A0041EF20F0E16EF2EF20F0D9CFE6FFE1CFA2 +:10376A00D9FF12003BEC20F039C0DEFF3AC0DEFF81 +:10377A003BC0DEFF3CC0DDFFDD52DD5212005FECD4 +:10378A0021F0EECF4BF0EECF4CF0EECF4DF0EFCF75 +:10379A004EF04B504C104D104E101200E926000E00 +:1037AA00EA221200020EE66EF6EF20F0136EE850DF +:1037BA0009081200E66AF6EF20F0D880000ECF550D +:1037CA00000ED055000ED155000ED2551200D880E9 +:1037DA00000ED355000ED455000ED555000ED65501 +:1037EA00120029EC20F04134000E41181200BFC12A +:1037FA00C7F1C0C1C8F1C1C1C9F1C2C1CAF151EC16 +:10380A0021F039C0C7F13AC0C8F13BC0C9F13CC088 +:10381A00CAF10F0E1F0B1200000EEE5C000EEE58DE +:10382A00000EEE58000EEE5812003DC0C3F13EC025 +:10383A00C4F13FC0C5F140C0C6F11200D950010F12 +:10384A00E96EDACFEAFF1200D89047364836493691 +:10385A004A36E8061200D880030E0101E755000E29 +:10386A00E855000EE955000EEA551200CFC13DF0A9 +:10387A00D0C13EF0D1C13FF0D2C140F01200010EDA +:10388A00E66ED950010F91EF20F015507DEF20F030 +:10389A000A50E96EEA6AD890E936EA361200E80E6A +:1038AA00426E030E436E446A456A120097519F277F +:1038BA009851A0239951A1239A51A2239F51872756 +:1038CA00A0518823A1518923A2518A2345EF20F0D0 +:1038DA009B51A3279C51A4239D51A5239E51A62306 +:1038EA00A3518B27A4518C23A5518D23A6518E2336 +:1038FA004EEF20F0D880FF0E3E54FF0E3F54FF0ECD +:10390A004054000E41541200EECF82F1EECF83F103 +:10391A00EECF84F1EFCF85F112003E50475C3F5065 +:10392A0048584050495841504A581200D3C13DF0B6 +:10393A00D4C13EF0D5C13FF0D6C140F01200C3C198 +:10394A003DF0C4C13EF0C5C13FF0C6C140F012000F +:10395A008DDB010E39C0DBFF020E3AC0DBFF030E1E +:10396A003BC0DBFF040E3CC0DBFF120039C0CBF1C9 +:10397A003AC0CCF13BC0CDF13CC0CEF1D8801E0E8E +:10398A000101B8D385EC21F0020EDB6A1200B8DA25 +:10399A00D4EC20F00CEC48F0405012005FEC21F01F +:1039AA004750EE240101C36F4850EE20C46F4950BE +:1039BA00EE20C56F4A50EE20C66F1200E126DE6A7D +:1039CA00DE6ADE6ADD6ADD52DD521200E66AD9CFAE +:1039DA00E6FFDACFE6FF1200030EE76FE86BE96B4A +:1039EA00EA6B12002C0EE66EC2EC25F0E5521200CC +:1039FA001B6A1C6A1D6A1E6A1F6A206A216A226A79 +:103A0A00236A246A256A266A276A286A296A2A6A28 +:103A1A00120053DAEF6A1200000EE66EE66AE66EEC +:103A2A00E66A8AC0E6FFE66EE66ACDEF20F0EECFE0 +:103A3A008BF1EECF8CF1EECF8DF1EFCF8EF112003C +:103A4A00D7C13DF0D8C13EF0D9C13FF0DAC140F04C +:103A5A001200DBC13DF0DCC13EF0DDC13FF0DEC14A +:103A6A0040F01200D7C147F0D8C148F0D9C149F097 +:103A7A00DAC14AF01200DBC147F0DCC148F0DDC10F +:103A8A0049F0DEC14AF01200B2EC21F0ACEF47F087 +:103A9A00D890C337C437C537C637E8061200E5528F +:103AAA009CD3010EE66E9DD3CFC1DFFF010ED0C1BC +:103ABA00DBFF020ED1C1DBFF030ED2C1DBFF120016 +:103ACA00D3C1DFFF010ED4C1DBFF020ED5C1DBFF7C +:103ADA00030ED6C1DBFF1200010EF36E030EF3CF05 +:103AEA00DBFF1200DF6BE06BE16BE26BE36BE46B15 +:103AFA00E56BE66BDFCFE6FF1200100E1F0BCBC1A2 +:103B0A0047F0CCC148F0CDC149F0CEC14AF012000D +:103B1A00ACEC47F03DC0DEFF3EC0DEFF3FC0DEFF3B +:103B2A0040C0DDFF1200D880000E0101C355800E8F +:103B3A00C455000EC555000EC6551200100E1F0BB7 +:103B4A00C3C147F0C4C148F0C5C149F0C6C14AF073 +:103B5A0012000A50EA6A690FE96E000EEA221200A0 +:103B6A008F519011911192111200CF51D011D11190 +:103B7A00D2111200D351D411D511D6111200C3514A +:103B8A00C411C511C6111200D8801E0EB3D2FF0E81 +:103B9A000101C35DFF0EC459FF0EC5597F0EC659F8 +:103BAA001200EECF9BF1EECF9CF1EECF9DF1EFCF5D +:103BBA009EF11200EECF8FF1EECF90F1EECF91F1A0 +:103BCA00EFCF92F1120000DBD36BD46BD56BD66BBF +:103BDA0012004716486A496A4A6A4750481049100B +:103BEA004A101200CFC138F1D0C139F1D1C13AF12E +:103BFA00D2C13BF11200D3C13CF1D4C13DF1D5C1D0 +:103C0A003EF1D6C13FF1120030C1E6FF31C1E6FFF5 +:103C1A0032C1E6FF33C1E6FF120034C1E6FF35C107 +:103C2A00E6FF36C1E6FF37C1E6FF1200CFC1D7F182 +:103C3A00D0C1D8F1D1C1D9F1D2C1DAF11200D3C1C0 +:103C4A00DBF1D4C1DCF1D5C1DDF1D6C1DEF1120060 +:103C5A00CFC147F0D0C148F0D1C149F0D2C14AF032 +:103C6A001200000E396C3A1E3A223B1E3B223C1EC1 +:103C7A003C221200D3C147F0D4C148F0D5C149F063 +:103C8A00D6C14AF012002B2A000E2C222D222E22F7 +:103C9A0012008F07000E905B915B925B1200DAECC8 +:103CAA0017F0EAD1010EF36E040EF3CFDBFF120018 :103CBA009351941195119611120082518311841116 -:103CCA0085111200896B8A6B8B6B8C6B1200F0EC7E +:103CCA0085111200C36BC46BC56BC66B1200EFEC97 :103CDA000FF0E552E5521200E76E040EE7CFDBFF64 :103CEA001200046E96809482958C958E9588958A9A -:103CFA0012009D6D9E1F9E239F1F9F23A01FA0231E -:103D0A001200A16DA21FA223A31FA323A41FA423F1 -:103D1A0012008555FF0E8655FF0E8755000E8855F1 -:103D2A00120093D925501200010EDB50EA6A5F0F88 -:103D3A00E96E0B0EEA2212009835000E981912004D -:103D4A009C35000E9C19120081899307000E945B22 -:103D5A00955B965B1200F36E010EF3CFDBFF020E4A -:103D6A00DB6A1200010EDBCF86F0020EDBCF87F092 -:103D7A0012000B01896B800E8A6F8B6B8C6B1200A1 -:103D8A000B01010E896F8A6B8B6B8C6B1200010E13 -:103D9A00E66ED9CFE6FFDACFE6FF1200610EE9261A -:103DAA00000EEA2212009D519E119F11A0111200CD -:103DBA00A151A211A311A4111200266B276B286B23 -:103DCA00296B12009D0EE96E0B0EEA6E1200A50E0B -:103DDA00E96E0B0EEA6E1200A10EE96E0B0EEA6E88 -:103DEA001200DECFE6FFDDCFE6FF1200F36E020E11 -:103DFA00F3CFDBFF1200ECD9A2EC1AF01F0EBBDCEA -:103E0A00EECF9FF1EECFA0F1EECFA1F1EFCFA2F16D -:103E1A00A2EC1AF01F0E84DAEECFA3F1EECFA4F1D2 -:103E2A00EECFA5F1EFCFA6F1A2EC1AF0170EA3DCA4 -:103E3A00EECF97F1EECF98F1EECF99F1EFCF9AF15D -:103E4A00A2EC1AF0170E6CDAC4EF1DF074DAE66A07 -:103E5A00120001DAAD0EE66E0B0E79EF21F0E9D908 -:103E6A00D90E336E7A0E97EC1AF095CBE6FF96CB05 -:103E7A00E6FF97CBE6FF98CBE6FF4FDCD30E336E17 -:103E8A007A0E97EC1AF099CBE6FF9ACBE6FF9BCB1A -:103E9A00E6FF9CCBE6FF6DEF21F02F0D000105D266 -:103EAA002EDA81DD010E91EF1AF00F0BC8EF1BF02D -:103EBA003CDA020E60DC76EF1CF021DAE66A890E43 -:103ECA00E66E0B0E79EF21F0FEEC47F0D880190E62 -:103EDA002954000E2A54000E2B54000E2C541200A2 -:103EEA0085CB29F086CB2AF087CB2BF088CB2CF018 -:103EFA00120001DA50DD03DAE66A850EE66E0B0E71 -:103F0A00F3D9E66A1200040EDB6A5CDF8D51EE24F7 -:103F1A00336E8E51EE20346E8F51EE20356E9051F5 -:103F2A004AEF1BF097EC1AF089CBE6FF8ACBE6FF43 -:103F3A008BCBE6FF8CCBE6FF97EC1BF020DCBEEFC9 -:103F4A001EF0C70E336E7C0E97EC1AF033CBE6FFE9 -:103F5A0034CBE6FF35CBE6FF36CBE6FF97EF1BF017 -:103F6A00190EEDD9D9DCFEEC47F04CDCDE6ADE6ACC -:103F7A00DE6ADD6A12002BDF9D51EE24336E9E51FC -:103F8A00EE20346E9F51EE20356EA0514AEF1BF0A1 -:103F9A0077D9FEEC47F036DC0F0E0B0112006CEC01 -:103FAA001BF092EC1BF0E4EF1CF0AE6E0F0E121435 -:103FBA00C8EF1BF0AE6E0F0E1114C8EF1BF0AE6EF9 -:103FCA000F0E1014C8EF1BF0AE6E0F0E0F14C8EFD1 -:103FDA001BF097EC1AF037CBE6FF38CBE6FF39CB6C -:103FEA00E6FF3ACBE6FF97EF1BF0DACFEAFFEECF18 -:103FFA00E6FFEECFE6FFEECFE6FFEFCFE6FF92EF6A -:10400A001BF06DD9E66E72EF1BF091EC1AF000010D -:10401A0097511200010EE66E72EF1BF0346A6CECD7 -:10402A001BF097EF1BF0DECF2AF0DECF2BF0DECFAE -:10403A002CF0DDCF2DF0DD52DD52120034C0E6FF48 -:10404A0035C0E6FF36C0E6FF12002E682F683068DA -:10405A00316866EF47F0E552E552E55212008751A2 -:10406A00AF278851B0238951B1238A51B223120054 -:10407A008B51B3278C51B4238D51B5238E51B6235E -:10408A001200CCDC41EC1CF0B7DCA5EF1AF0CFDC57 -:10409A0041EC1CF0BADCA5EF1AF00B018ADCFDEC4E -:1040AA0014F010EC1CF0EE50120033C029F034C0AA -:1040BA002AF035C02BF036C02CF0120087EC1BF02A -:1040CA009EEC47F007EC1CF00F0E1F0B12002F0D91 -:1040DA00ECD08555000E8655000E8755000E885582 -:1040EA001200A2EC1AF00F0EC0EF1BF09FEC1BF0AF -:1040FA00050EB4EF1CF0E66E000EDA20E66E120032 -:10410A00A2EC1AF0060EC0EC1BF0EFCF86F11200FB -:10411A00A2EC1AF0EE52EFCF81F1A2EF1AF0CC0E18 -:10412A00336E7C0E97EC1AF009EF1EF0B80E336E60 -:10413A007C0E97EC1AF012EF1EF03AEC1CF0750E9A -:10414A00E926000EEA2212003AEC1CF06D0EE9266E -:10415A00000EEA22120087EC1BF090CBF5FF9EEFCF -:10416A0047F097EC1AF0C4EC1BF0C5EF1EF00AEC0E -:10417A0040F0336E070EE15E335012001F0E2E6EB2 -:10418A00050E2F6E306A316A12003AEC1CF0D3EF3A -:10419A001EF010EC1CF0EE50ED10120097EC1AF025 -:1041AA00020EE66E1200956B966B976B986B120077 -:1041BA0091EC1AF071EF1EF0E552E7CFD9FF120029 -:1041CA0022EC29F0E55212009FEC1BF0E652120095 -:1041DA00ACD8070EC0EC1BF0EECF87F1EECF88F11A -:1041EA00EECF89F1EFCF8AF1A2EC1AF0070E98D838 -:1041FA00F8EF1CF0E9DF83D8E66A8D0EE66E0B0E47 -:10420A0025DE950EE66E0B0E85D020DEA10EE66E3B -:10421A000B0E1CDEA90EE66E0B0E1BDEDF6E000116 -:10422A0097511200D1DF49DEE66A8D0EE66E0B0E5B -:10423A0071D097EC1AF085CBE6FF86CBE6FF87CBE9 -:10424A00E6FF88CBE6FF97EF1BF000DEA10EE66ED5 -:10425A000B0E2EEF1FF06FD8010EE66E1200AE6E37 -:10426A0011385AEF1FF0AE6E10385AEF1FF0AE6ECB -:10427A000F385AEF1FF0190E62D832DE66EF47F098 -:10428A0085CB2EF086CB2FF087CB30F088CB31F060 -:10429A001200D9CFE9FFDACFEAFF1200010EE66E6B -:1042AA00D950030F28DF010E1200FA51F324E96EE8 -:1042BA00FB51F420EA6E120091EC1CF041EC1CF068 -:1042CA0069EF1FF0010EDBCF33F0A8DE0B011200FD -:1042DA0092EC1BF0C4EF1BF0E3DD31EF1CF0E1269A -:1042EA00DF6A010EDB6A1200E66E070E91EF1AF022 -:1042FA0012385AEF1FF09FEC1BF0040E1200E66A08 -:10430A0072EF1BF0910EE66E0B0EA0DD990EE66EB3 -:10431A000B0E12009BDD9D0EE66E0B0E2BEF1FF0AF -:10432A00C0EC1BF0040EC0EF1BF0A2EC1AF0EFCFAA -:10433A0080F1A2EF1AF0E66E060E91EF1AF02E6ED9 -:10434A002F6A306A316A1200D8CFE4FFE0CFE4FF67 -:10435A00E46EDACFE4FFE9CFE4FFEACFE4FFF3CF7C -:10436A00E4FFF4CFE4FFE6528BEC35F0A4A641D18A -:10437A00A4960001602B00017F510001605D01E2FB -:10438A009BD0606B0001A4EC34F0EF6A79907B6AF1 -:10439A007A6A00017D2B00017E5100017D5D01E3F7 -:1043AA007D6B1DEC36F0EA22EE50ED1001E184D06F -:1043BA0010EC36F0EECF3DF0EFCF3EF03D503B181B -:1043CA0002E13E503C185DE060EC35F0EA22EE5026 -:1043DA00ED1051E010EC36F00001EE503B5CE26F5C -:1043EA00EE503C58E36FE83422E2E2510008000E36 -:1043FA00E3551DE2000160EC35F01CEC34F00001DD -:10440A003C50E319E8AE02D0E33504D0E2513B5CFC -:10441A00E3513C580AE2000160EC35F031EC35F02A -:10442A003B50EE263C50ED222CD0000124D0E2C0B5 -:10443A003BF0E3C03CF03B6C3C1E000E3C2200010A -:10444A0060EC35F0EA22EECF3DF0EFCF3EF03E5081 -:10445A003C18E8AE02D03C3404D03B503D5C3C50A2 -:10446A003E5809E260EC35F031EC35F03B50EE5E37 -:10447A003C50ED5A06D010EC36F03BC0EEFF3CC083 -:10448A00EDFFA4EC34F0120EEF6EF29E0001ACECDC -:10449A0035F03CC03BF03C6A3B50B66EACEC35F0B4 -:1044AA003B50B56EF00EB4140009B46EF00EB4149D -:1044BA000909B46E7980F28E0001000ED8808D55FC -:1044CA00000E8E552EE29B2B000E9C238D519B5D78 -:1044DA008E519C5926E39B6B9C6B030E915D1FE2E8 -:1044EA008F51EA6A200FE96E010EEA2280CFEFFFB0 -:1044FA008F51EA6A230FE96E010EEA2281CFEFFF9C -:10450A008F51EA6A260FE96E010EEA2282CFEFFF87 -:10451A008F2B030E8F5D01E38F6B912B02D08D6B76 -:10452A008E6B000ED8809255000E93551CE2000E39 -:10453A00D880A155000EA25516E29D2B000E9E238F -:10454A0092519D5D93519E590EE39D6B9E6B030E96 -:10455A00965D07E2942B030E945D01E3946B962B10 -:10456A0002D0926B936BA151A2110BE0050EA05DD4 -:10457A0007E3C18C9E9C9D8CC280C282A06B01D035 -:10458A00A02B0B017F5101E07F070001D151D2110D -:10459A00D311D4110BE0D107000ED25BD35BD45BED -:1045AA00D151D211D311D41101E18996020EA85D1D -:1045BA0020E1AB51AC111DE0AB07000EAC5BAB5177 -:1045CA00AC1117E1AD51AE1114E0AD07000EAE5BB0 -:1045DA00AD51AE110AE1045003E18D808B8202D005 -:1045EA008C828982030EA86F04D0E80EAB6F030E8B -:1045FA00AC6F9EAC4FD09E9CC1AC07D0C19C010E43 -:10460A000001A36FA46B9F6B2AD0C4503D6E3E6E0F -:10461A003D6AC35000013D103B6E3EC03CF00001B4 -:10462A009F51E96EEA6A7BEC35F0EA223BC0EEFF65 -:10463A003CC0EDFF0B0E9F5D0EE19F51E96EEA6AE9 -:10464A007BEC35F01CEC34F0A5513B5CA6513C5890 -:10465A0002E2010EA76FD890A337A4379F2B100E42 -:10466A009F5D0EE2A351A1153B6EA451A2153C6EAB -:10467A003B503C1005E19F2BD890A337A437EFD7C6 -:10468A00100E9F5D02E39D9C05D09F51040DF328F7 -:10469A00C26EC282E552E552E7CFD9FFE552E5CFB5 -:1046AA00F4FFE5CFF3FFE5CFEAFFE5CFE9FFE5CF7A -:1046BA00DAFFE550E5CFE0FFE5CFD8FF1000D9CF0C -:1046CA00E6FFE1CFD9FF020EE126DE6ADD6AE2CF1C -:1046DA00E4F0E1CFE5F0E4C033F033C034F0336AFC -:1046EA000001E55100013310E66F34C0E7F0E6C07F -:1046FA00DEFFE7C0DDFF080EDE26000EDD22D9CF81 -:10470A00E9FFDACFEAFFBF0ED880EE540E0EED5461 -:10471A000BE3DECFE9FFDDCFEAFFEE0EEF6EDF2A15 -:10472A00010E01E3DB2AEBD7020EE15C02E2E16A49 -:10473A00E552E16EE552E7CFD9FF120026EC36F0DA -:10474A00BF0EF36E010EF3CFDBFF0E0EF36E020EF9 -:10475A00F3CFDBFFF28C010EDBCFE9FF020EDBCFDA -:10476A00EAFFEF50EE0806E1010EDB06020EF3E265 -:10477A00DB06F1D7F4EC34F000013350E05D34503D -:10478A00E15906E2010EDBCFE0F0020EDBCFE1F0E9 -:10479A00F28C030EE15C02E2E16AE552E16EF2EFAD -:1047AA0033F02EEC36F0896A92680001A16BA26B95 -:1047BA008A6A93688B6A94688C968C949596959479 -:1047CA00928E010ED06F976B956B946B966B906B74 -:1047DA008F6B916B8D6B8E6B926B936B9B6B9C6BE0 -:1047EA009D6B9E6B9F6B76827680769C769A768896 -:1047FA007696FA0E776EDE6ADD6AB7EC34F0100E42 -:10480A00335C000E345813E2BCEC34F0010ED8903D -:10481A00E936EA36E806FBE1000EE926010EEA224D -:10482A00EE6AED6ADF2A010EE8E3DB2AE6D7000129 -:10483A00CA6BCB6BC86BC96BDE6ADD6AC3EC35F039 -:10484A000AE2BCEC34F0000EE926020E1EEC35F04A -:10485A00F5E3DB2AF3D7DE6ADD6AC3EC35F00AE258 -:10486A00BCEC34F0400EE926020E1EEC35F0F5E3FE -:10487A00DB2AF3D7DE6ADD6AB7EC34F0000E335C6C -:10488A00010E34580AE2BCEC34F0000EE926030E9D -:10489A001EEC35F0F1E3DB2AEFD70001CC6BCD6BD0 -:1048AA00CE6BCF6B986B996B9A6B0F01498FBE0ECB -:1048BA00C16ED08E7694A386A596B4EC0DF03DEC2D -:1048CA003FF076848AEC30F00001DC6BDD6BDE6B46 -:1048DA00DF6BD16BD26BD36BD46B600ED56FEA0EE4 -:1048EA00D66FD76BD86B010ED96FE06BE16BA56BF6 -:1048FA00A66BA96BAA6BAB6BAC6BAD6BAE6BA86B03 -:10490A00A76B9592959092929490929A020EE66E67 -:10491A00E66A1C0EE66E2DEC47F019EC36F0020E34 -:10492A00E15C02E2E16AE552E16EF2EF33F0EDECAE -:10493A0033F0050EE126FBEC34F007EC33F000010E -:10494A00915100080AE21FEC2DF00001902B030E92 -:10495A00905D01E1906B9107F2D7965100080AE247 -:10496A003CEC2DF00001952B030E955D01E1956B52 -:10497A009607F3D7200E0101E76EC319E8AE02D0FD -:10498A00E73402D0E750C35D01E2E1D06550020B83 -:10499A0001E0DDD0400EE66E400EE66E020EE66ED7 -:1049AA00BFEC41F019EC36F0E76E020EE7CFDBFF01 -:1049BA00DB50000870E2030EDB6A020EDB50F36E76 -:1049CA00030EC1EC34F067E2030EDB50EA6A400FD3 -:1049DA00E96E020EEA22040EEFCFDBFF09A805D02A -:1049EA00DBCFE6FF3CEC48F0E5520101F75119E153 -:1049FA000D0E336E040EDB50335C06E00A0E346E85 -:104A0A00040EDB50345C0DE1010EF76F0001DBECA4 -:104A1A0034F00D0EEF6ECA2BF7D80001CA6BCB6BC0 -:104A2A002AD0040EDB5008080EE10001CA51000822 -:104A3A000AE2CA07DBEC34F0EF6A770E336E7E0EB9 -:104A4A00D1EC33F018D0040EDB500D0814E0040E3C -:104A5A00DB500A0810E0200EF36E040EC1EC34F0AD -:104A6A000AE30001DBEC34F0040EDBCFEFFF0101B7 -:104A7A00F76B0001CA2B0001CA51336E346A000E6B -:104A8A00331806E1010E341803E19787CA6BCB6B22 -:104A9A00030EDB2A92D70001975139E097A105D07E -:104AAA00730E336E7E0E5AEC35F0000197A305D0D3 -:104ABA00560E336E7E0E5AEC35F0000197A505D0DE -:104ACA003C0E336E7E0E5AEC35F0000197A705D0E6 -:104ADA00220E336E7E0E5AEC35F0000197A905D0EE -:104AEA00050E336E7E0E5AEC35F0000197AD05D0F7 -:104AFA00E50E336E7D0E5AEC35F0000197AF05D006 -:104B0A00CD0E336E7D0E5AEC35F00001976BDD51F8 -:104B1A001DE0010E0E1414E0DE5112E1AE0E336EEA -:104B2A007D0ED1EC33F0020EE66EDCC033F0346A4F -:104B3A00F6EC33F0DBEC33F00001010EDE6F06D049 -:104B4A00010E0E1403E1DE5101E0DE6B37D8050ECB -:104B5A00E15C02E2E16AE552E16EF2EF33F08BECDE -:104B6A0035F0C8C0DFFFDF2A400E3FEC34F001E128 -:104B7A00DF6A0001C951DF5C01E120D80001C85198 -:104B8A00EA6A000FE96E020EEA22FE0EDBCFEFFFA1 -:104B9A00C82B400EC85D01E1C86BC951C85D01E16F -:104BAA009785FE0EDBCF33F0346A33BE346833C0E8 -:104BBA00F3FF34C0F4FFE552F2EF33F08BEC35F03B -:104BCA000001C851C95D1DE00501905105E04BEC9B -:104BDA0042F0BCEC36F0F8D70001C951D880C8556C -:104BEA0007E2C951C85D62EC34F0C8C0C9F007D009 -:104BFA00400ED880C95562EC34F00001C96B4BEC09 -:104C0A0042F0E552F2EF33F0EDEC33F0090EE12613 -:104C1A00DE6ADD6A020EDB6A030EDB6A050EDB6AF8 -:104C2A00010EF36E060EF3CFDBFF0001DA6BDB6BCE -:104C3A00DF5101E18ED0060EDB6A040ECAC0DBFF2B -:104C4A00DB5003E0040EDB0602D0040EDB68040E20 -:104C5A0097EC34F0EF502C0816E0050EF36EDBCF1C -:104C6A00F4FFE850F45C0FE2040EDB50CB5D0BE07E -:104C7A00040EDB5003E0040EDB0602D0040EDB68F0 -:104C8A00050EDB2AE4D7040E97EC34F0EF502C081B -:104C9A0057E1070ECBC0DBFF040EDBCFCBF0E66A91 -:104CAA00D950020F2DEC35F0070EDBCFCBF0080EF2 -:104CBA00CBC0DBFF040EDB50F36E080EDB50F35C57 -:104CCA0018E0080E97EC34F0030EDBCFE7FFEF5045 -:104CDA00E726030EE7CFDBFF080EDB2ADB50336E35 -:104CEA00346AE850E7E1010E3418E4E1080EDB6AA1 -:104CFA00E1D7030EDB1C010FE76E030EE7CFDBFFE4 -:104D0A00020EDB50F36E030EDB50F35C0BE1010E77 -:104D1A00F36E060EF3CFDBFF040E97EC34F00D0EA4 -:104D2A00EF6E17D0880E336E7D0ED1EC33F0030E82 -:104D3A00D7EC34F052EC36F06CEC43F0E55205D087 -:104D4A005F0E336E7D0E82EC35F019EC36F0DBEC3B -:104D5A0033F0060EDB5001E148D20001DEEC33F0FD -:104D6A0002EC35F0F3CFDAF0000105EC34F004E19F -:104D7A00010E341801E1CB6BDA51DE6EDD6ADEEC2E -:104D8A0033F02C0823E0DEEC33F00D081FE0DEECF4 -:104D9A0033F00A081BE0DEEC33F002EC35F0F3CF17 -:104DAA00DBF0000105EC34F004E1010E341801E1F6 -:104DBA00CB6BDAC036F0356ADB5100013524336E2D -:104DCA00000E3620346E33C0DEFFDD6E000EDFCFFC -:104DDA002BF0010EDBCF2CF0550E2B1802E1510EF1 -:104DEA002C1801E1D2D14D0E2B1802E1480E2C18D5 -:104DFA0001E1C8D1520E2B1802E1530E2C1801E121 -:104E0A00BED1520E2B1802E1510E2C1801E1B4D179 -:104E1A00420E2B1802E1520E2C1801E1AAD1540EAF -:104E2A002B1802E1510E2C1801E1A0D1540E2B18B7 -:104E3A0002E1530E2C1801E196D1530E2B1802E110 -:104E4A00430E2C1801E18CD1530E2B1802E1510E9E -:104E5A002C1801E182D14D0E2B1802E1580E2C18A4 -:104E6A0001E178D1530E2B1802E1450E2C1801E10D -:104E7A006ED1430E2B1802E1410E2C1801E164D1C8 -:104E8A004D0E2B1802E1510E2C1801E15AD1320EA7 -:104E9A002B1802E1530E2C1801E150D1450E2B18A4 -:104EAA0002E1530E2C1801E146D1470E2B1802E1FC -:104EBA00510E2C1801E13CD1430E2B1802E1510E80 -:104ECA002C1801E132D14B0E2B1802E1430E2C189B -:104EDA0001E128D14C0E2B1802E1420E2C1801E1F7 -:104EEA001ED1440E2B1802E14E0E2C1801E114D1EA -:104EFA00490E2B1802E14E0E2C1801E10AD1420E7E -:104F0A002B1802E1510E2C1801E100D14C0E2B187E -:104F1A0002E1510E2C1801E1F6D04C0E2B1802E1D9 -:104F2A00530E2C1801E1ECD04E0E2B1802E1510E53 -:104F3A002C1801E1E2D04E0E2B1802E1530E2C1868 -:104F4A0001E1D8D0430E2B1802E1530E2C1801E1CF -:104F5A00CED04D0E2B1802E1450E2C1801E1C4D01B -:104F6A00450E2B1802E1510E2C1801E1BAD0500E51 -:104F7A002B1802E1510E2C1801E1B0D0500E2B185B -:104F8A0002E1540E2C1801E1A6D0500E2B1802E1B2 -:104F9A00530E2C1801E19CD04D0E2B1802E1530E32 -:104FAA002C1801E192D0570E2B1802E14D0E2C1845 -:104FBA0001E188D0520E2B1802E14D0E2C1801E1A6 -:104FCA007ED0440E2B1802E1500E2C1875E04F0EBD -:104FDA002B1802E1500E2C186CE0490E2B1802E136 -:104FEA00500E2C1863E0410E2B1801E12C505BE0A7 -:104FFA00560E2B1801E12C5053E0490E2B1801E1F3 -:10500A002C504BE04F0E2B1801E12C5043E0550E6B -:10501A002B1802E1430E2C183BE0430E2B1801E13A -:10502A002C5034E0520E2B1801E12C502DE04D0E7D -:10503A002B1802E14C0E2C1824E0330E2B1802E137 -:10504A00540E2C181BE0330E2B1802E14C0E2C18B0 -:10505A0012E0540E2B1802E14C0E2C1809E0000144 -:10506A00DB5101E094D0AFEC35F0B5EC35F0A3D0CC -:10507A00D2EC0FF0A8D077EC0FF0A5D0B2EC0FF07D -:10508A00A2D048EC0FF09FD0FBD89DD0EDDB9BD08F -:10509A00FED899D0E9EC2CF096D01FEC2DF093D0E5 -:1050AA0035EC2DF090D03CEC2DF08DD074EC2EF038 -:1050BA008AD0E9EC2EF087D0D8EC2DF084D0B9EC68 -:1050CA002DF081D09EEC2DF07ED0E5EC11F07BD056 -:1050DA008CEC17F078D068EC17F075D0EAEC16F083 -:1050EA0072D003EC17F06FD001EC18F06CD085EC9D -:1050FA000EF069D061EC18F066D07FEC18F063D03E -:10510A0091EC18F060D0ADEC18F05DD0CFEC18F04F -:10511A005AD03FEC18F057D052EC18F054D09DEC0E -:10512A002FF051D0EFEC2FF04ED0E3EC18F04BD02B -:10513A00FAEC18F048D02CEC19F045D0B5EC3FF059 -:10514A0042D014EC1AF03FD0CFEC2CF03CD09DECBE -:10515A0016F039D04EEC14F036D054EC1AF033D0A5 -:10516A008CEC1AF030D0CDEC30F02DD003EC31F0CD -:10517A002AD0A5EC2FF027D0ACEC2FF024D0BCEC31 -:10518A002FF021D07CEC12F01ED0FFDA1CD0AFEC4D -:10519A0035F0DBC0E6FFE3DCE552B5EC35F001ECB7 -:1051AA0036F0DAC0E6FF35EC35F0C9EC35F0020E20 -:1051BA00E66EDBC033F0346AF6EC33F0270E00EC0F -:1051CA0034F0DBEC33F00001DEEC33F00D080DE0D7 -:1051DA0097510BE1520E336E346ADF50331803E1F4 -:1051EA00DE52DD50341801E0978FCAC0CBF0090EA9 -:1051FA00E15C02E2E16AE552E16EF2EF33F08BEC38 -:10520A0035F02C0EDF6E010E0B01841503E1FE0E44 -:10521A00DB5010E0E3EC34F00001DB5104E0DBC0CA -:10522A00E6FF9DDCE552FD0EDB5004E0DFCFE6FF32 -:10523A0096DCE552E552F2EF33F0EDEC33F00B0178 -:10524A0084A104D0430E336E7D0E16D00001D051D6 -:10525A0008E0FE0EDB5005E1400E336E7D0ED1EC08 -:10526A0033F0FE0EDB50020804E13D0E336E7D0E74 -:10527A0003D03A0E336E7D0ED1EC33F0F2EF33F0F9 -:10528A0032EC36F026EC34F099DCD6EF23F0D9CFA5 -:10529A00E6FFE1CFD9FF030EE126E66AE66AAFDF51 -:1052AA00E552E552E66AD9CFE6FFDACFE6FF010E0C -:1052BA00E66E5EEC31F0E552E552E552E552E66AF9 -:1052CA00D950010FE66E000EDA20E66E020EE66E87 -:1052DA005EEC31F0E552E552E552E5520001975194 -:1052EA0001E049D2DF041AE1D950010FE96EDACFA1 -:1052FA00EAFFEE50ED100BE0010E336E346A010E38 -:10530A00DB50331803E1020EDB50341804E1010EBE -:10531A00DBCFD0F002D00001978D2AD2020E336E75 -:10532A00DF50335C1AE1D950010FE96EDACFEAFF98 -:10533A00EE50ED100BE0010E336E346A010EDB50B5 -:10534A00331803E1020EDB50341804E1010EDBCFFF -:10535A0083FB02D00001978D0BD2030E336EDF5010 -:10536A00335C1CE1D950010FE96EDACFEAFFEE5047 -:10537A00ED1003E106908C9410D0010E336E346A5E -:10538A00010EDB50331803E1020EDB50341803E13F -:10539A0006808C9402D00001978DEAD1040E336EF8 -:1053AA00DF50335C1DE1010EDBCF33F0020EDBCFA1 -:1053BA0034F0343404E233501C08000E345407E24B -:1053CA001C0EF36E010EF3CFDBFF020EDB6ACFEC8D -:1053DA0019F0000901E0FBD7010EDB50186EC8D1A5 -:1053EA000A0E336EDF50335C1CE1D950010FE96EAF -:1053FA00DACFEAFFEE50ED1003E10B01849110D0F1 -:10540A00010E336E346A010EDB50331803E1020ECB -:10541A00DB50341803E10B01848102D00001978D1F -:10542A00A7D1320E336EDF50335C0FE1D950010F32 -:10543A00E96EDACFEAFFEE50ED1003E10001D96B15 -:10544A0003D00001010ED96F93D1330E336EDF50B2 -:10545A00335C11E1FF0EE76E010EDBCF33F0020E73 -:10546A00DBCF34F0E7503316346A33500C6E0C50ED -:10547A0001E10E907DD1340E336EDF50335C0EE1C4 -:10548A00FF0EE76E010EDBCF33F0020EDBCF34F0F6 -:10549A00E7503316346A33500D6E6AD1350E336EC7 -:1054AA00DF50335C14E1010E336E346A010EDB50B7 -:1054BA00331803E1020EDB50341804E10001010E37 -:1054CA00DD6F04D00001DD6B0001DE6B51D1360EB9 -:1054DA00336EDF50335C12E1010E336E346A010E13 -:1054EA00DB50331803E1020EDB50341804E10001EB -:1054FA00010EDF6F02D00001DF6B3AD13C0E336E32 -:10550A00DF50335C0DE1010EDBCFA5F0020EDBCFDD -:10551A00A6F0FF0E0001A517030E0001A61728D159 -:10552A003D0E336EDF50335C37E1F29EF29C010E82 -:10553A00DBCFA9F0020EDBCFAAF00001A951AA1114 -:10554A0009E10001A86B0001AB6BAC6B0001AD6B0C -:10555A00AE6B1FD00001A851030A14E0020A0FE043 -:10556A00010A0DE0020A01E00AD0A9C0ADF0AAC002 -:10557A00AEF00001E80EAB6F030EAC6F0AD000016B -:10558A00010EA86F0001AB6BAC6B0001AD6BAE6B8B -:10559A0000D0F28CF28EECD0FA0E336EDF50335C10 -:1055AA001FE1D950010FE96EDACFEAFFEE50ED1094 -:1055BA0002E1099214D0010E336E346A010EDB50F7 -:1055CA00331803E1020EDB50341807E10982959281 -:1055DA00959092929490929A02D00001978DC8D099 -:1055EA00FB0E336EDF50335C26E1D950010FE96EB2 -:1055FA00DACFEAFFEE50ED1003E1099609941AD0CA -:10560A00010E336E346A010EDB50331803E1020EC9 -:10561A00DB5034180DE109840996020EE66EE66A3B -:10562A001C0EE66E2DEC47F0E552E552E55202D02B -:10563A000001978D9DD0FC0E336EDF50335C26E15E -:10564A00D950010FE96EDACFEAFFEE50ED1003E10F -:10565A00099609941AD0010E336E346A010EDB5092 -:10566A00331803E1020EDB5034180DE10986098470 -:10567A00020EE66EE66A1C0EE66E2DEC47F0E55267 -:10568A00E552E55202D00001978D72D0FD0E336EBD -:10569A00DF50335C24E1D950010FE96EDACFEAFF1B -:1056AA00EE50ED1002E1099819D0010E336E346AFA -:1056BA00010EDB50331803E1020EDB5034180CE103 -:1056CA000988020EE66EE66A1C0EE66E2DEC47F0BD -:1056DA00E552E552E55202D00001978D49D0FE0EFF -:1056EA00336EDF50335C1AE109829592959092925B -:1056FA008C908C808C908C808C908C808C908C8000 -:10570A008C908C808C908C808C908C808C908C80EF -:10571A008C908C808C908C80EBD72AD03368DF50A9 -:10572A00335C24E1D950010FE96EDACFEAFFEE507B -:10573A00ED1002E1099A19D0010E336E346A010E96 -:10574A00DB50331803E1020EDB5034180CE1098AEE -:10575A00020EE66EE66A1C0EE66E2DEC47F0E55286 -:10576A00E552E55202D00001978D02D00001978DD3 -:10577A00E66A63DDE552030EE15C02E2E16AE552A4 -:10578A00E16EE552E7CFD9FF12008BEC35F09EECC3 -:10579A0035F0010ED7EC33F00001975162E1DF04D6 -:1057AA0008E128EC35F0020EE66EDCC033F0346A0C -:1057BA0020D0020E3FEC34F008E128EC35F01C0E44 -:1057CA00E66EE66AE66AE66A44D0030E3FEC34F017 -:1057DA0006E128EC35F0185058EC34F038D0040EB5 -:1057EA003FEC34F009E1A3EC23F028EC35F009ECA6 -:1057FA0035F0F6EC33F02FD0050E3FEC34F00EE125 -:10580A0028EC35F009EC35F0F6EC33F0DBEC33F04C -:10581A00F29C0001E06BE16BF28C21D03C0E3FEC74 -:10582A0034F007E128EC35F0A5C033F0A6C034F017 -:10583A000AD03D0E3FEC34F011E128EC35F0A9C056 -:10584A0033F0AAC034F0356A366A33C0E6FF35EC65 -:10585A0035F036EC36F0DBEC33F001D0978D26ECE0 -:10586A0034F0E552F2EF33F0EDEC33F0050E3CEC98 -:10587A0035F0010E05EC36F009EC36F0E66AD9503F -:10588A00030F2DEC35F0E66AD950040F44EC36F0DC -:10589A0010E1DF50926E010EDB50936E020EDB5068 -:1058AA00946E030EDB50956E040EDB50966E26EC5A -:1058BA0034F0050EE15C02E2E16AE552E16EF2EFD4 -:1058CA0033F0EDEC33F0FE0EDB50100805E2100E5B -:1058DA00F36EFE0EF3CFDBFFFD0EDB502BE0FE0E68 -:1058EA00DB5085EC48F0F3500001A113F450A213E9 -:1058FA00080EF36EFE0EC1EC34F00DE2010EF36EEB -:10590A00FE0EDB5003E018EC34F0FDE1F350F31C1B -:10591A000F0148173DD0FE0EDB500C0839E310EC9E -:10592A0035F004E0E846FE0B3306FCE1E81C0F0103 -:10593A0049172ED0FE0EDB5085EC48F0F3CF33F03A -:10594A00F4CF34F0331E341E33500001A117345003 -:10595A00A217080EF36EFE0EC1EC34F00CE2010E33 -:10596A00F36EFE0EDB5003E018EC34F0FDE1F35069 -:10597A000F0148130DD0FE0EDB500C0809E310ECA2 -:10598A0035F004E0E846FE0B3306FCE10F0149134B -:10599A00F2EF33F048EC36F005EC36F0010F44EC48 -:1059AA0036F00AE1010EDBCFE6FFDFCFE6FF89DF43 -:1059BA00E552E55226EC34F0020EE15C02E2E16ABD -:1059CA00E552E16EF2EF33F048EC36F0D7EC33F003 -:1059DA0073EC34F027E1010EDB5002E1DF50896EEF -:1059EA0051EC35F01FE1010EDB5002E1DF508A6E07 -:1059FA0051EC35F017E1010EDB5002E1DF508B6EFE -:105A0A0051EC35F00FE1010EDB5002E1DF508C6EF4 -:105A1A0051EC35F007E1010EDB5002E1DF508D6EEB -:105A2A0026EC34F0020EE15C02E2E16AE552E16E34 -:105A3A00F2EF33F0010EE66EE66E6BEC35F0805055 -:105A4A0056EC35F0815056EC35F0825056EC35F074 -:105A5A00835056EC35F084503AEC36F0DBEF33F0F5 -:105A6A00B2EC34F07E0E336E8C0E5AEF35F026EC23 -:105A7A0036F0DF6A010EF36EDB6E020EDB6AE66A4F -:105A8A00010EE66E6BEC35F09DBCFED7DF6ADFCF08 -:105A9A0033F0100EE76E3318E8AE02D0E73402D0C6 -:105AAA00E750335C3BE2010EDB500001A115000117 -:105ABA00336E020EDB500001A2150001346E335022 -:105ACA0034101FE02C0E00EC34F022EC34F033AE2C -:105ADA0003D03468356836682AEC36F03A0E00ECA2 -:105AEA0034F0DFCFE9FFEA6AE9BEEA687BEC35F019 -:105AFA00EA22EECF33F0EFCF34F0356A366A2AEC79 -:105B0A0036F0F4EC34F0D89033363436010E33C024 -:105B1A00DBFF020E34C0DBFFDF2AB9D7020EEEEC40 -:105B2A0035F0030EE15C02E2E16AE552E16EF2EF62 -:105B3A0033F022EC36F0030E05EC36F0020F44EC9B -:105B4A0036F00AE1D0EC35F005E2BCEC34F0020E96 -:105B5A00DBCFEFFF26EC34F0030EE15C02E2E16AF0 -:105B6A00E552E16EF2EF33F026EC36F09EEC35F0BA -:105B7A00030ED7EC33F0000197510DE1D0EC35F06C -:105B8A0005E2BCEC34F0020EEFCFDBFF020ED7ECDD -:105B9A0034F041EC35F0030EE15C02E2E16AE552D1 -:105BAA00E16EF2EF33F03DEC36F001E090D0020EF8 -:105BBA00DB50010801E287D0010EDB50070801E241 -:105BCA0082D0410E3FEC34F016E1020EDB500AE1BE -:105BDA002BEC34F003E018EC34F0FDE1F350F31C45 -:105BEA00921673D02BEC34F003E018EC34F0FDE19C -:105BFA00F35092126AD0420E3FEC34F016E1020ED4 -:105C0A00DB500AE12BEC34F003E018EC34F0FDE150 -:105C1A00F350F31C931659D02BEC34F003E018EC34 -:105C2A0034F0FDE1F350931250D0430E3FEC34F0C0 -:105C3A0016E1020EDB500AE12BEC34F003E018EC1B -:105C4A0034F0FDE1F350F31C94163FD02BEC34F002 -:105C5A0003E018EC34F0FDE1F350941236D0440E10 -:105C6A003FEC34F016E1020EDB500AE12BEC34F083 -:105C7A0003E018EC34F0FDE1F350F31C951625D03F -:105C8A002BEC34F003E018EC34F0FDE1F3509512FC -:105C9A001CD0450E3FEC34F016E1020EDB500AE14F -:105CAA002BEC34F003E018EC34F0FDE1F350F31C74 -:105CBA0096160BD02BEC34F003E018EC34F0FDE12F -:105CCA00F350961202D0978D02D026EC34F0030ED0 -:105CDA00E15C02E2E16AE552E16EF2EF33F026ECB2 -:105CEA0036F0020EDB6A9EEC35F0050E05EC36F056 -:105CFA00010F44EC36F060E1010EDB50070850E377 -:105D0A00410E3FEC34F00AE12BEC34F003E018ECDE -:105D1A0034F0FDE1F350801439E029D0420E3FEC13 -:105D2A0034F00AE12BEC34F003E018EC34F0FDE136 -:105D3A00F35081141CE12AD0430E3FEC34F00AE1FF -:105D4A002BEC34F003E018EC34F0FDE1F35082144C -:105D5A000EE11CD0440E3FEC34F00BE12BEC34F096 -:105D6A0003E018EC34F0FDE1F35083140FE0010E68 -:105D7A0010D0450E3FEC34F013E12BEC34F003E085 -:105D8A0018EC34F0FDE1F350841402E1000E01D066 -:105D9A00010EE76E020EE7CFDBFFDB5008E002D010 -:105DAA00978D0AD0010EF36E020EF3CFDBFF020EBF -:105DBA00D7EC34F041EC35F0030EE15C02E2E16A23 -:105DCA00E552E16EF2EF33F03DEC36F001E090D0AF -:105DDA00020EDB50010801E287D0010EDB500708F2 -:105DEA0001E282D0410E3FEC34F016E1020EDB50A4 -:105DFA000AE12BEC34F003E018EC34F0FDE1F35047 -:105E0A00F31C891673D02BEC34F003E018EC34F051 -:105E1A00FDE1F35089126AD0420E3FEC34F016E1EC -:105E2A00020EDB500AE12BEC34F003E018EC34F0FC -:105E3A00FDE1F350F31C8A1659D02BEC34F003E041 -:105E4A0018EC34F0FDE1F3508A1250D0430E3FECC7 -:105E5A0034F016E1020EDB500AE12BEC34F003E0D9 -:105E6A0018EC34F0FDE1F350F31C8B163FD02BEC09 -:105E7A0034F003E018EC34F0FDE1F3508B1236D025 -:105E8A00440E3FEC34F016E1020EDB500AE12BEC33 -:105E9A0034F003E018EC34F0FDE1F350F31C8C16F7 -:105EAA0025D02BEC34F003E018EC34F0FDE1F3508C -:105EBA008C121CD0450E3FEC34F016E1020EDB507A -:105ECA000AE12BEC34F003E018EC34F0FDE1F35076 -:105EDA00F31C8D160BD02BEC34F003E018EC34F0E5 -:105EEA00FDE1F3508D1202D0978D02D026EC34F0EA -:105EFA00030EE15C02E2E16AE552E16EF2EF33F091 -:105F0A00D9CFE6FFE1CFD9FFE652DF6AFF0EDF5CA9 -:105F1A000AE2E868E85005E0E80600D000D000D0C0 -:105F2A00F9D7DF2AF3D7E552E552E7CFD9FF1200B6 -:105F3A00F29EF29C6592656AE3DF0FEF00F01200B1 -:105F4A00F29EF29C6592656ADBDFFF001200B2ECFA -:105F5A0034F08050080B01E0010E3AEC36F00B01E8 -:105F6A0084B103D0020EEEEC35F026EF34F0EDECFE -:105F7A0033F0060E3CEC35F0070ED7EC33F0010E89 -:105F8A00E66ED950040F2DEC35F0E76E050EE7CF1B -:105F9A00DBFF0001975116E1DFCFD5F0010EDBCF11 -:105FAA00D6F0020EDBCFD7F0030EDBCFD8F0050E0A -:105FBA00DB5006E1040EDB5002E0898601D08996A7 -:105FCA0026EC34F0060EE15C02E2E16AE552E16E8B -:105FDA00F2EF33F0EDEC33F0100EE12632EC36F04E -:105FEA00E5DBE66AD950010FFBEC33F0E66A61D9CA -:105FFA005DEC35F0E66AF3EC35F0010E05EC36F0AF -:10600A00040FFBEC33F0020E05EC36F0020FEEDB68 -:10601A00030E05EC36F00A0FE9DB060E05EC36F046 -:10602A00060FE4DB070E05EC36F00E0FDFDB040E7D -:10603A0005EC36F00F0FDADB050EB4DB320E336EE9 -:10604A007D0EAADB010ED7EC34F033AE03D03468F0 -:10605A003568366816EC36F02A0E336E7D0E9CDBF8 -:10606A00ECDB41EC35F0220E336E7D0E95DB040E2F -:10607A00DBCF33F0050EDBCF34F0356A366A34AE47 -:10608A0002D03568366816EC36F01A0E336E7D0E7D -:10609A0083DB020EDBCF33F0030EDBCF34F0356A3D -:1060AA00366A41EC35F0120E336E7D0E75DBD9502F -:1060BA000A0FADDB4DEC36F0A3EC35F0D950060FE4 -:1060CA00A6DB36EC36F072DB020E336E7D0E64DB35 -:1060DA000E0EBCEC35F0FA0E336E7C0E5DDB0F0E45 -:1060EA00BCEC35F0A3EC35F0080EE66E70EC35F03A -:1060FA00A3EC35F0E66A70EC35F0A3DB100EE15C38 -:10610A0002E2E16AE552E16E68D38BEC35F0DF6AB0 -:10611A00110EDF5C04E2B7DBEF6ADF2AF9D7D6ECAF -:10612A0035F0DF6A100EDF5C21E2ADDBEF5080084C -:10613A001DE3A9DBEFCF33F0200E335C17E3A3DBBB -:10614A00EF50E66E180E0201346AFA25336EFB51DF -:10615A00CBEC34F098DBEF50E66E020E346AFC2585 -:10616A00336EFD51CBEC34F0DF2ADCD7DF50E82464 -:10617A00180FFAC2E9FFFBC2EAFFEF6EDF50E8240C -:10618A00020FFCC2E9FFFDC2EAFFEF6EE55225D31A -:10619A002EEC36F0DF6A32EC36F0010EDB6A110EB5 -:1061AA00F36E010EE9DB0BE2010EDB50EA6AE80F3F -:1061BA00E96E000EEA22EF6A010EDB2AF0D7100E12 -:1061CA00E66EF8EC35F03AD819EC36F0DF6EE66890 -:1061DA00FB0EE66EE66ADBEC35F0C3EC45F0EFEC5D -:1061EA0034F04CDB2DEC44F0EFEC34F02ADB020EF9 -:1061FA00E15C02E2E16AE552E16EEFD28BEC35F046 -:10620A00ACDBDF6A110EDF5C04E23DDBEF6ADF2AFA -:10621A00F9D7D6EC35F0800E0001E85D09E2E851C5 -:10622A00200806E2F8EC35F026EC43F0E552E55298 -:10623A000B0184A1BBDA05DBE552CFD28BEC35F03A -:10624A00DF6A53DBEF6AE2EC35F002E1978905D0A9 -:10625A00B0DA2C0804E044EC35F0000E28D0D0DA8D -:10626A0004E1010E341801E1CB6B0D0EFDEC35F0A3 -:10627A0009E02C0E346E9DDA345C04E0FC0EDB502F -:10628A00DF5C02E3DF5013D094DAE66E2EDBE552D0 -:10629A00E750EF6EB5DA04E1010E341801E1CB6B79 -:1062AA00DF2AFD0EDB2AFE0EE0E3DB2ADED7E5520B -:1062BA0094D28EDA090EE126080EDB6AE2EC35F09A -:1062CA0005E1FB0EDB5019E1978917D072DA2C0829 -:1062DA0006E0FB0EDB5001E1D2DB020E1AD190DAA6 -:1062EA0004E1010E341801E1CB6B0D0EFDEC35F023 -:1062FA0006E1FB0EDB5001E19789030E0AD12D0E50 -:10630A00FDEC35F020E1040E54DB1DE0050E356E80 -:10631A00FE0EDB50355C17E0FE0EDB0401E1C0D057 -:10632A00030E2FDB01E1BCD0070E43DB01E1B8D03D -:10633A00010EF36E080EF3CFDBFF62DA04E1010E01 -:10634A00341801E1CB6B040E1CDB09E0050E31DBCE -:10635A0006E00A0EF1DAE6D819EC36F031D0CB5164 -:10636A00AFDBEFCF33F0000E33C0DFFF3FDB050EAC -:10637A0008DB1FE1000EDFCFE6FF010EDBCFE6FFF1 -:10638A0053EC48F0E552E552F3CF33F0F4CF34F052 -:10639A00356A366A34AE02D03568366833C0DFFFF4 -:1063AA00010E34C0DBFF020E35C0DBFF030E36C020 -:1063BA00DBFF000125DA04E1010E341801E1CB6BA1 -:1063CA00080EDB5040E0FE0EDB5006E14DDA800E8F -:1063DA006EDA000EEE5412E3020ED3DA06E144DA64 -:1063EA00000EEE54800E63DA09E3060EE2DA08E1E3 -:1063FA003BDA000E5CDA800EEE5402E2000150D065 -:10640A007BDA080EDB5053E0040EDBCF29F0050ED1 -:10641A00DBCF2AF0060EDBCF2BF0070EDBCF2CF0FA -:10642A002E682F683068316866EC47F0040E25C084 -:10643A00DBFF050E26C0DBFF060E27C0DBFF070EBB -:10644A0028C0DBFF34D0FE0EDB5006E10DDA7F0EEA -:10645A00EE54000E2CDA23E3FE0EDB0404E173DBB8 -:10646A00000E25DA1CE3020E8CDA04E16CDB7F0EE7 -:10647A001EDA15E3030E9DDA04E165DBFF0E17DA77 -:10648A000EE3060E356EFE0EDB50355C0CE15BDB6F -:10649A00FF0EEE54FF0EEE547F0EEE5404E200019E -:1064AA00978D010E36D0070E6CDA01E025DAFE0E62 -:1064BA00DB50070A21E0010A17E0050A11E0010A88 -:1064CA000FE0030A08E0050A06E0010A04E0050AEB -:1064DA0002E0040E1ED029DA040EDBCFEFFF18D03B -:1064EA0072DBDBCFEDFF14D06EDBDBCFEEFF060EE7 -:1064FA00DBCFEEFF070E0AD018DADFCFEEFF010E70 -:10650A00DBCFEEFF020EDBCFEEFF030EDBCFEEFF9B -:10651A00000E336E090EE15C02E2E16AE552E16EB9 -:10652A0033505BD196DBE1D9EE6AEE6AEE6AEE6A27 -:10653A00010EDB6AFC0EDB50F36E010E1DDA4FE230 -:10654A000001CB51BDDAEFCFDFFF300EDF5C42E353 -:10655A00DF5039083FE3C9D9EECF33F0EECF34F03C -:10656A00EECF35F0EFCF36F00A0E2E6E2F6A306A74 -:10657A00316A33C029F034C02AF035C02BF036C056 -:10658A002CF066EC47F025C033F026C034F027C063 -:10659A0035F028C036F0300EDF5C376E386A396A5B -:1065AA003A6AE850332638503422395035223A5064 -:1065BA0036229BD933C0EEFF34C0EEFF35C0EEFF62 -:1065CA0036C0EEFF00011CD907E1010E341804E1C0 -:1065DA00CB6B02D0000E04D0010EDB2AABD7010E22 -:1065EA00336E020EE15C02E2E16AE552E16E33507B -:1065FA00F4D0D00E336E7C0ECFD891C033F0FCDAD3 -:10660A0041EF35F00101C35108E0010E336E6550C8 -:10661A00020B01E0010E335C17E1D6D90BE1FB5105 -:10662A00FC1111E18C86A00EFB6F0F0EFC6F010EA0 -:10663A00FD6F1200FB51FC1152E18C96A00EFB6F0C -:10664A000F0EFC6FFD6B1200C30509E0020EC35D5D -:10665A0006E0040EC35D03E0100EC35D17E1B4D972 -:10666A000BE1FB51FC1111E18C86200EFB6F4E0EE3 -:10667A00FC6F010EFD6F1200FB51FC1130E18C968C -:10668A00200EFB6F4E0EFC6FFD6B1200200EC35DD9 -:10669A0026E19AD907E1FB51FC1121E18C86CED97A -:1066AA00010E15D0FD0507E1FB51FC1118E18C968E -:1066BA00C5D9020E0CD0020EFD5D0BE1FB51FC1197 -:1066CA000EE18C86A00EFB6F860EFC6F030EFD6F2B -:1066DA001200FB51FC1103E18C96B0D9FD6B12003C -:1066EA0077D8A0D9E8AE02D0333403D0E750D880A7 -:1066FA00335423E3FD0EDB5010E00FD9F6BEF768E2 -:10670A00A9D804E0E846FE0B3406FCE1336E05D94D -:10671A00F6BEF768FED9EF1210D0FFD8F6BEF768BA -:10672A0099D804E0E846FE0B3406FCE1E81C336E17 -:10673A00F4D8F6BEF768EDD9EF164FD049D872D91A -:10674A00E8AE02D0333403D0E750D880335423E381 -:10675A00FD0EDB5011E1E1D8F6BEF7687BD804E004 -:10676A00E846FE0B3406FCE1E81C336ED6D8F6BECA -:10677A00F768D7D9EF160FD0D0D8F6BEF7686AD81F -:10678A0004E0E846FE0B3406FCE1336EC6D8F6BEDA -:10679A00F768C7D9EF1221D0B0D919EF36F060D90E -:1067AA0036EF36F0E66E85DD5DEF35F0010EEEEF81 -:1067BA0035F0CB5185D9EF50120088D9E66AF3EF4C -:1067CA0035F07D51E96EEA6AD890E936EA36120068 -:1067DA00D9CFE6FFE1CFD9FF1200E552E7CFD9FFC3 -:1067EA001200356A366A59DAC9EF35F0E66E000EDC -:1067FA00DA20E66E1200E66EB4EC25F0E5521200DD -:10680A00CB2BCB51336E346A000E33181200E96E6B -:10681A00DACFEAFFEECFE6FFEECFE6FFEECFE6FFF6 -:10682A00EFCFE6FF1200D890F336E8061200EA220C -:10683A00EECF3BF0EFCF3CF01200DFCF33F001EFA9 -:10684A0036F0E66A22EC29F0E5521200010EF36EE8 -:10685A00DB501200110EF6268D0EF7220800F550B5 -:10686A00346E010E34521200D9CFE9FFDACFEAFFB3 -:10687A00D8801200336EDF50335C1200B4D9100E88 -:10688A00E66EDBEF35F0DF50EA6AE80FE96E000EDC -:10689A00EA221200F7220900F5CFE9FF0800F5CF36 -:1068AA00EAFF33501200336EA7D9E66E1200EE5497 -:1068BA00000EEE54000EEE541200DF6EDFCFE6FF3C -:1068CA00C951346A000F336E020E342233C0E6FF18 -:1068DA0034C0E6FFFEEC41F019EF36F0E76E010E28 -:1068EA00E7CFDBFF000197511200FD0EDBCFE9FF76 -:1068FA00FE0EDBCFEAFF1200D9CFE9FFDACFEAFFBB -:10690A00040EEECFDBFF050EEECFDBFF060EEECF59 -:10691A00DBFF070EEECFDBFF1200FE0EDBCFF6FF2A -:10692A00F76A1200DB5065EF35F0FC0EDBCFE9FFAA -:10693A00FD0EDBCFEAFF1200E66EF3EF35F07D5174 -:10694A00EA6A690FE96E000EEA22EF500001EA6A6C -:10695A008025E96E8151EA221200010EE66EE66A8E -:10696A006BEF35F0DECF33F0DDCF34F01200DECF3F -:10697A00E9FFDDCFEAFF1200DBCFF4FFF350F45C4E -:10698A001200336EFE0EDB50335C12003422DF50ED -:10699A00E8243324E96E000E3420EA6EE552E7500B -:1069AA00EF6E1200DBCF33F001EF36F0CA5165EF1C -:1069BA0035F0346EFE0EDB50345C1200DAC0E6FFAE -:1069CA00B4EC25F0E55212000101FB07000EFC5B56 -:1069DA00FD511200336E080EE15E33501200010EB3 -:1069EA00DBCF33F0020EDBCF34F01200010EDB6A8C -:1069FA00020EDB6A030EDB6A1200E66EE66A53ECED -:106A0A0048F0E552E5521200030EE66EE0C033F09C -:106A1A00E1C034F01200FE0EDB50F80F336E010EA7 -:106A2A0033521200FE0EDBCF33F0190EE76E331825 -:106A3A001200EA22EF6ADF2A010E1200100EFB6F23 -:106A4A00270EFC6F1200F9DE00D92C0E00EF34F08D -:106A5A00CDDE010ED7EF33F0EADEEAD8EA221200E1 -:106A6A0034C0E6FF35C0E6FF36C0E6FF1200E12675 -:106A7A00E66AE66AE2EF33F0E8D8DBEF33F0D80EE5 -:106A8A00336E7C0E89DE000194DEB5DE270EB3DE9E -:106A9A008DDE0001978B1200010E4EDF83DE73EF4D -:106AAA0034F0E3D82C0E00EF34F076DEDBEF33F06F -:106ABA00BBD8E552120085DE750EE926000E1200DB -:106ACA00EA6A000FE96E030EEA22120004EC29F0CA -:106ADA00E552E5521200D950060F99DE32EC43F026 -:106AEA00336E050EE15E3350DBEF33F0D890E936B2 -:106AFA00EA36000EE926010E1200346E356A33C0FA -:106B0A00E6FFE66E35C0E6FF15EF43F061DEE652BA -:106B1A001200D890F636F736DF0EF6268C0E4FEFB7 -:106B2A0034F0D890F636F736AD0EF6268C0E4FEFC7 -:106B3A0034F0010EE66EE66EE2EF33F00A0E336EC3 -:106B4A007D0ED1EF33F090DEFF0EEE54120070D8B6 -:106B5A001CEF34F0450E336E7D0E1EDEE3EF34F08B -:106B6A003A0E49DE020EE66EDAC033F01200DBCFCF -:106B7A00E6FFB4EC25F0E552DBEF33F0F3DE400E2E -:106B8A00335C000E3458120032EC43F0376E050EB7 -:106B9A00E15E37501200E6DE000E335C100E345808 -:106BAA0012006CDEE4EC46F0EFEF34F0E66AE66AD7 -:106BBA00F80EE66EE66AE66A12000D0E336E000102 -:106BCA00F8DD335C1200B1DE040EDBCFEEFF050EFA -:106BDA001200E66E22EC29F0E5521200D9CFE6FF48 -:106BEA00DACFE6FF1200E80EE66E000EE66E12003D -:106BFA00336EDFDD335C1200346A356A366A12009E -:106C0A00D1DDE66AD9501200010F22DFE66AD950B7 -:106C1A00020F2DEF35F0D5DD6D0EE926000E31EFAE -:106C2A0035F03BD84DEF36F0E552E552E552120009 -:106C3A00C8DD610EE926000E1200CADD030E3CEF24 -:106C4A0035F0C6DD030EE126120033C0E6FFD4EFAD -:106C5A0033F0BEDD020EE1261200E66AE66A6BEF49 -:106C6A0035F06CEC43F05DEF35F01DDED4EF33F018 -:106C7A00E4DF050EC5DFC8DF000197511200E8DE28 -:106C8A00000197511200A4DD020EF1DE010E12007E -:106C9A0088EC43F00DDFDBEF33F033C0E6FF35EF6E -:106CAA0035F0C0EC3CF0A098636A626A0F01266B6B -:106CBA009FEC3CF00F015EEC3CF0DF6ADF50336E74 -:106CCA00346A0C0E335C000E345810E2DF50040DA7 -:106CDA00F3CFE9FFF4CFEAFF000EE926040EEA2219 -:106CEA00EE6AEE6AEE6AEE6ADF2AE8D7658C0F0171 -:106CFA00386B6598659C62A607D062960101DA6BCB -:106D0A00DF6BE06BE16BF7D70101010EF36FF46FF4 -:106D1A00F56BF66BE76BDF6A030EDF5C11E2EA6A7A -:106D2A00DF34C3EC3CF0EA22EE6AED6AEA6ADF3449 -:106D3A00CAEC3CF0EA22EE6AED6A1FEC3CF0ECD7B2 -:106D4A000101080ED06F040ED16F0F01160E266FC7 -:106D5A000401300E026F040E036F400E016F840EA1 -:106D6A00006F0101C46BC36BE552F1EF3BF0C0EC5D -:106D7A003CF082BE06D0656A0F01366B0101C36B17 -:106D8A006FD00101C3510CE1656A0F01366B5EECED -:106D9A003CF065B602D06586FCD70101010EC36FCF -:106DAA00C3050AE165BA08D0626A0F01366B3681FB -:106DBA0036890101020EC36F6250040B06E00F010F -:106DCA003651040B02E0629447DB65B249D0625047 -:106DDA00010B09E00F013651010B05E062DF0101E9 -:106DEA00040EC36F62906250100B06E00F01365119 -:106DFA00100B02E026DB629862AC10D00F0136ADB0 -:106E0A0005D065EC3CF0730EDEEC3BF0629C0101B0 -:106E1A00F15101E0F107F15101E1F4D86250200B80 -:106E2A0005E00F013651200B01E0FADA6250020B3D -:106E3A000CE00F013651020B08E065EC3CF0E66805 -:106E4A007F0EE66ED1EC3CF0636A040E0101E76E38 -:106E5A00C319E8AE02D0E73402D0E750C35D02E2BC -:106E6A00A1982FD00F0136A72BD0DF6A040EDF5C62 -:106E7A0027E262A625D064CFE8F10101E851780B38 -:106E8A00E842E842E842E96F6296E8B504D0E9517F -:106E9A00D8EC3CF003D0E951DDEC3CF0EA22EF708B -:106EAA00E95102E1E6DA0AD0000EE66EE66AE80E79 -:106EBA00E66E010EE66E720EDEEC3BF0DF2AD6D7E6 -:106ECA00A198E552F1EF3BF091EC3CF0FD0EDBA40A -:106EDA0003D0E66A56EC3CF0FD0EDBA204D0010EAC -:106EEA00E66E56EC3CF0FE0EDB50346A260F336E2B -:106EFA000F0E50EC3CF0E2EC3BF0FD0EDBCFEFFF67 -:106F0A00020EE15C02E2E16AE552E16EF1EF3BF06A -:106F1A0091EC3CF0FD0EDB5003E0D9EC3BF002D0E3 -:106F2A0010EC3CF03CEC3CF0D9CFE9FFDACFEAFFB9 -:106F3A00EE50ED1003E1F36AF46A28D0E2EC3BF07C -:106F4A00ECEC3CF0FB0EDBCFEEFFFC0EDBCFEDFFF3 -:106F5A00E2EC3BF0EE52FA0EDBCFEFFF400EE2EC32 -:106F6A003CF0880EF1EC3CF0FD0EDB5003E0D9EC6E -:106F7A003BF002D010EC3CF0EA22EF74DECF33F0A3 -:106F8A00DDCF34F033C0F3FF34C0F4FF020EE15C0E -:106F9A0002E2E16AE552E16EF1EF3BF091EC3CF07E -:106FAA00FE0EDB5003E1A8EC3CF009D015EC3CF0F6 -:106FBA007FEC3CF015EC3CF0010F7FEC3CF0020E4C -:106FCA00E15C02E2E16AE552E16EF1EF3BF0ECECE2 -:106FDA003BF065A816D0B9EC3CF0400EEE16EE6A0E -:106FEA00EE6AEE6AB9EC3CF0EE7CDEDBEA22EF7484 -:106FFA00400E336EB9EC3CF03350EF16B9EC3CF06E -:10700A00EF7CEAD30101F35122E1010EF36FF4514F -:10701A001EE1010EF46F020ED75D07E1D3DBEE52DB -:10702A00EF6AD0DBC80EEF6E1200D70510E1EA6BEB -:10703A00DFDBEE52400EEF6EDBDB8BEC3CF0D8DB95 -:10704A00840EEF6E010EEA6FABDB800EEF6E12005C -:10705A000101F56BF66B020ED75D06E1E6EC3CF03A -:10706A00CCDB7AEC3CF010D0DB510401365D010137 -:10707A00DC510401375904E236C4DBF137C4DCF1D0 -:10708A0061D8A0DBBADB9EDBC80EEF6E120091EC72 -:10709A003CF0000EDE6E040EDD6EC2DB040DF4CF92 -:1070AA0034F0D9CFE9FFDACFEAFFF350EE263450B5 -:1070BA00ED2283DBEF9EFD0EDB5002E1ACDB01D05B -:1070CA0073DBEA22DECFEEFFDDCFEDFF76DBEF9C4E -:1070DA0074DB040EE926000EEA22EF8C020EE15C54 -:1070EA0002E2E16AE552E16E77D365980101DABFFF -:1070FA000DD0DFAF09D0020ED76FF65101E1A8DF3C -:10710A000101F46BF36B1200A8EF3CF0040130AFFD -:10711A000DD00101010ED76FF55101E199DF01018F -:10712A00F46BF36BF2510DE107EF38F00101020E37 -:10713A00D76F36DB840EEF6EF46BF36BF25101E11D -:10714A0061DF1200C0EC3CF0400EDF6E0101DB5D36 -:10715A00000EDC590AE2DBC1DFFFD65102E1010E63 -:10716A0003D0D60502E1020ED66FDF50346AE8502A -:10717A00DB5DDB6F3450DC59DC6F24DBEE52DFCF92 -:10718A00EFFF380EE46F040EE56FDAB10DD0DF5071 -:10719A0017E0D8C1F6FFD9C1F7FFD82B000ED923C3 -:1071AA000800F55057DBF3D7DF500AE0D8C1E9FFF2 -:1071BA00D9C1EAFFD82B000ED923EF504BDBF4D705 -:1071CA00E5520AD3A9DB14DBEE52EFCFDFFFDFCFA4 -:1071DA0033F033500101E05D000EE15902E2E0C1F3 -:1071EA00DFFFDF50336E346AE850E05DE06F345001 -:1071FA00E159E16F010EDB6ADF50F36E010EDBCF5E -:10720A00F4FFF350F45C16E2010EDB50EA6A380F21 -:10721A00E96E040EEA22EF50E66EDDC1E9FFDEC137 -:10722A00EAFFDD2B000EDE23E552E750EF6E010E7A -:10723A00DB2AE2D7000ED880E055000EE1550DE2B8 -:10724A00C0DBDBDAD5DAEF50400B03E14EDBC80EC8 -:10725A0002D04BDB880EEF6E12D0A2DA840EEF6EEC -:10726A00E251E31107E005D0E3C1FAFF0101E2515F -:10727A00F96EFADF0101DF9FF25101E1C3DE020E6E -:10728A00E15C02E2E16AE552E16EA6D274DB010139 -:10729A00DA8F50DB300EE66EE66AE66A000EE66EBC -:1072AA00040EB1DA658CDF6A030EDF5C02E2C2DA31 -:1072BA00FBD7010EE66EE66AE66AC50EE66E010EB9 -:1072CA00A2DA659C0101080ED06F040ED16F000E80 -:1072DA00C66F040EC76FC6C1C8F1C96F32C4C4F104 -:1072EA00C45102E1100E0BD0010EE66EE66AC40E1E -:1072FA00E66E010EE66E010E5CDA0101200EC36F26 -:10730A00E5526AD2800E0401305D4EE10101C00EE1 -:10731A00DA6F04013351030A25E0010A09E0030A7E -:10732A0041E10101A40ED86F8F0ED96F120E34D02D -:10733A003251F66EF76AD890F636F736F90EF62617 -:10734A008F0EF7220900F5CFD8F10A00F5CFD9F14F -:10735A00020E0101BCDAF5CFDBF1030EB8DAF5CF84 -:10736A00DCF11200040E325D1AE20101DA81040135 -:10737A003251E96EEA6AD890E936EA36F60EE9261B -:10738A00020EEA22EECFD8F1EDCFD9F1D8C1E9FF4A -:10739A00D9C1EAFFEF500101DB6FDC6B120001017A -:1073AA00DA6B12000101DA6B1200B6DA0401386BEB -:1073BA00396B30511F0B020A11E0030A0CE0010A73 -:1073CA001EE10101DA8F040138810101E60517E1A6 -:1073DA000401388314D00101DA8F11D00101DA8F48 -:1073EA00040134BF02D0B6DA01D0B9DA40DABFDA22 -:1073FA0006E0E3D9EF50040B02E0010E386F0101F9 -:10740A00DAAF07D0380ED86F040ED96FDA81020EC0 -:10741A00DB6F020EE15C02E2E16AE552E16EDCD169 -:10742A000F0126A10CD0E4D9EF50800807E1CAD990 -:10743A00EF50840803E1DCD98C0EEF6E2691629A34 -:10744A0012000F013685629865820101010EE76F0D -:10745A0014DA750EDEEF3BF00101E76B0EDA740EFB -:10746A00A8D965920F01369562A402D06294FCD71E -:10747A00120081DA01012D0EF16FFD0EE81539E1D6 -:10748A007E0EE815E8407F0B040DF3CFC6F1F4CF6A -:10749A00C7F1000EC627040EC723C6C1C8F1C7C16B -:1074AA00C9F1C875A5D9EF503C0BE842E8420D086E -:1074BA001EE1DF6A080EDF5C16E29AD9020EE9269F -:1074CA00000EC2D9EF50E66EDF50EA6A300FE96E5D -:1074DA00040EEA22E552E750EF6E8AD978DAEE2AEC -:1074EA00EF22DF2AE7D784D911DA0AD807D023D8BE -:1074FA0005D0FD0EE815040801E12CD8E5526CD13F -:10750A000101D66BF26BF56BF66BEA6BD76B5AD946 -:10751A00EF9ED07557D9EF9ED075E7D9EF9EDA6BFB -:10752A00DB6BDC6BDF6BE06BE16B51D8A6D9030E2A -:10753A0040D97AEF38F0020E0101D75D02E1E7EF98 -:10754A0038F0D76BEA5104E12BD98C0EEF6E12009A -:10755A00EA6B120010DA36D9EF50400B01E0010E47 -:10756A00DF6E0101D075080EC35D0BE132C438FF2E -:10757A000F01385103E00101100E02D00101040E7F -:10758A00C36FD70513E11ED938D9DCDD020E01011C -:10759A00D65D03E117D9840E07D0DF5003E112D973 -:1075AA00C80E02D00FD9880EEF6E0FD0DFAF0CD005 -:1075BA00E251E31107E005D0E3C1FAFF0101E2510C -:1075CA00F96EFADF0101DF9FD76BE55205D104019D -:1075DA003051600BE842E842E842E842E8420009DA -:1075EA0001E0120031510C0A45E00B0A3FE00C0A97 -:1075FA0031E0010A22E00B0A1EE0020A1CE0030A3B -:10760A0018E0080A10E0010A0CE00F0A08E0030A71 -:10761A0001E012000101DA8F080EC36F120087EF32 -:10762A0039F04BEF39F00101C40ED86F010ED96F52 -:10763A000CD0DAEF39F040EF3BF034510101D86F4A -:10764A00D96BC50ED827010ED923DA81010EDB6F5B -:10765A00DA8F12000101DA8F04013451EA6AC50F88 -:10766A00E96E010EEA2232C4EFFF120006D9020EB9 -:10767A00DEEF3BF01200ABD8050EE126040132051D -:10768A0010E130511F0B00090CE10101DA8F030EE2 -:10769A000401315D04E10101010EE66F02D001012E -:1076AA00E66B0401325101E074D030511F0B02081D -:1076BA0070E134510F0B00096CE034510F0B0208D2 -:1076CA0068E3200E0101C35D64E1DA8F040134BF6F -:1076DA0004D040D9CCD8D7D803D041D9C8D8D7D824 -:1076EA00EA22020EEFCFDBFFF9D8010B03E1000E0D -:1076FA00DF9401D0DF8434BF02D02CD901D02FD936 -:10770A00EA22DECFEEFFDDCFEDFF030E315D0CE1A5 -:10771A002ED907E034BF02D0B6D801D0B8D8EA22B1 -:10772A00EF82840E59D935D0DF7421D906E045D8C5 -:10773A00EF9E43D8EF8CF4D802D03FD8EF8CDF7499 -:10774A00CDD8020B02E113D90DE0040134BF02D0F7 -:10775A009AD801D09CD8EA22EF923B0E336E2DD9EB -:10776A00DFD802D03B0E29D9040134510F0B346AF9 -:10777A00260F336E0F0E3422030E33C0DBFF040EC6 -:10778A0034C0DBFF030EDBCFE9FF040EDBCFEAFFD9 -:10779A00EF90050EE15C02E2E16AE552E16E1CD06F -:1077AA0010D9B4D87AEF3CF0FE0EEA6ADB34C3EFA4 -:1077BA003CF0E66EE66AD1EF3CF0DECFE9FFDDCFC2 -:1077CA00EAFF1200D0C1E9FFD1C1EAFF1200D9CF06 -:1077DA00E6FFE1CFD9FF1200E552E7CFD9FF120049 -:1077EA0034510F0BE96EEA6AD890E936EA3612008C -:1077FA00C6C1E9FFC7C1EAFF1200E9D8380EEE6E2A -:10780A00040EED6E1200E66E22EC48F0336E050EA1 -:10781A00E15E33501200FE0EEA6ADB34CAEF3CF036 -:10782A00FD0EDB50E824356EFE0EDB50040DF350DE -:10783A0035241200DF50BCD8EA22EF6ADF50B3D8F1 -:10784A00EA22EF6ADF2A1200EA22EE50EFCFEAFFBD -:10785A00E96E1200E66EE4C1E9FFE5C1EAFFE42B36 -:10786A00000EE523E552E750EF6EDF061200EA222A -:10787A00EECFDEFFEDCFDDFF1200000EE66EE66A08 -:10788A00E66EE66A120034510F0BD8EF3CF0345121 -:10789A000F0BDDEF3CF0342233C0DEFF34C0DDFFD6 -:1078AA001200FE0EDBCFE6FF4CEC38F0E552E55253 -:1078BA001200160E396F9F0E376F7B0E366F12004D -:1078CA00010EE66EE66A000EE66EE66A1200F76AD6 -:1078DA00D825F66ED951F72208001200D950020FA6 -:1078EA00E96EDACFEAFFEF501200C8C1E9FFC9C159 -:1078FA00EAFF1200040DF3CF33F0F4CF34F0000E98 -:10790A003326040EC8DF840EF1EF3CF060D8300E47 -:10791A00EE6E040EED6E12005ADF020EE126120020 -:10792A00020EE66EE66ADECFE6FFDDCFE6FF050E63 -:10793A00DEEF3BF0020EE66EE66AE66A270EE66EB8 -:10794A000F0E08EF3CF02CDF8C0EEF6E3BDF840E3F -:10795A00EF6E120045DFCA0EE926010E120040DF63 -:10796A00D00EE926010E12001FDF29EF3CF025DFB9 -:10797A00EF50800B12002BDFE6521200FE0BEA36A4 -:10798A00E96ED00EE926010E1200FE0BEA36E96E08 -:10799A00CA0EE926010E120079EC45F0336E060E86 -:1079AA00E15E33501200EA6AEE0FE96E010E120030 -:1079BA00EA6AEB0FE96E010E1200FFDEE850EF16DD -:1079CA00120093DFEE52400EEF6E7AEF3CF0020E99 -:1079DA00E926000EEA221200F0DEE850EF12120049 -:1079EA004D616A6F72206D616C66756E6374696F42 -:1079FA006E2041786973322053746570436F756ED7 -:107A0A00746572207A65726F004D616A6F72206DBB -:107A1A00616C66756E6374696F6E20417869733242 -:107A2A002053746570436F756E74657220746F6F3E -:107A3A002068696768203A20004D616A6F72206D7C -:107A4A00616C66756E6374696F6E20417869733113 -:107A5A002053746570436F756E746572207A65720F -:107A6A006F004D616A6F72206D616C66756E63742A -:107A7A00696F6E2041786973312053746570436F62 -:107A8A00756E74657220746F6F2068696768203A32 -:107A9A0020004D616A6F72206D616C66756E637449 -:107AAA00696F6E20417869733120647572617469F7 -:107ABA006F6E20746F6F206C6F6E67203A200044DF -:107ACA0075726174696F6E3D00205341323D00202A -:107ADA005341313D00484D204475726174696F6E9F -:107AEA003D002130204572723A20484D203C617891 -:107AFA006973323E20737465702072617465203E2A -:107B0A002032354B2073746570732F7365636F6E03 -:107B1A00642E002130204572723A20484D203C6183 -:107B2A00786973313E2073746570207261746520C0 -:107B3A003E2032354B2073746570732F7365636F03 -:107B4A006E642E002130204572723A20737465707B -:107B5A007320746F20686F6D65206C61726765723F -:107B6A00207468616E2031362C3737372C32313524 -:107B7A002E002130204572723A203C6178697332B6 -:107B8A003E20737465702072617465203C20312E2A -:107B9A003331487A2E002130204572723A203C61F6 -:107BAA00786973323E20737465702072617465203F -:107BBA003E2032354B2073746570732F7365636F83 -:107BCA006E642E002130204572723A203C61786939 -:107BDA0073323E206C6172676572207468616E2030 -:107BEA0031363737373231352073746570732E006A -:107BFA002130204572723A203C61786973313E2007 -:107C0A00737465702072617465203C20312E3331A3 -:107C1A00487A2E002130204572723A203C617869F8 -:107C2A0073313E20737465702072617465203E2042 -:107C3A0032354B2073746570732F7365636F6E648E -:107C4A002E002130204572723A203C6178697331E6 -:107C5A003E206C6172676572207468616E203136ED -:107C6A003737373231352073746570732E002130FF -:107C7A00204572723A203C6D6F76655F6475726159 -:107C8A0074696F6E3E206C617267657220746861F8 -:107C9A006E203136373737323135206D732E00205A -:107CAA004A323D002053323D002041323D002052ED -:107CBA00323D00204A313D002041313D0020533100 -:107CCA003D0052313D005374617475733D00213596 -:107CDA00204572723A204E65656420636F6D6D614E -:107CEA00206E6578742C20666F756E643A202700C2 -:107CFA00506172616D383D00506172616D373D00AF -:107D0A00506172616D363D00506172616D353D00A2 -:107D1A00506172616D343D00506172616D333D0096 -:107D2A00506172616D323D00506172616D313D008A -:107D3A000D0A000A0D004F4B000A00213820457237 -:107D4A00723A20556E6B6E6F776E20636F6D6D6140 -:107D5A006E642027002138204572723A20436865F4 -:107D6A00636B73756D206E6F7420666F756E642019 -:107D7A006275742072657175697265642E002138A6 -:107D8A00204572723A20436865636B73756D20698A -:107D9A006E636F72726563742C20657870656374A4 -:107DAA00656420004C696D6974207377697463682F -:107DBA00207472696767657265642E20506F7274E9 -:107DCA00423D002137204572723A2045787472612B -:107DDA0020706172616D657465720021362045728A -:107DEA00723A20496E76616C696420706172616DC5 -:107DFA00657465722076616C756500213420457260 -:107E0A00723A204D697373696E6720706172616D91 -:107E1A0065746572287329002133204572723A20ED -:107E2A00525820427566666572206F766572727561 -:107E3A006E002132204572723A20545820427566EB -:107E4A00666572206F76657272756E002131204503 -:107E5A0072723A2043616E277420737465702074BD -:107E6A006861742066617374002130200020080064 -:107E7A00CFD9E6520001606B7D6BDF6A040EDF5CCE -:107E8A0014E2C0D9610EE926000ECFD9DF50AED96F -:107E9A00EF6AB8D96D0EE926000EC7D9B3D9750EA7 -:107EAA00E926000EC2D9DF2AE9D70001C60E806F83 -:107EBA000E0E816F3F0E79140009796ECF0E791478 -:107ECA000009796E79827B6A7A6A79900F01528108 -:107EDA005293F00EB4140909B46E0001040E7E6FB9 -:107EEA00030E7F6FC60E826F3B0E836F250E846F63 -:107EFA00580E856F040E8A6F900E866F010E876F7B -:107F0A00900E886F010E896F000EE66EE66A010E0A -:107F1A00E66EC5EC17F0E552E552E5528996E55250 -:107F2A007CD176D9E652DF6A040EDF5C0AE2DF50C2 -:107F3A005DD9EFCF33F0FE0EDB50335C0AE0DF2A67 -:107F4A00F3D7DF6A040EDF5C08E2DF504FD9EF5047 -:107F5A0002E1DF2803D0DF2AF5D7000EE5525DD112 -:107F6A0057D9070EE126DE6ADD6A020EDB6A030EC6 -:107F7A00DB6A040EDB6A050EDB6A060EDB6A010E9B -:107F8A00E66ED9CFE6FFDACFE6FF030E22D9020F5B -:107F9A0050D9010E1ED9030F4CD9030E1AD9050F59 -:107FAA0048D9030E4BD9E66AE66A04EC29F0E55291 -:107FBA00E5520001975122E1020EDB50180802E255 -:107FCA00978D1CD0050EDBCFE6FF060EDBCFE6FF52 -:107FDA00030EDBCFE6FF040EDBCFE6FF020EDBCF9C -:107FEA00E6FFDECFE6FFDDCFE6FF0FD8336E070EE2 -:107FFA00E15E3350E66A22EC29F0E552070EE15CB5 -:10800A0002E2E16AE552E16E08D102D9020EE126E6 -:10801A00FC0EDBCFE6FF85DFE552E76E010EE7CF08 -:10802A00DBFFDB5002E1000EC7D0D950FD0FE96E2D -:10803A00FF0EDA20EA6EEE50ED101FE1010EDB04AE -:10804A00D5D8EF500001EA6A8025E96E8151EA220B -:10805A00EF6AC4D8750EE926000EE7D8BFD86D0EB0 -:10806A00E926000EE2D8010EDB04C0D8EF6AB6D8C2 -:10807A00610EE926000ED9D89DD0010EDB04336EBD -:10808A0000017E51335C01E395D0FC0EDB501808E9 -:10809A0001E290D0FC0EDB50070802E10B01826B73 -:1080AA009DD8610EE926000EEA22EE50ED1010E18D -:1080BA00E66AFC0EDBCFE6FFA3EC33F0E552E552AD -:1080CA00E66AFC0EDBCFE6FF75EC33F0E552E552CB -:1080DA001850145CFDE2FC0EDB50040809E18986A5 -:1080EA00D5C0D1F0D6C0D2F0D7C0D3F0D8C0D4F022 -:1080FA0083D8EF6EF80EDBCF33F0F90EDBCF34F016 -:10810A00356A366A190E2E6E2F6A306A316A33C0A2 -:10811A0029F034C02AF035C02BF036C02CF066ECBA -:10812A0047F025C033F026C034F027C035F028C008 -:10813A0036F062D876D825C0EEFF34C0EEFF35C0DF -:10814A00EEFF36C0EEFF41D82A0E6BD8010EDBCF08 -:10815A00EFFF3BD8270E65D8FC0EDBCFEFFF35D8F3 -:10816A00280E5FD8FD0EDBCFEEFFFE0EDBCFEDFF54 -:10817A002CD82B0E56D8FA0EDBCFEEFFFB0EDBCF38 -:10818A00EDFF23D8020E4DD8D880EE54000EEE54DF -:10819A00190EEE54000EEE5407E217D8020E41D81B -:1081AA00EE6AEE6AEE6AEE6A152A1850155C01E369 -:1081BA00156A142A010EDB50336E020EE15C02E2EC -:1081CA00E16AE552E16E335028D015502F0D2BEF9E -:1081DA0041F034D8010EE66ED9501200010EDB04CC -:1081EA00E96EEA6AD890E936EA361200EA6A690F55 -:1081FA00E96E000EEA22120015502F0D000126D852 -:10820A00020E1200EA6ADF34FE0BEA36E96E120049 -:10821A00D9CFE6FFE1CFD9FF1200E552E7CFD9FF68 -:10822A001200E926000EEA221200EA22EE6AED6A3C -:10823A001200E66E000EDA20E66E1200E66E5EECC2 -:10824A0031F0E552E552E552E5521200FA51F324B3 -:10825A00E96EFB51F420EA6E1200040130511F0B43 -:10826A00010801E012003051600BE842E842E8429E -:10827A00E842E842010801E01200345103E0340503 -:10828A0001E012003151220A31E0030A24E0010A16 -:10829A0015E0210A0DE0010A01E012000101A00E19 -:1082AA00D86F050ED96F080EDB6FDC6BDA8121D02F -:1082BA000101A00ED86F050ED96F1BD036C4E0F1AC -:1082CA0037C4E1F10101800EDD6F050EDE6FE26B4E -:1082DA00E36BDF8F12000101800ED86F050ED96F94 -:1082EA00070EDB6FDC6BC10EDA6F120032C49BF52E -:1082FA000101DA8F12000501806B4B0E816F826BD0 -:10830A00836B846B856B080E866F8F6B1A0EE66E15 -:10831A00010EE66E69EC37F0E552E5521E0EE66E86 -:10832A00020EE66E69EC37F0E552E5521CD90501FA -:10833A00996B9A6B906B120041D965D9050E2B186F -:10834A0001E12C5002E0000E14D048D905019751E2 -:10835A00331804E19851341801E105D93FD90501D0 -:10836A009951331805E19A51341802E1906B956BD3 -:10837A00010E29D123D905018F6B9751981102E17A -:10838A00000E05D032D9EF50800B01E0010E000932 -:10839A002DE1FC0EDBCF33F028D9EE52EF50D88016 -:1083AA00335405E222D9EE52FC0EEFCFDBFF8F6B7E -:1083BA00FC0EDB508F5D19E28F51EA6A400FE96EBD -:1083CA00050EEA22EF50E66E8F51E76EFD0EDBCF07 -:1083DA00E9FFFE0EDBCFEAFFE750E926000EEA22AC -:1083EA00E552E750EF6E8F2BE3D7BDD805018F51C9 -:1083FA00EAD0E4D80501905107E1E9D8FC0EDBCFB9 -:10840A0095F5010E966F906FDED004D917E1C0D8AA -:10841A00DF2AFF0EDF5C0BE0010EDBCFE9FFDB2A70 -:10842A00020EDBCFEAFF01E3DB2AEF50F1E1CFD8FE -:10843A00DFCF95F50501010E966F906F030EE15C93 -:10844A0002E2E16AE552E16EBED0E4D818E1A0D8B2 -:10845A00DF2AFF0EDF5C0CE0010EDBCFF6FFDB2A22 -:10846A00020EDBCFF7FF01E3DB2A0800F550F0E14B -:10847A00AED8DFCF95F50501966B010E906F030E0E -:10848A00E15C02E2E16AE552E16E9DD097D8020E04 -:10849A00E126050199519A1102E1000E08D099C509 -:1084AA00E9FF9AC5EAFFEF50800B01E0010E0009CF -:1084BA0053E1030E905D01E1906B90514DE0020E85 -:1084CA00905D09E1E66A000EE66EE66A59D8050192 -:1084DA00030E906F41D090053FE1400E336E346A2F -:1084EA009551335C000E345803E2400EDF6E02D021 -:1084FA0095C5DFFFDF50955D956F000E936F050EF2 -:10850A00946F010EDFCFDBFF96510BE1010EDB50BA -:10851A0012E091C5F6FF92C5F7FF0800F55041D861 -:10852A00F5D7010EDB5007E091C5E9FF92C5EAFFD6 -:10853A00EF5037D8F6D70501955107E1400EDF5CB9 -:10854A0002E1020E01D0030E906FDFCFE6FF000EAC -:10855A00E66E050EE66E14D8020EE15C02E2E16AEE -:10856A00E552E16E30D0400EE66E400EE66E050E24 -:10857A00E66EE66A3FD8F3CF97F5F4CF98F5120086 -:10858A00010EE66E37D8F3CF99F5F4CF9AF51200BB -:10859A00DF6A39D8DE522BC0DEFF2CC0DDFFDD5288 -:1085AA00120093C5E9FF94C5EAFFEF6E932B000E04 -:1085BA009423912B9223010EDB061200D9CFE6FFFA -:1085CA00E1CFD9FF1200E552E7CFD9FF1200FD0E25 -:1085DA00DBCF91F5FE0EDBCF92F51200FB0EDBCF5F -:1085EA0033F0FC0EDBCF34F0120097C5E9FF98C5D3 -:1085FA00EAFF1200020EE66E8DEC37F0336E050EBE -:10860A00E15E33501200FD0EDBCF2BF0FE0EDBCF06 -:10861A002CF01200D3DF030EE1260501905112005F -:10862A00DDD8D0D80DE0CED8F3D8D950FC0FE96EFA -:10863A00FF0EDA20EA6EEE2A000EEE22EE22F1D7C3 -:10864A00F7D0CCD8D6D808E0D4D8E2D8FD0EDB2AA9 -:10865A00FE0EF8E3DB2AF6D7EBD0EED80F0E336E18 -:10866A00346A356AD950BFD8EE503316EE503416F4 -:10867A00EE503516EE5033C036F13350090802E396 -:10868A00300E01D0370E3625C8D873D8040ED890CC -:10869A003632353234323332E806F9E1FB0E33C072 -:1086AA00DBFFFC0E34C0DBFFFD0E35C0DBFFFE0E28 -:1086BA0036C0DBFF01013507FA0EDB5002E0FA0E85 -:1086CA00DB06C0D8CBE1FA0EDB50C8E16CD0B4D8D7 -:1086DA005DD897D825C036F1300E010125249DD8E2 -:1086EA0055D88FD8FB0E29C0DBFFFC0E2AC0DBFF52 -:1086FA00FD0E2BC0DBFFFE0E2CC0DBFF0101350790 -:10870A00A1D8E6E150D06AD8E1506DD8D890030ECE -:10871A00EB50000A08E6000EEE5C000EEE58000E62 -:10872A00EE58000EEE5815E22D0E72D82FD82E688C -:10873A002F683068316866EC47F0FB0E25C0DBFF16 -:10874A00FC0E26C0DBFFFD0E27C0DBFFFE0E28C095 -:10875A00DBFFD95048D8EECFE6FFEECFE6FFEECFEB -:10876A00E6FFEFCFE6FFB3DFE552E552E552E55209 -:10877A005FD0FB0EDBCF33F0FC0EDBCF34F0FD0E07 -:10878A00DBCF35F0FE0EDBCF36F01200FB0EDBCF6F -:10879A0029F0FC0EDBCF2AF0FD0EDBCF2BF0FE0E0C -:1087AA00DBCF2CF01200352B3551346A290F336E8A -:1087BA00010E342233C0E6FF34C0E6FF42DFE55241 -:1087CA00E55236D0FC0EDBCFF6FFFD0EDBCFF7FF0E -:1087DA00FE0EDBCFF8FF0800F5501200D9CFE6FFF6 -:1087EA00E1CFD9FF1200FB0FE96EFF0EDA20EA6E25 -:1087FA001200FD0EDBCFE9FFFE0EDBCFEAFFEF50E2 -:10880A0012000A0E2E6E2F6A306A316AFEEF47F0A6 -:10881A00E66EB4EC25F0E5521200E66E3551EA6ACE -:10882A00290FE96E010EEA22E552E750EF6E1200B7 -:10883A00E552E7CFD9FF1200D1DF0101346B0A0EEE -:10884A00356F120096DF335034103510361012008F -:10885A00D9CFE6FFDACFE6FFE1CFD9FFE2CFDAFFE1 -:10886A00060EE12402E3E168E652E16EDF6A010ED8 -:10887A00DB6AD950FA0FE96EFF0EDA20EA6E020EB1 -:10888A00EECFDBFF030EEECFDBFF040EEECFDBFFF6 -:10889A00050EEECFDBFFD950FA0FE96EFF0EDA2094 -:1088AA00EA6E060EE76ED890030EEB32020EEB323A -:1088BA00010EEB32EF32E706F6E1D950FA0FE96E14 -:1088CA00FF0EDA20EA6E060EE76ED890EF36010E3A -:1088DA00EB36020EEB36030EEB36E706F6E1D9501D -:1088EA00FA0FE96EFF0EDA20EA6E400EEE26000E4F -:1088FA00EE22000EEE22000EEE22FA0EDBCF37F049 -:10890A00FB0EDBCF38F0FC0EDBCF39F0FD0EDBCFF0 -:10891A003AF0D950020FE96E000EDA20EA6EEE50F4 -:10892A00375C336EEE503858346EEE503958356E27 -:10893A00EE503A58366E3350DF6ED950F80FE96E62 -:10894A00FF0EDA20EA6EEE50ED1065E0040EDB5001 -:10895A00F86E030EDB50F76E020EDB50F66EDF5038 -:10896A00DF0600091AE0F60EDBCFE9FFDB2AF70E75 -:10897A00DBCFEAFF01E3DB2AEF50F56E0D00F80EBC -:10898A00DB06DBCF33F0F90E01E2DB06DBCF34F096 -:10899A003350341001E101D0E2D7040EDB50F86EF7 -:1089AA00030EDB50F76E020EDB50F66EA684F2AEB3 -:1089BA0004D0F29EDE52010EDD6E550EA76EAA0E8F -:1089CA00A76EA682A694010EDB5003E0F28E010E7A -:1089DA00DB6A400EDF6E400E336E346A356A366AE1 -:1089EA00D950020FE96E000EDA20EA6EEE503326F5 -:1089FA00EE503422EE503522EE503622020E33C0AB -:108A0A00DBFF030E34C0DBFF040E35C0DBFF050EAF -:108A1A0036C0DBFF92D7060EE15C02E2E16AE5525C -:108A2A00E16EE552E5CFDAFFE7CFD9FF120064EC39 -:108A3A0023F005D8BCEC36F09CEC24F0FBD7D9CF58 -:108A4A00E6FFE1CFD9FF020EE1260F014869496925 -:108A5A00600ED36E9B8C580EDE6E020EDD6EDFCF7B -:108A6A0033F0DF06010EDBCF34F001E2DB063350D0 -:108A7A003410F5E1948ED6EC23F056EC36F0020E63 -:108A8A00E15C02E2E16AE552E16EE552E7CFD9FF25 -:108A9A001200120012001200120032EF41F012000E -:108AAA0080EF41F00101E6051EE10101E7051BE146 -:108ABA00F1DF65920101E76B0201100EFE6F0E0EE7 -:108ACA00FF6FFE07000EFF5BFE51FF11FAE165849E -:108ADA00080EFE6F070EFF6FFE07000EFF5BFE51CA -:108AEA00FF11FAE165941200D9CFE6FFE1CFD9FF71 -:108AFA00FD0EDBCF2BF0FE0EDBCF2CF0050E2B1874 -:108B0A0001E12C5036E0E8682B1802E17F0E2C18A0 -:108B1A002FE0030E2B1801E12C5028E0020E2B182F -:108B2A0001E12C5021E0010E2B1801E12C501AE032 -:108B3A00740E2B1801E12C5013E0750E2B1801E16D -:108B4A002C500CE0730E2B1801E12C5005E0720E2C -:108B5A002B180FE12C500DD09EDF0BD09ADF09D0D5 -:108B6A0099DF07D09DDF05D09ADF03D096DF01D0C9 -:108B7A0093DF010EE552E7CFD9FF1200D9CFE6FF06 -:108B8A00DACFE6FFE1CFD9FFE2CFDAFFE652E652CB -:108B9A00E652E652E652DF6AD950FA0FE96EFF0E44 -:108BAA00DA20EA6E010EEECFDBFF020EEECFDBFF1C -:108BBA00030EEECFDBFF040EEECFDBFFF60EDBCFAC -:108BCA0033F0F70EDBCF34F0F80EDBCF35F0F90EC9 -:108BDA00DBCF36F048D83350EE5C3450EE5835507F -:108BEA00EE583650EE5833E2030EDB50F86E020EA2 -:108BFA00DB50F76E010EDB50F66EA684A688F2AE45 -:108C0A0003D0F29E010EDF6E550EA76EAA0EA76E56 -:108C1A00A682DF5001E0F28E336A040E346E356AA2 -:108C2A00366A21D8EE503326EE503422EE503522E1 -:108C3A00EE503622010E33C0DBFF020E34C0DBFFDA -:108C4A00030E35C0DBFF040E36C0DBFFB7D7050EB7 -:108C5A00E15C02E2E16AE552E16EE552E5CFDAFF54 -:108C6A00E7CFD9FF1200D950010FE96E000EDA20C2 -:108C7A00EA6E12004542427631335F616E645F618B -:108C8A00626F7665204542204669726D776172652A -:108C9A002056657273696F6E20332E302E302D6127 -:108CAA00323300920F920F920F930F930F930F93F9 -:108CBA000F930F930F930F930F940F940F940F9496 -:108CCA000F940F940F940F940F950F950F950F957E -:108CDA000F950F950F890F890F890F8A0F8A0F8AAF -:108CEA000F8A0F8A0F8A0F8A0F8A0F8B0F8B0F8BAF -:108CFA000F8B0F8B0F8B0F8B0F8B0F8C0F8C0F8C97 -:108D0A000F8C0F8C0F8C0F00010500010203040564 -:108D1A000607000102030405060702030405060705 -:108D2A002A0EF66E100EF76E000EF86E010109009B -:108D3A00F5503C6F0900F5503D6F03E13C6701D0E7 -:108D4A003DD00900F550376F0900F550386F09001A -:108D5A00F550396F09000900F550E96E0900F55020 -:108D6A00EA6E090009000900F5503A6F0900F5504A -:108D7A003B6F09000900F6CF3EF1F7CF3FF1F8CF7C -:108D8A0040F137C1F6FF38C1F7FF39C1F8FF0101D9 -:108D9A003A5302E13B5307E00900F550EE6E3A07F9 -:108DAA00F8E23B07F9D73EC1F6FF3FC1F7FF40C1E2 -:108DBA00F8FF01013C07000E3D5BBFD71200D9CF77 -:108DCA00E6FFDACFE6FFE1CFD9FFE2CFDAFFE652DC -:108DDA00E652E652E652D9CFE9FFDACFEAFFFA0EB7 -:108DEA00DBCFEEFFFB0EDBCFEEFFFC0EDBCFEEFFA1 -:108DFA00FD0EDBCFEEFF020EDB50F86E010EDB50EC -:108E0A00F76EDF50F66EF80EDBCF33F0DB06F90EA5 -:108E1A00DBCF34F001E2DB06335034100DE00900F9 -:108E2A00F60EDBCFE9FFDB2AF70EDBCFEAFF01E321 -:108E3A00DB2AF5CFEFFFE7D7040EE15C02E2E16A35 -:108E4A00E552E16EE552E5CFDAFFE7CFD9FF12002E -:108E5A00D9CFE6FFDACFE6FFE1CFD9FFE2CFDAFFDB -:108E6A00AD6AAC6AFD0EDBB0AD88DBA202D0AD8C78 -:108E7A00AC8CDBB4AD8EDBA602D0AC8801D0AC8A58 -:108E8A00DBB8AD84DBBAAC86DBAC02D09D8A01D0FC -:108E9A009D9ADBAE02D09D8801D09D98FB0EDB50D7 -:108EAA00B06EFC0EDBCF34F034C033F0346A33508A -:108EBA007F6EAD8AAC8EE552E5CFDAFFE7CFD9FFF8 -:108ECA00120029502E02F3CF25F0F4CF26F02F02FC -:108EDA00F3502626000EF420276E29503002F35054 -:108EEA002726000EF420286E29503102F350282636 -:108EFA002A502E02F3502626F4502722000E28224A -:108F0A002A502F02F3502726F45028222A503002E2 -:108F1A00F35028262B502E02F3502726F4502822ED -:108F2A002B502F02F35028262C502E02F3502826BD -:108F3A001200236AE86A31AEABEF47F02E6C2F1E9F -:108F4A00301E311E2F2230223122231E2CAEB6EFC4 -:108F5A0047F0296C2A1E2B1E2C1E2A222B222C2279 -:108F6A00231EFEEC47F02CBECDEF47F023AE000CDB -:108F7A00296C2A1E2B1E2C1EE86A2A222B222C223E -:108F8A00256C261E271E281E262227222822000C90 -:108F9A0023BEBDEF47F02488FF0C12010002020035 -:108FAA000040D80492FD8201010203010902430034 -:108FBA00020100C032090400000102020100052476 -:108FCA000010010424020205240600010524010000 -:108FDA00010705810308000209040100020A0000D2 -:108FEA00000705020240000007058202400000B6A1 -:018FFA008FE7 -:108FFC00286A276A266A256A200EE76ED8902936D9 -:10900C002A362B362C3625362636273628362E5041 -:10901C00255C2F502658305027583150285809E3DA -:10902C002E50255E2F50265A3050275A3150285A30 -:10903C00292AE72EE4D71200FE0EE3CFE9FFFF0E3C -:10904C00E3CFEAFFE9CFF3FFEACFF4FFFB0EE350E7 -:10905C0003E1FC0EE35009E0FB0EE30602E2FC0E1A -:10906C00E306FD0EE350EE6EF1D71200D9CFE6FF0A -:10907C00DACFE6FFE1CFD9FFE2CFDAFFADAC04D017 -:10908C00AD900001FCB3AD80FD0EDB50AE6EE55231 -:10909C00E5CFDAFFE7CFD9FF1200FF0EE124E96E2E -:1090AC00FF0EE220EA6EEDCFF4FFEFCFF3FFF46694 -:1090BC0007D0600EF36404D07B0EF36001D0F39AFA -:1090CC001200C00EF36E00EE00F00E0E01D812006E -:1090DC00EA6002D0EE6AFCD7F350E9601200EE6A47 -:1090EC00FCD71DEE00F02DEE00F0F86A249C95ECF8 -:1090FC0046F090EC48F01CEC45F0FBD71200F36AFC -:10910C00F46AF32A0F0B05E0D890F336F436E80432 -:10911C00FBE112001200040309041803530063005E -:10912C0068006D0061006C007A00480061007500F9 -:10913C00730038034500690042006F007400420060 -:10914C006F006100720064002C00200020002000E1 -:10915C002000200020002000200020002000200003 -:10916C0020002000200020002000220320002000EE -:10917C0020002000200020002000200020002000E3 -:10918C00200020002000200020002000800284020B -:0D919C009C02D4020006000000000000004C +:103CFA001200D76DD81FD823D91FD923DA1FDA2388 +:103D0A001200CF6DD01FD023D11FD123D21FD223AF +:103D1A001200DB6DDC1FDC23DD1FDD23DE1FDE234B +:103D2A001200D36DD41FD423D51FD523D61FD62373 +:103D3A001200BF55FF0EC055FF0EC155000EC255E9 +:103D4A00120094D939501200010EDB50EA6A580F5A +:103D5A00E96E010EEA221200D235000ED2191200C3 +:103D6A00D635000ED619120081899307000E945B8E +:103D7A00955B965B1200F36E010EF3CFDBFF020E2A +:103D8A00DB6A1200010EDBCF86F0020EDBCF87F072 +:103D9A0012000101C36B800EC46FC56BC66B1200A3 +:103DAA000101010EC36FC46BC56BC66B1200010E15 +:103DBA00E66ED9CFE6FFDACFE6FF1200610EE926FA +:103DCA00000EEA221200D751D811D911DA111200C5 +:103DDA00DB51DC11DD11DE1112002B6B2C6B2D6B0C +:103DEA002E6B1200D70EE96E010EEA6E1200DF0E7C +:103DFA00E96E010EEA6E1200DB0EE96E010EEA6E42 +:103E0A001200DECFE6FFDDCFE6FF1200F36E020EF0 +:103E1A00F3CFDBFF1200EDD9B5EC1AF01F0EBEDCB2 +:103E2A00EECF9FF1EECFA0F1EECFA1F1EFCFA2F14D +:103E3A00B5EC1AF01F0E82DAEECFA3F1EECFA4F1A1 +:103E4A00EECFA5F1EFCFA6F1B5EC1AF0170EA6DC6E +:103E5A00EECF97F1EECF98F1EECF99F1EFCF9AF13D +:103E6A00B5EC1AF0170E6ADAD6EF1DF072DAE66AC6 +:103E7A00120002DAE70EE66E010E8AEF21F0EAD9A5 +:103E8A00F50E476E7A0EAAEC1AF0CFC1E6FFD0C142 +:103E9A00E6FFD1C1E6FFD2C1E6FF52DCEF0E476E64 +:103EAA007A0EAAEC1AF0D3C1E6FFD4C1E6FFD5C157 +:103EBA00E6FFD6C1E6FF7EEF21F02F0D000106D204 +:103ECA002CDA84DD010EA4EF1AF00F0BDBEF1BF0E6 +:103EDA003ADA020E63DC89EF1CF01FDAE66AC30ED7 +:103EEA00E66E010E8AEF21F00CEC48F0D880190E2C +:103EFA003D54000E3E54000E3F54000E4054120032 +:103F0A00BFC13DF0C0C13EF0C1C13FF0C2C140F0E7 +:103F1A001200040EDB6A66DF0101C751EE24476E08 +:103F2A00C851EE20486EC951EE20496ECA515DEF64 +:103F3A001BF0EFD943DDF1D9E66ABF0EE66E010E3A +:103F4A00E4D9E66A1200AAEC1AF0C3C1E6FFC4C1BA +:103F5A00E6FFC5C1E6FFC6C1E6FFAAEC1BF022DCFC +:103F6A00CEEF1EF0E30E476E7C0EAAEC1AF038C1B3 +:103F7A00E6FF39C1E6FF3AC1E6FF3BC1E6FFAAEF19 +:103F8A001BF0190EEAD9DBDC0CEC48F04EDCDE6AD9 +:103F9A00DE6ADE6ADD6A12002ADFD751EE24476E36 +:103FAA00D851EE20486ED951EE20496EDA515DEFB4 +:103FBA001BF077D90CEC48F038DC0F0E0101120027 +:103FCA007FEC1BF0A5EC1BF0F7EF1CF0AE6E0F0EAA +:103FDA001214DBEF1BF0AE6E0F0E1114DBEF1BF0A9 +:103FEA00AE6E0F0E1014DBEF1BF0AE6E0F0E0F1439 +:103FFA00DBEF1BF0AAEC1AF03CC1E6FF3DC1E6FF7D +:10400A003EC1E6FF3FC1E6FFAAEF1BF0DACFEAFFA7 +:10401A00EECFE6FFEECFE6FFEECFE6FFEFCFE6FF0D +:10402A00A5EF1BF06DD9E66E85EF1BF0A4EC1AF034 +:10403A00000197511200010EE66E85EF1BF0486AE7 +:10404A007FEC1BF0AAEF1BF0DECF3EF0DECF3FF095 +:10405A00DECF40F0DDCF41F0DD52DD52120048C024 +:10406A00E6FF49C0E6FF4AC0E6FF1200426843681D +:10407A004468456874EF47F0E552E552E55212008C +:10408A008751232688512422895125228A512622A2 +:10409A0012008B5127268C5128228D5129228E51AC +:1040AA002A221200DFDC54EC1CF0CADCB8EF1AF04A +:1040BA00E2DC54EC1CF0CDDCB8EF1AF001018CDC28 +:1040CA0007EC15F023EC1CF0EE50120047C03DF04F +:1040DA0048C03EF049C03FF04AC040F012009AEC96 +:1040EA001BF0ACEC47F01AEC1CF00F0E1F0B120081 +:1040FA002F0DECD0BF55000EC055000EC155000E55 +:10410A00C2551200B5EC1AF00F0ED3EF1BF0B2EC49 +:10411A001BF0050EC7EF1CF0E66E000EDA20E66E05 +:10412A001200B5EC1AF0060ED3EC1BF0EFCF86F1B5 +:10413A001200B5EC1AF0EE52EFCF81F1B5EF1AF09A +:10414A00E80E476E7C0EAAEC1AF009EF1EF0D40EA8 +:10415A00476E7C0EAAEC1AF012EF1EF04DEC1CF022 +:10416A00750EE926000EEA2212004DEC1CF06D0EC7 +:10417A00E926000EEA2212009AEC1BF0CAC1F5FFEA +:10418A00ACEF47F0AAEC1AF0D7EC1BF0D5EF1EF013 +:10419A0018EC40F0476E070EE15E475012001F0E02 +:1041AA00426E050E436E446A456A12004DEC1CF0DD +:1041BA00E3EF1EF023EC1CF0EE50ED101200AAEC17 +:1041CA001AF0020EE66E1200CF6BD06BD16BD26B77 +:1041DA001200A4EC1AF071EF1EF0E552E7CFD9FFF6 +:1041EA00120030EC29F0E5521200B2EC1BF0E65254 +:1041FA001200A9D8070ED3EC1BF0EECF87F1EECF51 +:10420A0088F1EECF89F1EFCF8AF1B5EC1AF0070EFB +:10421A0095D81CEF1DF0E9DF80D8E66AC70EE66E76 +:10422A00010E24DECF0EE66E010E82D01FDEDB0EFB +:10423A00E66E010E1BDEE30EE66E010E1ADEDF6E7F +:10424A00000197511200D1DF48DEE66AC70EE66E1A +:10425A00010E6ED0AAEC1AF0BFC1E6FFC0C1E6FF9C +:10426A00C1C1E6FFC2C1E6FFAAEF1BF0FFDDDB0E0C +:10427A00E66E010E3EEF1FF06CD8010EE66E1200DC +:10428A00AE6E11386AEF1FF0AE6E10386AEF1FF08B +:10429A00AE6E0F386AEF1FF0190E5FD831DE74EF79 +:1042AA0047F0BFC142F0C0C143F0C1C144F0C2C12E +:1042BA0045F01200D9CFE9FFDACFEAFF1200010E6A +:1042CA00E66ED950030F28DF010E1200FA51F324CB +:1042DA00E96EFB51F420EA6E1200A4EC1CF054ECD7 +:1042EA001CF079EF1FF0010EDBCF47F0A8DE0101C9 +:1042FA001200A5EC1BF0D7EF1BF0E2DD44EF1CF037 +:10430A00E126DF6A010EDB6A1200E66E070EA4EFF1 +:10431A001AF0B2EC1BF0040E1200E66A85EF1BF0ED +:10432A00CB0EE66E010EA2DDD30EE66E010E120072 +:10433A009DDDD70EE66E010E3BEF1FF0D3EC1BF0AE +:10434A00040ED3EF1BF0B5EC1AF0EFCF80F1B5EF06 +:10435A001AF0E66E060EA4EF1AF0426E436A446A39 +:10436A00456A1200D8CFE4FFE0CFE4FFE46EDACF6B +:10437A00E4FFE9CFE4FFEACFE4FFF3CFE4FFF4CFB1 +:10438A00E4FFE65299EC35F0A4A641D1A4960001C7 +:10439A00602B00017F510001605D01E29BD0606BE0 +:1043AA000001B2EC34F0EF6A79907B6A7A6A000114 +:1043BA007D2B00017E5100017D5D01E37D6B2BECBD +:1043CA0036F0EA22EE50ED1001E184D01EEC36F010 +:1043DA00EECF51F0EFCF52F051504F1802E1525048 +:1043EA0050185DE06EEC35F0EA22EE50ED1051E027 +:1043FA001EEC36F00001EE504F5CE26FEE50505862 +:10440A00E36FE83422E2E2510008000EE3551DE2B0 +:10441A0000016EEC35F02AEC34F000015050E3193B +:10442A00E8AE02D0E33504D0E2514F5CE351505874 +:10443A000AE200016EEC35F03FEC35F04F50EE2603 +:10444A005050ED222CD0000124D0E2C04FF0E3C03E +:10445A0050F04F6C501E000E502200016EEC35F0E9 +:10446A00EA22EECF51F0EFCF52F052505018E8AE98 +:10447A0002D0503404D04F50515C5050525809E287 +:10448A006EEC35F03FEC35F04F50EE5E5050ED5A81 +:10449A0006D01EEC36F04FC0EEFF50C0EDFFB2EC76 +:1044AA0034F0120EEF6EF29E0001BAEC35F050C0F5 +:1044BA004FF0506A4F50B66EBAEC35F04F50B56EA9 +:1044CA00F00EB4140009B46EF00EB4140909B46EF7 +:1044DA007980F28E0001000ED8808D55000E8E551F +:1044EA002EE29B2B000E9C238D519B5D8E519C5975 +:1044FA0026E39B6B9C6B030E915D1FE28F51EA6A68 +:10450A00200FE96E010EEA2280CFEFFF8F51EA6A8F +:10451A00230FE96E010EEA2281CFEFFF8F51EA6A7B +:10452A00260FE96E010EEA2282CFEFFF8F2B030ED0 +:10453A008F5D01E38F6B912B02D08D6B8E6B000E1A +:10454A00D8809255000E93551CE2000ED880A155D2 +:10455A00000EA25516E29D2B000E9E2392519D5DE0 +:10456A0093519E590EE39D6B9E6B030E965D07E277 +:10457A00942B030E945D01E3946B962B02D0926BFD +:10458A00936BA151A2110BE0050EA05D07E3C18C4C +:10459A009E9C9D8CC280C282A06B01D0A02B01017F +:1045AA00B95101E0B9070001D151D211D311D41187 +:1045BA000BE0D107000ED25BD35BD45BD151D21191 +:1045CA00D311D41101E18996020EA85D20E1AB5105 +:1045DA00AC111DE0AB07000EAC5BAB51AC1117E19F +:1045EA00AD51AE1114E0AD07000EAE5BAD51AE1188 +:1045FA000AE1045003E18D808B8202D08C82898289 +:10460A00030EA86F04D0E80EAB6F030EAC6F9EAC1E +:10461A004FD09E9CC1AC07D0C19C010E0001A36F74 +:10462A00A46B9F6B2AD0C450516E526E516AC3500C +:10463A00000151104F6E52C050F000019F51E96EB7 +:10464A00EA6A89EC35F0EA224FC0EEFF50C0EDFF6E +:10465A000B0E9F5D0EE19F51E96EEA6A89EC35F017 +:10466A002AEC34F0A5514F5CA651505802E2010ED3 +:10467A00A76FD890A337A4379F2B100E9F5D0EE229 +:10468A00A351A1154F6EA451A215506E4F50501050 +:10469A0005E19F2BD890A337A437EFD7100E9F5D63 +:1046AA0002E39D9C05D09F51040DF328C26EC2827D +:1046BA00E552E552E7CFD9FFE552E5CFF4FFE5CF62 +:1046CA00F3FFE5CFEAFFE5CFE9FFE5CFDAFFE550F3 +:1046DA00E5CFE0FFE5CFD8FF1000D9CFE6FFE1CF65 +:1046EA00D9FF020EE126DE6ADD6AE2CFE4F0E1CF0D +:1046FA00E5F0E4C047F047C048F0476A0001E551D9 +:10470A0000014710E66F48C0E7F0E6C0DEFFE7C0E9 +:10471A00DDFF080EDE26000EDD22D9CFE9FFDACF53 +:10472A00EAFFBF0ED880EE540E0EED540BE3DECF37 +:10473A00E9FFDDCFEAFFEE0EEF6EDF2A010E01E39D +:10474A00DB2AEBD7020EE15C02E2E16AE552E16E96 +:10475A00E552E7CFD9FF120034EC36F0BF0EF36E04 +:10476A00010EF3CFDBFF0E0EF36E020EF3CFDBFF6B +:10477A00F28C010EDBCFE9FF020EDBCFEAFFEF502E +:10478A00EE0806E1010EDB06020EF3E2DB06F1D7C4 +:10479A0002EC35F000014750E05D4850E15906E26D +:1047AA00010EDBCFE0F0020EDBCFE1F0F28C030E5C +:1047BA00E15C02E2E16AE552E16E00EF34F03CECC2 +:1047CA0036F0896A92680001A16BA26B8A6A9368C3 +:1047DA008B6A94688C968C9495969594928E010E19 +:1047EA00D06F976B956B946B966B906B8F6B916B8D +:1047FA008D6B8E6B926B936B9B6B9C6B9D6B9E6BA5 +:10480A009F6B76827680769C769A76887696FA0E72 +:10481A00776EDE6ADD6AC5EC34F0100E475C000E76 +:10482A00485813E2CAEC34F0010ED890E936EA3659 +:10483A00E806FBE1000EE926010EEA22EE6AED6ABD +:10484A00DF2A010EE8E3DB2AE6D70001CA6BCB6B4D +:10485A00C86BC96BDE6ADD6AD1EC35F00AE2CAECD4 +:10486A0034F0000EE926020E2CEC35F0F5E3DB2AD3 +:10487A00F3D7DE6ADD6AD1EC35F00AE2CAEC34F02D +:10488A00400EE926020E2CEC35F0F5E3DB2AF3D7CD +:10489A00DE6ADD6AC5EC34F0000E475C010E48584A +:1048AA000AE2CAEC34F0000EE926030E2CEC35F0CD +:1048BA00F1E3DB2AEFD70001CC6BCD6BCE6BCF6B6C +:1048CA00986B996B9A6B0F01498FBE0EC16ED08E91 +:1048DA007694A386A596B3EC0DF04BEC3FF0768464 +:1048EA0098EC30F00001DC6BDD6BDE6BDF6BD16BBB +:1048FA00D26BD36BD46B600ED56FEA0ED66FD76BC3 +:10490A00D86B010ED96FE06BE16BA56BA66BA96B37 +:10491A00AA6BAB6BAC6BAD6BAE6BA86BA76B9592CE +:10492A00959092929490929A020EE66EE66A1C0E06 +:10493A00E66E3BEC47F027EC36F0020EE15C02E251 +:10494A00E16AE552E16E00EF34F0FBEC33F0050E5C +:10495A00E12609EC35F015EC33F00001915100081D +:10496A000AE22DEC2DF00001902B030E905D01E17F +:10497A00906B9107F2D7965100080AE24AEC2DF0A3 +:10498A000001952B030E955D01E1956B9607F3D710 +:10499A00200E0501E76EA819E8AE02D0E73402D06E +:1049AA00E750A85D01E2E1D06550020B01E0DDD0DD +:1049BA00400EE66E400EE66E020EE66ECDEC41F05B +:1049CA0027EC36F0E76E020EE7CFDBFFDB5000087C +:1049DA0070E2030EDB6A020EDB50F36E030ECFECBD +:1049EA0034F067E2030EDB50EA6A400FE96E020E0A +:1049FA00EA22040EEFCFDBFF09A805D0DBCFE6FFE2 +:104A0A004AEC48F0E5520101F95119E10D0E476EE1 +:104A1A00040EDB50475C06E00A0E486E040EDB50BB +:104A2A00485C0DE1010EF96F0001E9EC34F00D0E5E +:104A3A00EF6ECA2BF7D80001CA6BCB6B2AD0040ED3 +:104A4A00DB5008080EE10001CA5100080AE2CA0751 +:104A5A00E9EC34F0EF6A930E476E7E0EDFEC33F02A +:104A6A0018D0040EDB500D0814E0040EDB500A08BF +:104A7A0010E0200EF36E040ECFEC34F00AE30001CE +:104A8A00E9EC34F0040EDBCFEFFF0101F96B000112 +:104A9A00CA2B0001CA51476E486A000E471806E140 +:104AAA00010E481803E19787CA6BCB6B030EDB2A0A +:104ABA0092D70001975139E097A105D08F0E476E22 +:104ACA007E0E68EC35F0000197A305D0720E476E92 +:104ADA007E0E68EC35F0000197A505D0580E476E9A +:104AEA007E0E68EC35F0000197A705D03E0E476EA2 +:104AFA007E0E68EC35F0000197A905D0210E476EAD +:104B0A007E0E68EC35F0000197AD05D0010E476EB8 +:104B1A007E0E68EC35F0000197AF05D0E90E476EBE +:104B2A007D0E68EC35F00001976BDD511DE0010E3A +:104B3A000E1414E0DE5112E1CA0E476E7D0EDFEC50 +:104B4A0033F0020EE66EDCC047F0486A04EC34F03B +:104B5A00E9EC33F00001010EDE6F06D0010E0E14EF +:104B6A0003E1DE5101E0DE6B37D8050EE15C02E2BB +:104B7A00E16AE552E16E00EF34F099EC35F0C8C015 +:104B8A00DFFFDF2A400E4DEC34F001E1DF6A00015D +:104B9A00C951DF5C01E120D80001C851EA6A000F5F +:104BAA00E96E020EEA22FE0EDBCFEFFFC82B400EA3 +:104BBA00C85D01E1C86BC951C85D01E19785FE0E68 +:104BCA00DBCF47F0486A47BE486847C0F3FF48C092 +:104BDA00F4FFE55200EF34F099EC35F00001C851CA +:104BEA00C95D1DE00501905105E059EC42F0CAEC9F +:104BFA0036F0F8D70001C951D880C85507E2C95123 +:104C0A00C85D70EC34F0C8C0C9F007D0400ED88037 +:104C1A00C95570EC34F00001C96B59EC42F0E55209 +:104C2A0000EF34F0FBEC33F0090EE126DE6ADD6AB0 +:104C3A00020EDB6A030EDB6A050EDB6A010EF36EF7 +:104C4A00060EF3CFDBFF0001DA6BDB6BDF5101E10C +:104C5A008ED0060EDB6A040ECAC0DBFFDB5003E00F +:104C6A00040EDB0602D0040EDB68040EA5EC34F059 +:104C7A00EF502C0816E0050EF36EDBCFF4FFE85078 +:104C8A00F45C0FE2040EDB50CB5D0BE0040EDB504C +:104C9A0003E0040EDB0602D0040EDB68050EDB2AF5 +:104CAA00E4D7040EA5EC34F0EF502C0857E1070EB8 +:104CBA00CBC0DBFF040EDBCFCBF0E66AD950020F84 +:104CCA003BEC35F0070EDBCFCBF0080ECBC0DBFF99 +:104CDA00040EDB50F36E080EDB50F35C18E0080E8E +:104CEA00A5EC34F0030EDBCFE7FFEF50E726030E07 +:104CFA00E7CFDBFF080EDB2ADB50476E486AE85035 +:104D0A00E7E1010E4818E4E1080EDB6AE1D7030E79 +:104D1A00DB1C010FE76E030EE7CFDBFF020EDB5051 +:104D2A00F36E030EDB50F35C0BE1010EF36E060E1D +:104D3A00F3CFDBFF040EA5EC34F00D0EEF6E17D0A7 +:104D4A00A40E476E7D0EDFEC33F0030EE5EC34F073 +:104D5A0060EC36F07AEC43F0E55205D07B0E476EF4 +:104D6A007D0E90EC35F027EC36F0E9EC33F0060EC8 +:104D7A00DB5001E148D20001ECEC33F010EC35F0E5 +:104D8A00F3CFDAF0000113EC34F004E1010E481815 +:104D9A0001E1CB6BDA51DE6EDD6AECEC33F02C0804 +:104DAA0023E0ECEC33F00D081FE0ECEC33F00A08DA +:104DBA001BE0ECEC33F010EC35F0F3CFDBF0000144 +:104DCA0013EC34F004E1010E481801E1CB6BDAC0B0 +:104DDA004AF0496ADB5100014924476E000E4A2015 +:104DEA00486E47C0DEFFDD6E000EDFCF3FF0010EDA +:104DFA00DBCF40F0550E3F1802E1510E401801E199 +:104E0A00D2D14D0E3F1802E1480E401801E1C8D137 +:104E1A00520E3F1802E1530E401801E1BED1520E64 +:104E2A003F1802E1510E401801E1B4D1420E3F1879 +:104E3A0002E1520E401801E1AAD1540E3F1802E1D4 +:104E4A00510E401801E1A0D1540E3F1802E1530E51 +:104E5A00401801E196D1530E3F1802E1430E401863 +:104E6A0001E18CD1530E3F1802E1510E401801E1C5 +:104E7A0082D14D0E3F1802E1580E401801E178D157 +:104E8A00530E3F1802E1450E401801E16ED1430E60 +:104E9A003F1802E1410E401801E164D14D0E3F185E +:104EAA0002E1510E401801E15AD1320E3F1802E1D7 +:104EBA00530E401801E150D1450E3F1802E1530E3E +:104ECA00401801E146D1470E3F1802E1510E401841 +:104EDA0001E13CD1430E3F1802E1510E401801E1B5 +:104EEA0032D14B0E3F1802E1430E401801E128D19E +:104EFA004C0E3F1802E1420E401801E11ED1440E49 +:104F0A003F1802E14E0E401801E114D1490E3F1834 +:104F1A0002E14E0E401801E10AD1420E3F1802E1A9 +:104F2A00510E401801E100D14C0E3F1802E1510E1A +:104F3A00401801E1F6D04C0E3F1802E1530E40181A +:104F4A0001E1ECD04E0E3F1802E1510E401801E18A +:104F5A00E2D04E0E3F1802E1530E401801E1D8D0BC +:104F6A00430E3F1802E1530E401801E1CED04D0E18 +:104F7A003F1802E1450E401801E1C4D0450E3F1822 +:104F8A0002E1510E401801E1BAD0500E3F1802E179 +:104F9A00510E401801E1B0D0500E3F1802E1540EF4 +:104FAA00401801E1A6D0500E3F1802E1530E4018F6 +:104FBA0001E19CD04D0E3F1802E1530E401801E169 +:104FCA0092D0570E3F1802E14D0E401801E188D0E9 +:104FDA00520E3F1802E14D0E401801E17ED0440EF8 +:104FEA003F1802E1500E401875E04F0E3F1802E1DB +:104FFA00500E40186CE0490E3F1802E1500E40185E +:10500A0063E0410E3F1801E140505BE0560E3F1845 +:10501A0001E1405053E0490E3F1801E140504BE096 +:10502A004F0E3F1801E1405043E0550E3F1802E190 +:10503A00430E40183BE0430E3F1801E1405034E074 +:10504A00520E3F1801E140502DE04D0E3F1802E18B +:10505A004C0E401824E0330E3F1802E1540E40185B +:10506A001BE0330E3F1802E14C0E401812E0540EBA +:10507A003F1802E14C0E401809E00001DB5101E043 +:10508A0094D0BDEC35F0C3EC35F0A3D0D1EC0FF0E1 +:10509A00A8D076EC0FF0A5D0B1EC0FF0A2D047EC77 +:1050AA000FF09FD0FBD89DD0EDDB9BD0FED899D0D6 +:1050BA00F7EC2CF096D02DEC2DF093D043EC2DF09C +:1050CA0090D04AEC2DF08DD082EC2EF08AD0F7ECFD +:1050DA002EF087D0E6EC2DF084D0C7EC2DF081D0ED +:1050EA00ACEC2DF07ED0EFEC11F07BD0A1EC17F0F8 +:1050FA0078D07DEC17F075D0FFEC16F072D018EC72 +:10510A0017F06FD016EC18F06CD084EC0EF069D062 +:10511A0076EC18F066D094EC18F063D0A6EC18F090 +:10512A0060D0C2EC18F05DD0E4EC18F05AD054EC20 +:10513A0018F057D067EC18F054D0ABEC2FF051D0E0 +:10514A00FDEC2FF04ED0F8EC18F04BD00FEC19F024 +:10515A0048D041EC19F045D0C3EC3FF042D029ECDD +:10516A001AF03FD0DDEC2CF03CD0B2EC16F039D07E +:10517A0058EC14F036D069EC1AF033D09FEC1AF0E0 +:10518A0030D0DBEC30F02DD011EC31F02AD0B3EC7A +:10519A002FF027D0BAEC2FF024D0CAEC2FF021D070 +:1051AA0086EC12F01ED0FFDA1CD0BDEC35F0DBC065 +:1051BA00E6FFE3DCE552C3EC35F00FEC36F0DAC07B +:1051CA00E6FF43EC35F0D7EC35F0020EE66EDBC0B5 +:1051DA0047F0486A04EC34F0270E0EEC34F0E9ECA0 +:1051EA0033F00001ECEC33F00D080DE097510BE1C0 +:1051FA00520E476E486ADF50471803E1DE52DD500F +:10520A00481801E0978FCAC0CBF0090EE15C02E2B0 +:10521A00E16AE552E16E00EF34F099EC35F02C0EBC +:10522A00DF6E010E0101BE1503E1FE0EDB5010E038 +:10523A00F1EC34F00001DB5104E0DBC0E6FF9DDC59 +:10524A00E552FD0EDB5004E0DFCFE6FF96DCE552C7 +:10525A00E55200EF34F0FBEC33F00101BEA104D0BB +:10526A005F0E476E7D0E16D00001D05108E0FE0E8B +:10527A00DB5005E15C0E476E7D0EDFEC33F0FE0E6F +:10528A00DB50020804E1590E476E7D0E03D0560E1C +:10529A00476E7D0EDFEC33F000EF34F040EC36F071 +:1052AA0034EC34F099DCE4EF23F0D9CFE6FFE1CF18 +:1052BA00D9FF030EE126E66AE66AAFDFE552E55258 +:1052CA00E66AD9CFE6FFDACFE6FF010EE66E6CECAE +:1052DA0031F0E552E552E552E552E66AD950010F3E +:1052EA00E66E000EDA20E66E020EE66E6CEC31F027 +:1052FA00E552E552E552E5520001975101E049D2E3 +:10530A00DF041AE1D950010FE96EDACFEAFFEE5055 +:10531A00ED100BE0010E476E486A010EDB5047188C +:10532A0003E1020EDB50481804E1010EDBCFD0F096 +:10533A0002D00001978D2AD2020E476EDF50475CD9 +:10534A001AE1D950010FE96EDACFEAFFEE50ED10FB +:10535A000BE0010E476E486A010EDB50471803E165 +:10536A00020EDB50481804E1010EDBCFBDF102D07A +:10537A000001978D0BD2030E476EDF50475C1CE18C +:10538A00D950010FE96EDACFEAFFEE50ED1003E1D2 +:10539A0006908C9410D0010E476E486A010EDB50BD +:1053AA00471803E1020EDB50481803E106808C948B +:1053BA0002D00001978DEAD1040E476EDF50475C98 +:1053CA001DE1010EDBCF47F0020EDBCF48F0483477 +:1053DA0004E247502008000E485407E2200EF36EFC +:1053EA00010EF3CFDBFF020EDB6AE4EC19F00009D1 +:1053FA0001E0FBD7010EDB50186EC8D10A0E476ECA +:10540A00DF50475C1CE1D950010FE96EDACFEAFFA1 +:10541A00EE50ED1003E10101BE9110D0010E476E6E +:10542A00486A010EDB50471803E1020EDB504818A8 +:10543A0003E10101BE8102D00001978DA7D1320E8E +:10544A00476EDF50475C0FE1D950010FE96EDACFA2 +:10545A00EAFFEE50ED1003E10001D96B03D0000121 +:10546A00010ED96F93D1330E476EDF50475C11E1BD +:10547A00FF0EE76E010EDBCF47F0020EDBCF48F0DE +:10548A00E7504716486A47500C6E0C5001E10E90DF +:10549A007DD1340E476EDF50475C0EE1FF0EE76E9A +:1054AA00010EDBCF47F0020EDBCF48F0E75047167C +:1054BA00486A47500D6E6AD1350E476EDF50475C19 +:1054CA0014E1010E476E486A010EDB50471803E1EA +:1054DA00020EDB50481804E10001010EDD6F04D012 +:1054EA000001DD6B0001DE6B51D1360E476EDF50D5 +:1054FA00475C12E1010E476E486A010EDB504718FD +:10550A0003E1020EDB50481804E10001010EDF6FCF +:10551A0002D00001DF6B3AD13C0E476EDF50475C88 +:10552A000DE1010EDBCFA5F0020EDBCFA6F0FF0ED8 +:10553A000001A517030E0001A61728D13D0E476EDC +:10554A00DF50475C37E1F29EF29C010EDBCFA9F0F7 +:10555A00020EDBCFAAF00001A951AA1109E100014C +:10556A00A86B0001AB6BAC6B0001AD6BAE6B1FD0CF +:10557A000001A851030A14E0020A0FE0010A0DE033 +:10558A00020A01E00AD0A9C0ADF0AAC0AEF000013B +:10559A00E80EAB6F030EAC6F0AD00001010EA86FC4 +:1055AA000001AB6BAC6B0001AD6BAE6B00D0F28C43 +:1055BA00F28EECD0FA0E476EDF50475C1FE1D950ED +:1055CA00010FE96EDACFEAFFEE50ED1002E109921F +:1055DA0014D0010E476E486A010EDB50471803E1EA +:1055EA00020EDB50481807E1098295929590929233 +:1055FA009490929A02D00001978DC8D0FB0E476E04 +:10560A00DF50475C26E1D950010FE96EDACFEAFF95 +:10561A00EE50ED1003E1099609941AD0010E476E77 +:10562A00486A010EDB50471803E1020EDB504818A6 +:10563A000DE109840996020EE66EE66A1C0EE66E14 +:10564A003BEC47F0E552E552E55202D00001978D56 +:10565A009DD0FC0E476EDF50475C26E1D950010F02 +:10566A00E96EDACFEAFFEE50ED1003E109960994EC +:10567A001AD0010E476E486A010EDB50471803E143 +:10568A00020EDB5048180DE109860984020EE66E07 +:10569A00E66A1C0EE66E3BEC47F0E552E552E5522F +:1056AA0002D00001978D72D0FD0E476EDF50475C25 +:1056BA0024E1D950010FE96EDACFEAFFEE50ED107E +:1056CA0002E1099819D0010E476E486A010EDB50B3 +:1056DA00471803E1020EDB5048180CE10988020E54 +:1056EA00E66EE66A1C0EE66E3BEC47F0E552E552C2 +:1056FA00E55202D00001978D49D0FE0E476EDF5069 +:10570A00475C1AE109829592959092928C908C80CE +:10571A008C908C808C908C808C908C808C908C80DF +:10572A008C908C808C908C808C908C808C908C80CF +:10573A008C908C80EBD72AD04768DF50475C24E1F5 +:10574A00D950010FE96EDACFEAFFEE50ED1002E10F +:10575A00099A19D0010E476E486A010EDB504718A4 +:10576A0003E1020EDB5048180CE1098A020EE66ECC +:10577A00E66A1C0EE66E3BEC47F0E552E552E5524E +:10578A0002D00001978D02D00001978DE66A63DD91 +:10579A00E552030EE15C02E2E16AE552E16EE5528E +:1057AA00E7CFD9FF120099EC35F0ACEC35F0010ED9 +:1057BA00E5EC33F00001975162E1DF0408E136ECD1 +:1057CA0035F0020EE66EDCC047F0486A20D0020EC1 +:1057DA004DEC34F008E136EC35F0200EE66EE66A60 +:1057EA00E66AE66A44D0030E4DEC34F006E136EC84 +:1057FA0035F0185066EC34F038D0040E4DEC34F025 +:10580A0009E1B1EC23F036EC35F017EC35F004EC95 +:10581A0034F02FD0050E4DEC34F00EE136EC35F0B5 +:10582A0017EC35F004EC34F0E9EC33F0F29C0001AB +:10583A00E06BE16BF28C21D03C0E4DEC34F007E1C9 +:10584A0036EC35F0A5C047F0A6C048F00AD03D0EA8 +:10585A004DEC34F011E136EC35F0A9C047F0AAC09E +:10586A0048F0496A4A6A47C0E6FF43EC35F044EC1F +:10587A0036F0E9EC33F001D0978D34EC34F0E55290 +:10588A0000EF34F0FBEC33F0050E4AEC35F0010E74 +:10589A0013EC36F017EC36F0E66AD950030F3BECFE +:1058AA0035F0E66AD950040F52EC36F010E1DF50B9 +:1058BA00926E010EDB50936E020EDB50946E030E55 +:1058CA00DB50956E040EDB50966E34EC34F0050E08 +:1058DA00E15C02E2E16AE552E16E00EF34F0FBECD2 +:1058EA0033F0FE0EDB50100805E2100EF36EFE0ECA +:1058FA00F3CFDBFFFD0EDB502BE0FE0EDB5093EC0B +:10590A0048F0F3500001A113F450A213080EF36EED +:10591A00FE0ECFEC34F00DE2010EF36EFE0EDB50FC +:10592A0003E026EC34F0FDE1F350F31C0F014817B5 +:10593A003DD0FE0EDB500C0839E31EEC35F004E0D6 +:10594A00E846FE0B4706FCE1E81C0F0149172ED07A +:10595A00FE0EDB5093EC48F0F3CF47F0F4CF48F05B +:10596A00471E481E47500001A1174850A217080EAB +:10597A00F36EFE0ECFEC34F00CE2010EF36EFE0E67 +:10598A00DB5003E026EC34F0FDE1F3500F0148133D +:10599A000DD0FE0EDB500C0809E31EEC35F004E0D6 +:1059AA00E846FE0B4706FCE10F01491300EF34F00D +:1059BA0056EC36F013EC36F0010F52EC36F00AE1F1 +:1059CA00010EDBCFE6FFDFCFE6FF89DFE552E552C6 +:1059DA0034EC34F0020EE15C02E2E16AE552E16E77 +:1059EA0000EF34F056EC36F0E5EC33F081EC34F0AD +:1059FA0027E1010EDB5002E1DF50896E5FEC35F0E2 +:105A0A001FE1010EDB5002E1DF508A6E5FEC35F0D8 +:105A1A0017E1010EDB5002E1DF508B6E5FEC35F0CF +:105A2A000FE1010EDB5002E1DF508C6E5FEC35F0C6 +:105A3A0007E1010EDB5002E1DF508D6E34EC34F0E9 +:105A4A00020EE15C02E2E16AE552E16E00EF34F037 +:105A5A00010EE66EE66E79EC35F0805064EC35F0B6 +:105A6A00815064EC35F0825064EC35F0835064EC7C +:105A7A0035F0845048EC36F0E9EF33F0C0EC34F0FE +:105A8A009A0E476E8C0E68EF35F034EC36F0DF6A0A +:105A9A00010EF36EDB6E020EDB6AE66A010EE66E3B +:105AAA0079EC35F09DBCFED7DF6ADFCF47F0100EE8 +:105ABA00E76E4718E8AE02D0E73402D0E750475CF9 +:105ACA003BE2010EDB500001A1150001476E020EF8 +:105ADA00DB500001A2150001486E475048101FE034 +:105AEA002C0E0EEC34F030EC34F047AE03D048689C +:105AFA0049684A6838EC36F03A0E0EEC34F0DFCFDB +:105B0A00E9FFEA6AE9BEEA6889EC35F0EA22EECFF3 +:105B1A0047F0EFCF48F0496A4A6A38EC36F002ECAF +:105B2A0035F0D89047364836010E47C0DBFF020EE3 +:105B3A0048C0DBFFDF2AB9D7020EFCEC35F0030EB2 +:105B4A00E15C02E2E16AE552E16E00EF34F030EC2A +:105B5A0036F0030E13EC36F0020F52EC36F00AE17F +:105B6A00DEEC35F005E2CAEC34F0020EDBCFEFFFD3 +:105B7A0034EC34F0030EE15C02E2E16AE552E16ED4 +:105B8A0000EF34F034EC36F0ACEC35F0030EE5EC13 +:105B9A0033F0000197510DE1DEEC35F005E2CAEC75 +:105BAA0034F0020EEFCFDBFF020EE5EC34F04FECDF +:105BBA0035F0030EE15C02E2E16AE552E16E00EFC4 +:105BCA0034F04BEC36F001E090D0020EDB500108C5 +:105BDA0001E287D0010EDB50070801E282D0410EB4 +:105BEA004DEC34F016E1020EDB500AE139EC34F0E8 +:105BFA0003E026EC34F0FDE1F350F31C921673D067 +:105C0A0039EC34F003E026EC34F0FDE1F350921263 +:105C1A006AD0420E4DEC34F016E1020EDB500AE176 +:105C2A0039EC34F003E026EC34F0FDE1F350F31CD8 +:105C3A00931659D039EC34F003E026EC34F0FDE148 +:105C4A00F350931250D0430E4DEC34F016E1020E8D +:105C5A00DB500AE139EC34F003E026EC34F0FDE1E4 +:105C6A00F350F31C94163FD039EC34F003E026ECE1 +:105C7A0034F0FDE1F350941236D0440E4DEC34F07A +:105C8A0016E1020EDB500AE139EC34F003E026ECAF +:105C9A0034F0FDE1F350F31C951625D039EC34F0BD +:105CAA0003E026EC34F0FDE1F35095121CD0450ECA +:105CBA004DEC34F016E1020EDB500AE139EC34F017 +:105CCA0003E026EC34F0FDE1F350F31C96160BD0FA +:105CDA0039EC34F003E026EC34F0FDE1F35096128F +:105CEA0002D0978D02D034EC34F0030EE15C02E26C +:105CFA00E16AE552E16E00EF34F034EC36F0020E60 +:105D0A00DB6AACEC35F0050E13EC36F0010F52EC01 +:105D1A0036F060E1010EDB50070850E3410E4DEC0E +:105D2A0034F00AE139EC34F003E026EC34F0FDE11A +:105D3A00F350801439E029D0420E4DEC34F00AE1D8 +:105D4A0039EC34F003E026EC34F0FDE1F350811431 +:105D5A001CE12AD0430E4DEC34F00AE139EC34F060 +:105D6A0003E026EC34F0FDE1F35082140EE11CD07E +:105D7A00440E4DEC34F00BE139EC34F003E026EC40 +:105D8A0034F0FDE1F35083140FE0010E10D0450EFC +:105D9A004DEC34F013E139EC34F003E026EC34F046 +:105DAA00FDE1F350841402E1000E01D0010EE76E0A +:105DBA00020EE7CFDBFFDB5008E002D0978D0AD056 +:105DCA00010EF36E020EF3CFDBFF020EE5EC34F0A8 +:105DDA004FEC35F0030EE15C02E2E16AE552E16E56 +:105DEA0000EF34F04BEC36F001E090D0020EDB50BD +:105DFA00010801E287D0010EDB50070801E282D0D8 +:105E0A00410E4DEC34F016E1020EDB500AE139EC9A +:105E1A0034F003E026EC34F0FDE1F350F31C89166C +:105E2A0073D039EC34F003E026EC34F0FDE1F350A2 +:105E3A0089126AD0420E4DEC34F016E1020EDB50A4 +:105E4A000AE139EC34F003E026EC34F0FDE1F350DA +:105E5A00F31C8A1659D039EC34F003E026EC34F0FE +:105E6A00FDE1F3508A1250D0430E4DEC34F016E1A6 +:105E7A00020EDB500AE139EC34F003E026EC34F090 +:105E8A00FDE1F350F31C8B163FD039EC34F003E0FC +:105E9A0026EC34F0FDE1F3508B1236D0440E4DEC73 +:105EAA0034F016E1020EDB500AE139EC34F003E07B +:105EBA0026EC34F0FDE1F350F31C8C1625D039ECB6 +:105ECA0034F003E026EC34F0FDE1F3508C121CD0E0 +:105EDA00450E4DEC34F016E1020EDB500AE139ECC6 +:105EEA0034F003E026EC34F0FDE1F350F31C8D1698 +:105EFA000BD039EC34F003E026EC34F0FDE1F3503A +:105F0A008D1202D0978D02D034EC34F0030EE15C8E +:105F1A0002E2E16AE552E16E00EF34F0D9CFE6FF22 +:105F2A00E1CFD9FFE652DF6AFF0EDF5C0AE2E868DA +:105F3A00E85005E0E80600D000D000D0F9D7DF2A03 +:105F4A00F3D7E552E552E7CFD9FF1200F29EF29C51 +:105F5A006592656AE3DF0FEF00F01200F29EF29C91 +:105F6A006592656ADBDFFF001200C0EC34F08050F6 +:105F7A00080B01E0010E48EC36F00101BEB103D076 +:105F8A00020EFCEC35F034EF34F0FBEC33F0060E85 +:105F9A004AEC35F0070EE5EC33F0010EE66ED95007 +:105FAA00040F3BEC35F0E76E050EE7CFDBFF00018F +:105FBA00975116E1DFCFD5F0010EDBCFD6F0020EF6 +:105FCA00DBCFD7F0030EDBCFD8F0050EDB5006E1AE +:105FDA00040EDB5002E0898601D0899634EC34F055 +:105FEA00060EE15C02E2E16AE552E16E00EF34F08E +:105FFA00FBEC33F0100EE12640EC36F0E5DBE66A06 +:10600A00D950010F09EC34F0E66A61D96BEC35F02E +:10601A00E66A01EC36F0010E13EC36F0040F09ECD7 +:10602A0034F0020E13EC36F0020FEEDB030E13EC23 +:10603A0036F00A0FE9DB060E13EC36F0060FE4DB46 +:10604A00070E13EC36F00E0FDFDB040E13EC36F0FE +:10605A000F0FDADB050EB4DB4E0E476E7D0EAADBA0 +:10606A00010EE5EC34F047AE03D0486849684A6847 +:10607A0024EC36F0460E476E7D0E9CDBECDB4FECD3 +:10608A0035F03E0E476E7D0E95DB040EDBCF47F0F2 +:10609A00050EDBCF48F0496A4A6A48AE02D0496821 +:1060AA004A6824EC36F0360E476E7D0E83DB020E0C +:1060BA00DBCF47F0030EDBCF48F0496A4A6A4FEC60 +:1060CA0035F02E0E476E7D0E75DBD9500A0FADDB0B +:1060DA005BEC36F0B1EC35F0D950060FA6DB44EC98 +:1060EA0036F072DB1E0E476E7D0E64DB0E0ECAECB6 +:1060FA0035F0160E476E7D0E5DDB0F0ECAEC35F0DD +:10610A00B1EC35F0080EE66E7EEC35F0B1EC35F008 +:10611A00E66A7EEC35F0A3DB100EE15C02E2E16A8E +:10612A00E552E16E68D399EC35F0DF6A110EDF5C57 +:10613A0004E2B7DBEF6ADF2AF9D7E4EC35F0DF6A6D +:10614A00100EDF5C21E2ADDBEF5080081DE3A9DB16 +:10615A00EFCF47F0200E475C17E3A3DBEF50E66E64 +:10616A00180E0201486AFA25476EFB51D9EC34F041 +:10617A0098DBEF50E66E020E486AFC25476EFD5129 +:10618A00D9EC34F0DF2ADCD7DF50E824180FFAC242 +:10619A00E9FFFBC2EAFFEF6EDF50E824020FFCC200 +:1061AA00E9FFFDC2EAFFEF6EE55225D33CEC36F07B +:1061BA00DF6A40EC36F0010EDB6A110EF36E010E57 +:1061CA00E9DB0BE2010EDB50EA6AE80FE96E000E2A +:1061DA00EA22EF6A010EDB2AF0D7100EE66E06EC11 +:1061EA0036F03AD827EC36F0DF6EE668FB0EE66E3C +:1061FA00E66AE9EC35F0D1EC45F0FDEC34F04CDB25 +:10620A003BEC44F0FDEC34F02ADB020EE15C02E2E6 +:10621A00E16AE552E16EEFD299EC35F0ACDBDF6A68 +:10622A00110EDF5C04E23DDBEF6ADF2AF9D7E4EC0A +:10623A0035F0800E0001E85D09E2E851200806E227 +:10624A0006EC36F034EC43F0E552E5520101BEA10A +:10625A00BBDA05DBE552CFD299EC35F0DF6A53DBC6 +:10626A00EF6AF0EC35F002E1978905D0B0DA2C0834 +:10627A0004E052EC35F0000E28D0D0DA04E1010E29 +:10628A00481801E1CB6B0D0E0BEC36F009E02C0E31 +:10629A00486E9DDA485C04E0FC0EDB50DF5C02E3EA +:1062AA00DF5013D094DAE66E2EDBE552E750EF6E3C +:1062BA00B5DA04E1010E481801E1CB6BDF2AFD0EC5 +:1062CA00DB2AFE0EE0E3DB2ADED7E55294D28EDA31 +:1062DA00090EE126080EDB6AF0EC35F005E1FB0E4B +:1062EA00DB5019E1978917D072DA2C0806E0FB0E09 +:1062FA00DB5001E1D2DB020E1AD190DA04E1010E81 +:10630A00481801E1CB6B0D0E0BEC36F006E1FB0EE3 +:10631A00DB5001E19789030E0AD12D0E0BEC36F002 +:10632A0020E1040E54DB1DE0050E496EFE0EDB5023 +:10633A00495C17E0FE0EDB0401E1C0D0030E2FDB3F +:10634A0001E1BCD0070E43DB01E1B8D0010EF36EC8 +:10635A00080EF3CFDBFF62DA04E1010E481801E10F +:10636A00CB6B040E1CDB09E0050E31DB06E00A0EDE +:10637A00F1DAE6D827EC36F031D0CB51AFDBEFCFEC +:10638A0047F0000E47C0DFFF3FDB050E08DB1FE1C9 +:10639A00000EDFCFE6FF010EDBCFE6FF61EC48F02F +:1063AA00E552E552F3CF47F0F4CF48F0496A4A6A1A +:1063BA0048AE02D049684A6847C0DFFF010E48C0AC +:1063CA00DBFF020E49C0DBFF030E4AC0DBFF000100 +:1063DA0025DA04E1010E481801E1CB6B080EDB5007 +:1063EA0040E0FE0EDB5006E14DDA800E6EDA000E5A +:1063FA00EE5412E3020ED3DA06E144DA000EEE544A +:10640A00800E63DA09E3060EE2DA08E13BDA000EEF +:10641A005CDA800EEE5402E2000150D07BDA080EFC +:10642A00DB5053E0040EDBCF3DF0050EDBCF3EF030 +:10643A00060EDBCF3FF0070EDBCF40F04268436821 +:10644A004468456874EC47F0040E39C0DBFF050E5A +:10645A003AC0DBFF060E3BC0DBFF070E3CC0DBFF8A +:10646A0034D0FE0EDB5006E10DDA7F0EEE54000E3C +:10647A002CDA23E3FE0EDB0404E173DB000E25DADB +:10648A001CE3020E8CDA04E16CDB7F0E1EDA15E3E4 +:10649A00030E9DDA04E165DBFF0E17DA0EE3060E42 +:1064AA00496EFE0EDB50495C0CE15BDBFF0EEE54DD +:1064BA00FF0EEE547F0EEE5404E20001978D010E9A +:1064CA0036D0070E6CDA01E025DAFE0EDB50070A39 +:1064DA0021E0010A17E0050A11E0010A0FE0030AA8 +:1064EA0008E0050A06E0010A04E0050A02E0040ED3 +:1064FA001ED029DA040EDBCFEFFF18D072DBDBCF18 +:10650A00EDFF14D06EDBDBCFEEFF060EDBCFEEFF26 +:10651A00070E0AD018DADFCFEEFF010EDBCFEEFF4F +:10652A00020EDBCFEEFF030EDBCFEEFF000E476E4F +:10653A00090EE15C02E2E16AE552E16E47505BD185 +:10654A0096DBE1D9EE6AEE6AEE6AEE6A010EDB6A62 +:10655A00FC0EDB50F36E010E1DDA4FE20001CB5147 +:10656A00BDDAEFCFDFFF300EDF5C42E3DF503908E0 +:10657A003FE3C9D9EECF47F0EECF48F0EECF49F06E +:10658A00EFCF4AF00A0E426E436A446A456A47C030 +:10659A003DF048C03EF049C03FF04AC040F074ECBC +:1065AA0047F039C047F03AC048F03BC049F03CC018 +:1065BA004AF0300EDF5C4B6E4C6A4D6A4E6AE85008 +:1065CA0047264C5048224D5049224E504A229BD9C8 +:1065DA0047C0EEFF48C0EEFF49C0EEFF4AC0EEFFDB +:1065EA0000011CD907E1010E481804E1CB6B02D067 +:1065FA00000E04D0010EDB2AABD7010E476E020E45 +:10660A00E15C02E2E16AE552E16E4750F4D0EC0E39 +:10661A00476E7C0ECFD891C047F0FCDA4FEF35F0C9 +:10662A000501A85108E0010E476E6550020B01E012 +:10663A00010E475C17E1D6D90BE1FD51FE1111E1BC +:10664A008C86A00EFD6F0F0EFE6F010EFF6F1200FB +:10665A00FD51FE1152E18C96A00EFD6F0F0EFE6FDA +:10666A00FF6B1200A80509E0020EA85D06E0040E01 +:10667A00A85D03E0100EA85D17E1B4D90BE1FD5146 +:10668A00FE1111E18C86200EFD6F4E0EFE6F010E7B +:10669A00FF6F1200FD51FE1130E18C96200EFD6F46 +:1066AA004E0EFE6FFF6B1200200EA85D26E19AD9EE +:1066BA0007E1FD51FE1121E18C86CED9010E15D0DC +:1066CA00FF0507E1FD51FE1118E18C96C5D9020EAE +:1066DA000CD0020EFF5D0BE1FD51FE110EE18C861E +:1066EA00A00EFD6F860EFE6F030EFF6F1200FD51A6 +:1066FA00FE1103E18C96B0D9FF6B120077D8A0D9AE +:10670A00E8AE02D0473403D0E750D880475423E399 +:10671A00FD0EDB5010E00FD9F6BEF768A9D804E0E9 +:10672A00E846FE0B4806FCE1476E05D9F6BEF76857 +:10673A00FED9EF1210D0FFD8F6BEF76899D804E058 +:10674A00E846FE0B4806FCE1E81C476EF4D8F6BEA4 +:10675A00F768EDD9EF164FD049D872D9E8AE02D012 +:10676A00473403D0E750D880475423E3FD0EDB506B +:10677A0011E1E1D8F6BEF7687BD804E0E846FE0BE3 +:10678A004806FCE1E81C476ED6D8F6BEF768D7D9AA +:10679A00EF160FD0D0D8F6BEF7686AD804E0E846FC +:1067AA00FE0B4806FCE1476EC6D8F6BEF768C7D9A5 +:1067BA00EF1221D0B0D927EF36F060D944EF36F086 +:1067CA00E66E85DD6BEF35F0010EFCEF35F0CB514F +:1067DA0085D9EF50120088D9E66A01EF36F07D516B +:1067EA00E96EEA6AD890E936EA361200D9CFE6FFAE +:1067FA00E1CFD9FF1200E552E7CFD9FF1200496A6B +:10680A004A6A59DAD7EF35F0E66E000EDA20E66EFC +:10681A001200E66EC2EC25F0E5521200CB2BCB51EA +:10682A00476E486A000E47181200E96EDACFEAFF8F +:10683A00EECFE6FFEECFE6FFEECFE6FFEFCFE6FFC5 +:10684A001200D890F336E8061200EA22EECF4FF093 +:10685A00EFCF50F01200DFCF47F00FEF36F0E66AC5 +:10686A0030EC29F0E5521200010EF36EDB501200F3 +:10687A002D0EF6268D0EF7220800F550486E010EF1 +:10688A0048521200D9CFE9FFDACFEAFFD8801200C6 +:10689A00476EDF50475C1200B4D9100EE66EE9EF7E +:1068AA0035F0DF50EA6AE80FE96E000EEA221200BC +:1068BA00F7220900F5CFE9FF0800F5CFEAFF4750B4 +:1068CA001200476EA7D9E66E1200EE54000EEE547F +:1068DA00000EEE541200DF6EDFCFE6FFC951486AA0 +:1068EA00000F476E020E482247C0E6FF48C0E6FF87 +:1068FA000CEC42F027EF36F0E76E010EE7CFDBFF34 +:10690A00000197511200FD0EDBCFE9FFFE0EDBCF2F +:10691A00EAFF1200D9CFE9FFDACFEAFF040EEECF81 +:10692A00DBFF050EEECFDBFF060EEECFDBFF070E19 +:10693A00EECFDBFF1200FE0EDBCFF6FFF76A120086 +:10694A00DB5073EF35F0FC0EDBCFE9FFFD0EDBCF3A +:10695A00EAFF1200E66E01EF36F07D51EA6A690F2E +:10696A00E96E000EEA22EF500001EA6A8025E96E1C +:10697A008151EA221200010EE66EE66A79EF35F0DD +:10698A00DECF47F0DDCF48F01200DECFE9FFDDCFE2 +:10699A00EAFF1200DBCFF4FFF350F45C1200476EFB +:1069AA00FE0EDB50475C12004822DF50E8244724E1 +:1069BA00E96E000E4820EA6EE552E750EF6E1200CB +:1069CA00DBCF47F00FEF36F0CA5173EF35F0486E60 +:1069DA00FE0EDB50485C1200DAC0E6FFC2EC25F07E +:1069EA00E55212000101FD07000EFE5BFF51120085 +:1069FA00476E080EE15E47501200010EDBCF47F0EA +:106A0A00020EDBCF48F01200010EDB6A020EDB6ACF +:106A1A00030EDB6A1200E66EE66A61EC48F0E552A4 +:106A2A00E5521200030EE66EE0C047F0E1C048F0FE +:106A3A001200FE0EDB50F80F476E010E475212008D +:106A4A00FE0EDBCF47F0190EE76E47181200EA2256 +:106A5A00EF6ADF2A010E1200100EFD6F270EFE6F7D +:106A6A001200F9DE00D92C0E0EEF34F0CDDE010E45 +:106A7A00E5EF33F0EADEEAD8EA22120048C0E6FF80 +:106A8A0049C0E6FF4AC0E6FF1200E126E66AE66A66 +:106A9A00F0EF33F0E8D8E9EF33F0F40E476E7C0EEE +:106AAA0089DE000194DEB5DE270EB3DE8DDE00013D +:106ABA00978B1200010E4EDF83DE81EF34F0E3D8AC +:106ACA002C0E0EEF34F076DEE9EF33F0BBD8E55248 +:106ADA00120085DE750EE926000E1200EA6A000F22 +:106AEA00E96E030EEA22120012EC29F0E552E55291 +:106AFA001200D950060F99DE40EC43F0476E050E9E +:106B0A00E15E4750E9EF33F0D890E936EA36000EF5 +:106B1A00E926010E1200486E496A47C0E6FFE66E92 +:106B2A0049C0E6FF23EF43F061DEE6521200D89037 +:106B3A00F636F736FB0EF6268C0E5DEF34F0D8905B +:106B4A00F636F736C90EF6268C0E5DEF34F0010ED6 +:106B5A00E66EE66EF0EF33F0260E476E7D0EDFEF3F +:106B6A0033F090DEFF0EEE54120070D82AEF34F0A4 +:106B7A00610E476E7D0E1EDEF1EF34F03A0E49DEED +:106B8A00020EE66EDAC047F01200DBCFE6FFC2EC77 +:106B9A0025F0E552E9EF33F0F3DE400E475C000ED4 +:106BAA004858120040EC43F04B6E050EE15E4B5024 +:106BBA001200E6DE000E475C100E485812006CDE2A +:106BCA00F2EC46F0FDEF34F0E66AE66AF80EE66E9D +:106BDA00E66AE66A12000D0E476E0001F8DD475CB0 +:106BEA001200B1DE040EDBCFEEFF050E1200E66ED8 +:106BFA0030EC29F0E5521200D9CFE6FFDACFE6FFF2 +:106C0A001200E80EE66E000EE66E1200476EDFDD39 +:106C1A00475C1200486A496A4A6A1200D1DDE66A8C +:106C2A00D9501200010F22DFE66AD950020F3BEF5A +:106C3A0035F0D5DD6D0EE926000E3FEF35F03BD875 +:106C4A005BEF36F0E552E552E5521200C8DD610EFF +:106C5A00E926000E1200CADD030E4AEF35F0C6DD42 +:106C6A00030EE126120047C0E6FFE2EF33F0BEDD75 +:106C7A00020EE1261200E66AE66A79EF35F07AEC4E +:106C8A0043F06BEF35F01DDEE2EF33F0E4DF050E83 +:106C9A00C5DFC8DF000197511200E8DE00019751F5 +:106CAA001200A4DD020EF1DE010E120096EC43F092 +:106CBA000DDFE9EF33F047C0E6FF43EF35F0CEECE6 +:106CCA003CF0A098636A626A0F01266BADEC3CF057 +:106CDA000F016CEC3CF0DF6ADF50476E486A0C0E1D +:106CEA00475C000E485810E2DF50040DF3CFE9FF6D +:106CFA00F4CFEAFF000EE926040EEA22EE6AEE6AF3 +:106D0A00EE6AEE6ADF2AE8D7658C0F01386B659860 +:106D1A00659C62A607D062960501BF6BC46BC56B02 +:106D2A00C66BF7D70501010ED86FD96FDA6BDB6B2B +:106D3A00CC6BDF6A030EDF5C11E2EA6ADF34D1EC66 +:106D4A003CF0EA22EE6AED6AEA6ADF34D8EC3CF0FB +:106D5A00EA22EE6AED6A2DEC3CF0ECD70501080E4A +:106D6A00B56F040EB66F0F01160E266F0401300EB2 +:106D7A00026F040E036F400E016F840E006F05014F +:106D8A00A96BA86BE552FFEF3BF0CEEC3CF082BE5C +:106D9A0006D0656A0F01366B0501A86B6FD0050135 +:106DAA00A8510CE1656A0F01366B6CEC3CF065B6D4 +:106DBA0002D06586FCD70501010EA86FA8050AE175 +:106DCA0065BA08D0626A0F01366B368136890501C9 +:106DDA00020EA86F6250040B06E00F013651040B35 +:106DEA0002E0629447DB65B249D06250010B09E0C8 +:106DFA000F013651010B05E062DF0501040EA86F91 +:106E0A0062906250100B06E00F013651100B02E03F +:106E1A0026DB629862AC10D00F0136AD05D073EC58 +:106E2A003CF0730EECEC3BF0629C0501D65101E09C +:106E3A00D607D65101E1F4D86250200B05E00F01C4 +:106E4A003651200B01E0FADA6250020B0CE00F0116 +:106E5A003651020B08E073EC3CF0E6687F0EE66EF2 +:106E6A00DFEC3CF0636A040E0501E76EA819E8AE90 +:106E7A0002D0E73402D0E750A85D02E2A1982FD0F1 +:106E8A000F0136A72BD0DF6A040EDF5C27E262A669 +:106E9A0025D064CFCDF50501CD51780BE842E84203 +:106EAA00E842CE6F6296CDB504D0CE51E6EC3CF006 +:106EBA0003D0CE51EBEC3CF0EA22EF70CE5102E166 +:106ECA00E6DA0AD0000EE66EE66ACD0EE66E050E2A +:106EDA00E66E720EECEC3BF0DF2AD6D7A198E552AB +:106EEA00FFEF3BF09FEC3CF0FD0EDBA403D0E66A1B +:106EFA0064EC3CF0FD0EDBA204D0010EE66E64ECFD +:106F0A003CF0FE0EDB50486A260F476E0F0E5EEC11 +:106F1A003CF0F0EC3BF0FD0EDBCFEFFF020EE15C44 +:106F2A0002E2E16AE552E16EFFEF3BF09FEC3CF0D2 +:106F3A00FD0EDB5003E0E7EC3BF002D01EEC3CF028 +:106F4A004AEC3CF0D9CFE9FFDACFEAFFEE50ED1078 +:106F5A0003E1F36AF46A28D0F0EC3BF0FAEC3CF077 +:106F6A00FB0EDBCFEEFFFC0EDBCFEDFFF0EC3BF0D0 +:106F7A00EE52FA0EDBCFEFFF400EF0EC3CF0880E3B +:106F8A00FFEC3CF0FD0EDB5003E0E7EC3BF002D0F7 +:106F9A001EEC3CF0EA22EF74DECF47F0DDCF48F07A +:106FAA0047C0F3FF48C0F4FF020EE15C02E2E16A67 +:106FBA00E552E16EFFEF3BF09FEC3CF0FE0EDB503A +:106FCA0003E1B6EC3CF009D023EC3CF08DEC3CF04C +:106FDA0023EC3CF0010F8DEC3CF0020EE15C02E286 +:106FEA00E16AE552E16EFFEF3BF0FAEC3BF065A88F +:106FFA0016D0C7EC3CF0400EEE16EE6AEE6AEE6A68 +:10700A00C7EC3CF0EE7CDEDBEA22EF74400E476E02 +:10701A00C7EC3CF04750EF16C7EC3CF0EF7CEAD3E4 +:10702A000501D85122E1010ED86FD9511EE1010E96 +:10703A00D96F020EBC5D07E1D3DBEE52EF6AD0DBFB +:10704A00C80EEF6E1200BC0510E1CF6BDFDBEE520B +:10705A00400EEF6EDBDB99EC3CF0D8DB840EEF6E72 +:10706A00010ECF6FABDB800EEF6E12000501DA6BFB +:10707A00DB6B020EBC5D06E1F4EC3CF0CCDB88EC89 +:10708A003CF010D0C0510401365D0501C151040124 +:10709A00375904E236C4C0F537C4C1F561D8A0DB5C +:1070AA00BADB9EDBC80EEF6E12009FEC3CF0000EBE +:1070BA00DE6E040EDD6EC2DB040DF4CF48F0D9CFCC +:1070CA00E9FFDACFEAFFF350EE264850ED2283DBE0 +:1070DA00EF9EFD0EDB5002E1ACDB01D073DBEA224E +:1070EA00DECFEEFFDDCFEDFF76DBEF9C74DB040E27 +:1070FA00E926000EEA22EF8C020EE15C02E2E16A66 +:10710A00E552E16E77D365980501BFBF0DD0C4AFD4 +:10711A0009D0020EBC6FDB5101E1A8DF0501D96B72 +:10712A00D86B1200B6EF3CF0040130AF0DD0050168 +:10713A00010EBC6FDA5101E199DF0501D96BD86BF9 +:10714A00D7510DE115EF38F00501020EBC6F36DBA1 +:10715A00840EEF6ED96BD86BD75101E161DF120053 +:10716A00CEEC3CF0400EDF6E0501C05D000EC15949 +:10717A000AE2C0C5DFFFBB5102E1010E03D0BB0525 +:10718A0002E1020EBB6FDF50486AE850C05DC06F73 +:10719A004850C159C16F24DBEE52DFCFEFFF380EE2 +:1071AA00C96F040ECA6FBFB10DD0DF5017E0BDC55D +:1071BA00F6FFBEC5F7FFBD2B000EBE230800F55033 +:1071CA0057DBF3D7DF500AE0BDC5E9FFBEC5EAFFCA +:1071DA00BD2B000EBE23EF504BDBF4D7E5520AD38A +:1071EA00A9DB14DBEE52EFCFDFFFDFCF47F04750CA +:1071FA000501C55D000EC65902E2C5C5DFFFDF50B5 +:10720A00476E486AE850C55DC56F4850C659C66F93 +:10721A00010EDB6ADF50F36E010EDBCFF4FFF35091 +:10722A00F45C16E2010EDB50EA6A380FE96E040ECE +:10723A00EA22EF50E66EC2C5E9FFC3C5EAFFC22BD8 +:10724A00000EC323E552E750EF6E010EDB2AE2D7A8 +:10725A00000ED880C555000EC6550DE2C0DBDBDA3C +:10726A00D5DAEF50400B03E14EDBC80E02D04BDB00 +:10727A00880EEF6E12D0A2DA840EEF6EC751C811D3 +:10728A0007E005D0C8C5FAFF0501C751F96EFADF54 +:10729A000501C49FD75101E1C3DE020EE15C02E29F +:1072AA00E16AE552E16EA6D274DB0501BF8F50DBBD +:1072BA00300EE66EE66AE66A000EE66E040EB1DA93 +:1072CA00658CDF6A030EDF5C02E2C2DAFBD7010ECD +:1072DA00E66EE66AE66AAA0EE66E050EA2DA659C14 +:1072EA000501080EB56F040EB66F000EAB6F040EE3 +:1072FA00AC6FABC5ADF5AE6F32C4A9F5A95102E1C9 +:10730A00100E0BD0010EE66EE66AA90EE66E050EA9 +:10731A00E66E010E5CDA0501200EA86FE5526AD20C +:10732A00800E0401305D4EE10501C00EBF6F0401FD +:10733A003351030A25E0010A09E0030A41E1050184 +:10734A00C00EBD6F8F0EBE6F120E34D03251F66E64 +:10735A00F76AD890F636F736150EF626900EF7220B +:10736A000900F5CFBDF50A00F5CFBEF5020E0501FD +:10737A00BCDAF5CFC0F5030EB8DAF5CFC1F51200C5 +:10738A00040E325D1AE20501BF8104013251E96E31 +:10739A00EA6AD890E936EA36F60EE926020EEA22B9 +:1073AA00EECFBDF5EDCFBEF5BDC5E9FFBEC5EAFF1F +:1073BA00EF500501C06FC16B12000501BF6B1200CF +:1073CA000501BF6B1200B6DA0401386B396B305114 +:1073DA001F0B020A11E0030A0CE0010A1EE1050173 +:1073EA00BF8F040138810501CB0517E104013883F9 +:1073FA0014D00501BF8F11D00501BF8F040134BF1E +:10740A0002D0B6DA01D0B9DA40DABFDA06E0E3D957 +:10741A00EF50040B02E0010E386F0501BFAF07D031 +:10742A00380EBD6F040EBE6FBF81020EC06F020E12 +:10743A00E15C02E2E16AE552E16EDCD10F0126A1CC +:10744A000CD0E4D9EF50800807E1CAD9EF5084087C +:10745A0003E1DCD98C0EEF6E2691629A12000F01BD +:10746A003685629865820501010ECC6F14DA750EB5 +:10747A00ECEF3BF00501CC6B0EDA740EA8D96592DD +:10748A000F01369562A402D06294FCD7120081DA09 +:10749A0005012D0ED66FFD0ECD1539E17E0ECD15E7 +:1074AA00E8407F0B040DF3CFABF5F4CFACF5000E3B +:1074BA00AB27040EAC23ABC5ADF5ACC5AEF5AD75C7 +:1074CA00A5D9EF503C0BE842E8420D081EE1DF6AFD +:1074DA00080EDF5C16E29AD9020EE926000EC2D91E +:1074EA00EF50E66EDF50EA6A300FE96E040EEA22C8 +:1074FA00E552E750EF6E8AD978DAEE2AEF22DF2AD0 +:10750A00E7D784D911DA0AD807D023D805D0FD0ED7 +:10751A00CD15040801E12CD8E5526CD10501BB6BED +:10752A00D76BDA6BDB6BCF6BBC6B5AD9EF9EB57539 +:10753A0057D9EF9EB575E7D9EF9EBF6BC06BC16B8C +:10754A00C46BC56BC66B51D8A6D9030E40D988EF58 +:10755A0038F0020E0501BC5D02E1F5EF38F0BC6BB4 +:10756A00CF5104E12BD98C0EEF6E1200CF6B1200B3 +:10757A0010DA36D9EF50400B01E0010EDF6E05013B +:10758A00B575080EA85D0BE132C438FF0F013851FA +:10759A0003E00501100E02D00501040EA86FBC0518 +:1075AA0013E11ED938D9DCDD020E0501BB5D03E10A +:1075BA0017D9840E07D0DF5003E112D9C80E02D0C2 +:1075CA000FD9880EEF6E0FD0C4AF0CD0C751C811B7 +:1075DA0007E005D0C8C5FAFF0501C751F96EFADF01 +:1075EA000501C49FBC6BE55205D104013051600B03 +:1075FA00E842E842E842E842E842000901E01200B3 +:10760A0031510C0A45E00B0A3FE00C0A31E0010A4D +:10761A0022E00B0A1EE0020A1CE0030A18E0080A2C +:10762A0010E0010A0CE00F0A08E0030A01E0120068 +:10763A000501BF8F080EA86F120095EF39F059EFB8 +:10764A0039F00501A90EBD6F050EBE6F0CD0E8EF2B +:10765A0039F04EEF3BF034510501BD6FBE6BAA0EF7 +:10766A00BD27050EBE23BF81010EC06FBF8F12005A +:10767A000501BF8F04013451EA6AAA0FE96E050EAB +:10768A00EA2232C4EFFF120006D9020EECEF3BF0F9 +:10769A001200ABD8050EE1260401320510E1305183 +:1076AA001F0B00090CE10501BF8F030E0401315DB8 +:1076BA0004E10501010ECB6F02D00501CB6B040179 +:1076CA00325101E074D030511F0B020870E134517D +:1076DA000F0B00096CE034510F0B020868E3200E0F +:1076EA000501A85D64E1BF8F040134BF04D040D90D +:1076FA00CCD8D7D803D041D9C8D8D7D8EA22020ED5 +:10770A00EFCFDBFFF9D8010B03E1000EDF9401D0C4 +:10771A00DF8434BF02D02CD901D02FD9EA22DECFA0 +:10772A00EEFFDDCFEDFF030E315D0CE12ED907E050 +:10773A0034BF02D0B6D801D0B8D8EA22EF82840E7C +:10774A0059D935D0DF7421D906E045D8EF9E43D800 +:10775A00EF8CF4D802D03FD8EF8CDF74CDD8020B6F +:10776A0002E113D90DE0040134BF02D09AD801D046 +:10777A009CD8EA22EF923B0E476E2DD9DFD802D071 +:10778A003B0E29D9040134510F0B486A260F476E64 +:10779A000F0E4822030E47C0DBFF040E48C0DBFF72 +:1077AA00030EDBCFE9FF040EDBCFEAFFEF90050EF5 +:1077BA00E15C02E2E16AE552E16E1CD010D9B4D86C +:1077CA0088EF3CF0FE0EEA6ADB34D1EF3CF0E66E5D +:1077DA00E66ADFEF3CF0DECFE9FFDDCFEAFF120019 +:1077EA00B5C5E9FFB6C5EAFF1200D9CFE6FFE1CF7A +:1077FA00D9FF1200E552E7CFD9FF120034510F0B1F +:10780A00E96EEA6AD890E936EA361200ABC5E9FFB2 +:10781A00ACC5EAFF1200E9D8380EEE6E040EED6E22 +:10782A001200E66E30EC48F0476E050EE15E4750F6 +:10783A001200FE0EEA6ADB34D8EF3CF0FD0EDB5094 +:10784A00E824496EFE0EDB50040DF3504924120061 +:10785A00DF50BCD8EA22EF6ADF50B3D8EA22EF6AD7 +:10786A00DF2A1200EA22EE50EFCFEAFFE96E120099 +:10787A00E66EC9C5E9FFCAC5EAFFC92B000ECA23CD +:10788A00E552E750EF6EDF061200EA22EECFDEFF86 +:10789A00EDCFDDFF1200000EE66EE66AE66EE66ADE +:1078AA00120034510F0BE6EF3CF034510F0BEBEFA3 +:1078BA003CF0482247C0DEFF48C0DDFF1200FE0E42 +:1078CA00DBCFE6FF5AEC38F0E552E5521200160E0D +:1078DA00396F9F0E376F7B0E366F1200010EE66E00 +:1078EA00E66A000EE66EE66A1200F76ABD25F66ED3 +:1078FA00BE51F72208001200D950020FE96EDACF02 +:10790A00EAFFEF501200ADC5E9FFAEC5EAFF12006B +:10791A00040DF3CF47F0F4CF48F0000E4726040ECB +:10792A00C8DF840EFFEF3CF060D8300EEE6E040E16 +:10793A00ED6E12005ADF020EE1261200020EE66E0A +:10794A00E66ADECFE6FFDDCFE6FF050EECEF3BF0A1 +:10795A00020EE66EE66AE66A270EE66E0F0E16EF6E +:10796A003CF02CDF8C0EEF6E3BDF840EEF6E1200C4 +:10797A0045DFAF0EE926050E120040DFB50EE926F7 +:10798A00050E12001FDF37EF3CF025DFEF50800BAA +:10799A0012002BDFE6521200FE0BEA36E96EB50E34 +:1079AA00E926050E1200FE0BEA36E96EAF0EE9264D +:1079BA00050E120087EC45F0476E060EE15E475051 +:1079CA001200EA6AD30FE96E050E1200EA6AD00FB6 +:1079DA00E96E050E1200FFDEE850EF16120093DF83 +:1079EA00EE52400EEF6E88EF3CF0020EE926000ED2 +:1079FA00EA221200F0DEE850EF1212004D616A6FBF +:107A0A0072206D616C66756E6374696F6E20417861 +:107A1A006973322053746570436F756E7465722092 +:107A2A007A65726F004D616A6F72206D616C66755E +:107A3A006E6374696F6E204178697332205374657E +:107A4A0070436F756E74657220746F6F2068696712 +:107A5A0068203A20004D616A6F72206D616C66750C +:107A6A006E6374696F6E204178697331205374654F +:107A7A0070436F756E746572207A65726F004D611E +:107A8A006A6F72206D616C66756E6374696F6E20C1 +:107A9A0041786973312053746570436F756E7465EC +:107AAA007220746F6F2068696768203A20004D6100 +:107ABA006A6F72206D616C66756E6374696F6E2091 +:107ACA004178697331206475726174696F6E2074CC +:107ADA006F6F206C6F6E67203A2000447572617474 +:107AEA00696F6E3D00205341323D00205341313DC4 +:107AFA0000484D204475726174696F6E3D002130F3 +:107B0A00204572723A20484D203C61786973323EB2 +:107B1A0020737465702072617465203E2032354B83 +:107B2A002073746570732F7365636F6E642E002102 +:107B3A0030204572723A20484D203C617869733191 +:107B4A003E20737465702072617465203E20323560 +:107B5A004B2073746570732F7365636F6E642E00A8 +:107B6A002130204572723A20737465707320746FE5 +:107B7A0020686F6D65206C61726765722074686138 +:107B8A006E2031362C3737372C3231352E002130E2 +:107B9A00204572723A203C61786973323E207374D0 +:107BAA0065702072617465203C20312E3331487A29 +:107BBA002E002130204572723A203C617869733276 +:107BCA003E20737465702072617465203E203235E0 +:107BDA004B2073746570732F7365636F6E642E0028 +:107BEA002130204572723A203C61786973323E2016 +:107BFA006C6172676572207468616E20313637373E +:107C0A00373231352073746570732E002130204568 +:107C1A0072723A203C61786973313E2073746570E0 +:107C2A002072617465203C20312E3331487A2E004F +:107C3A002130204572723A203C61786973313E20C6 +:107C4A00737465702072617465203E2032354B2052 +:107C5A0073746570732F7365636F6E642E002130C1 +:107C6A00204572723A203C61786973313E206C611A +:107C7A0072676572207468616E2031363737373221 +:107C8A0031352073746570732E002130204572726D +:107C9A003A203C6D6F76655F6475726174696F6EC8 +:107CAA003E206C6172676572207468616E2031369D +:107CBA00373737323135206D732E00204A323D0076 +:107CCA002053323D002041323D002052323D0020F7 +:107CDA004A313D002041313D002053313D005231AF +:107CEA003D005374617475733D00213520457272ED +:107CFA003A204E65656420636F6D6D61206E65780C +:107D0A00742C20666F756E643A2027005061726188 +:107D1A006D383D00506172616D373D00506172618E +:107D2A006D363D00506172616D353D005061726182 +:107D3A006D343D00506172616D333D005061726176 +:107D4A006D323D00506172616D313D000D0A000ACD +:107D5A000D004F4B000A002138204572723A205517 +:107D6A006E6B6E6F776E20636F6D6D616E64202728 +:107D7A00002138204572723A20436865636B737537 +:107D8A006D206E6F7420666F756E64206275742044 +:107D9A0072657175697265642E00213820457272A8 +:107DAA003A20436865636B73756D20696E636F7201 +:107DBA00726563742C20657870656374656420004D +:107DCA004C696D6974207377697463682074726989 +:107DDA006767657265642E20506F7274423D002198 +:107DEA0037204572723A2045787472612070617248 +:107DFA00616D65746572002136204572723A2049B8 +:107E0A006E76616C696420706172616D6574657209 +:107E1A002076616C7565002134204572723A204DD6 +:107E2A00697373696E6720706172616D65746572DA +:107E3A00287329002133204572723A205258204271 +:107E4A007566666572206F76657272756E0021328C +:107E5A00204572723A20545820427566666572202F +:107E6A006F76657272756E002131204572723A2002 +:107E7A0043616E277420737465702074686174207E +:107E8A00666173740021302000200800CFD9E652C1 +:107E9A000001606B7D6BDF6A040EDF5C14E2C0D9FF +:107EAA00610EE926000ECFD9DF50AED9EF6AB8D9F4 +:107EBA006D0EE926000EC7D9B3D9750EE926000E54 +:107ECA00C2D9DF2AE9D70001C60E806F0E0E816F74 +:107EDA003F0E79140009796ECF0E79140009796E74 +:107EEA0079827B6A7A6A79900F0152815293F00EF5 +:107EFA00B4140909B46E0001040E7E6F030E7F6F7D +:107F0A00C60E826F3B0E836F250E846F580E856FE7 +:107F1A00040E8A6F900E866F010E876F900E886F1F +:107F2A00010E896F000EE66EE66A010EE66EDAEC65 +:107F3A0017F0E552E552E5528996E5527CD176D999 +:107F4A00E652DF6A040EDF5C0AE2DF505DD9EFCF4A +:107F5A0047F0FE0EDB50475C0AE0DF2AF3D7DF6A00 +:107F6A00040EDF5C08E2DF504FD9EF5002E1DF2850 +:107F7A0003D0DF2AF5D7000EE5525DD157D9070E97 +:107F8A00E126DE6ADD6A020EDB6A030EDB6A040E94 +:107F9A00DB6A050EDB6A060EDB6A010EE66ED9CFD6 +:107FAA00E6FFDACFE6FF030E22D9020F50D9010EFF +:107FBA001ED9030F4CD9030E1AD9050F48D9030E3F +:107FCA004BD9E66AE66A12EC29F0E552E55200015D +:107FDA00975122E1020EDB50180802E2978D1CD05D +:107FEA00050EDBCFE6FF060EDBCFE6FF030EDBCF87 +:107FFA00E6FF040EDBCFE6FF020EDBCFE6FFDECFA5 +:10800A00E6FFDDCFE6FF0FD8476E070EE15E475069 +:10801A00E66A30EC29F0E552070EE15C02E2E16A19 +:10802A00E552E16E08D102D9020EE126FC0EDBCF41 +:10803A00E6FF85DFE552E76E010EE7CFDBFFDB5097 +:10804A0002E1000EC7D0D950FD0FE96EFF0EDA200B +:10805A00EA6EEE50ED101FE1010EDB04D5D8EF50A9 +:10806A000001EA6A8025E96E8151EA22EF6AC4D8E2 +:10807A00750EE926000EE7D8BFD86D0EE926000E68 +:10808A00E2D8010EDB04C0D8EF6AB6D8610EE92641 +:10809A00000ED9D89DD0010EDB04476E00017E5137 +:1080AA00475C01E395D0FC0EDB50180801E290D042 +:1080BA00FC0EDB50070802E10101BC6B9DD8610E82 +:1080CA00E926000EEA22EE50ED1010E1E66AFC0EF7 +:1080DA00DBCFE6FFB1EC33F0E552E552E66AFC0E7F +:1080EA00DBCFE6FF83EC33F0E552E5521850145C1F +:1080FA00FDE2FC0EDB50040809E18986D5C0D1F007 +:10810A00D6C0D2F0D7C0D3F0D8C0D4F083D8EF6E9F +:10811A00F80EDBCF47F0F90EDBCF48F0496A4A6A1E +:10812A00190E426E436A446A456A47C03DF048C028 +:10813A003EF049C03FF04AC040F074EC47F039C005 +:10814A0047F03AC048F03BC049F03CC04AF062D818 +:10815A0076D839C0EEFF48C0EEFF49C0EEFF4AC0EC +:10816A00EEFF41D82A0E6BD8010EDBCFEFFF3BD8CA +:10817A00270E65D8FC0EDBCFEFFF35D8280E5FD867 +:10818A00FD0EDBCFEEFFFE0EDBCFEDFF2CD82B0E64 +:10819A0056D8FA0EDBCFEEFFFB0EDBCFEDFF23D86E +:1081AA00020E4DD8D880EE54000EEE54190EEE543D +:1081BA00000EEE5407E217D8020E41D8EE6AEE6AB4 +:1081CA00EE6AEE6A152A1850155C01E3156A142A3C +:1081DA00010EDB50476E020EE15C02E2E16AE552F3 +:1081EA00E16E475028D015502F0D39EF41F034D8A1 +:1081FA00010EE66ED9501200010EDB04E96EEA6A3E +:10820A00D890E936EA361200EA6A690FE96E000E7A +:10821A00EA22120015502F0D000126D8020E120074 +:10822A00EA6ADF34FE0BEA36E96E1200D9CFE6FFBE +:10823A00E1CFD9FF1200E552E7CFD9FF1200E926B4 +:10824A00000EEA221200EA22EE6AED6A1200E66ED7 +:10825A00000EDA20E66E1200E66E6CEC31F0E552A2 +:10826A00E552E552E5521200FA51F324E96EFB5148 +:10827A00F420EA6E1200040130511F0B010801E0DC +:10828A0012003051600BE842E842E842E842E84214 +:10829A00010801E01200345103E0340501E0120044 +:1082AA003151220A31E0030A24E0010A15E0210AC9 +:1082BA000DE0010A01E012000501A00EBD6F050ED6 +:1082CA00BE6F080EC06FC16BBF8121D00501A00E21 +:1082DA00BD6F050EBE6F1BD036C4C5F537C4C6F5D3 +:1082EA000501800EC26F050EC36FC76BC86BC48FC2 +:1082FA0012000501800EBD6F050EBE6F070EC06F1E +:10830A00C16BC10EBF6F120032C49BF50501BF8F4E +:10831A0012000501806B4B0E816F826B836B846B3D +:10832A00856B080E866F8F6B1A0EE66E010EE66E6F +:10833A0077EC37F0E552E5521E0EE66E020EE66E57 +:10834A0077EC37F0E552E5521CD90501996B9A6B27 +:10835A00906B120041D965D9050E3F1801E14050D2 +:10836A0002E0000E14D048D905019751471804E1DC +:10837A009851481801E105D93FD905019951471883 +:10838A0005E19A51481802E1906B956B010E29D1CB +:10839A0023D905018F6B9751981102E1000E05D080 +:1083AA0032D9EF50800B01E0010E00092DE1FC0EDD +:1083BA00DBCF47F028D9EE52EF50D880475405E278 +:1083CA0022D9EE52FC0EEFCFDBFF8F6BFC0EDB5097 +:1083DA008F5D19E28F51EA6A400FE96E050EEA22B3 +:1083EA00EF50E66E8F51E76EFD0EDBCFE9FFFE0E12 +:1083FA00DBCFEAFFE750E926000EEA22E552E75012 +:10840A00EF6E8F2BE3D7BDD805018F51EAD0E4D8A0 +:10841A000501905107E1E9D8FC0EDBCF95F5010E75 +:10842A00966F906FDED004D917E1C0D8DF2AFF0E0D +:10843A00DF5C0BE0010EDBCFE9FFDB2A020EDBCFAC +:10844A00EAFF01E3DB2AEF50F1E1CFD8DFCF95F560 +:10845A000501010E966F906F030EE15C02E2E16A7C +:10846A00E552E16EBED0E4D818E1A0D8DF2AFF0EAB +:10847A00DF5C0CE0010EDBCFF6FFDB2A020EDBCF5E +:10848A00F7FF01E3DB2A0800F550F0E1AED8DFCFB1 +:10849A0095F50501966B010E906F030EE15C02E201 +:1084AA00E16AE552E16E9DD097D8020EE1260501F8 +:1084BA0099519A1102E1000E08D099C5E9FF9AC5AF +:1084CA00EAFFEF50800B01E0010E000953E1030EB1 +:1084DA00905D01E1906B90514DE0020E905D09E1D3 +:1084EA00E66A000EE66EE66A59D80501030E906F39 +:1084FA0041D090053FE1400E476E486A9551475C6E +:10850A00000E485803E2400EDF6E02D095C5DFFF29 +:10851A00DF50955D956F000E936F050E946F010EF7 +:10852A00DFCFDBFF96510BE1010EDB5012E091C564 +:10853A00F6FF92C5F7FF0800F55041D8F5D7010EAE +:10854A00DB5007E091C5E9FF92C5EAFFEF5037D843 +:10855A00F6D70501955107E1400EDF5C02E1020EF4 +:10856A0001D0030E906FDFCFE6FF000EE66E050E18 +:10857A00E66E14D8020EE15C02E2E16AE552E16EAF +:10858A0030D0400EE66E400EE66E050EE66EE66AE6 +:10859A003FD8F3CF97F5F4CF98F51200010EE66EA7 +:1085AA0037D8F3CF99F5F4CF9AF51200DF6A39D8A4 +:1085BA00DE523FC0DEFF40C0DDFFDD52120093C530 +:1085CA00E9FF94C5EAFFEF6E932B000E9423912BDB +:1085DA009223010EDB061200D9CFE6FFE1CFD9FFC5 +:1085EA001200E552E7CFD9FF1200FD0EDBCF91F55D +:1085FA00FE0EDBCF92F51200FB0EDBCF47F0FC0E2E +:10860A00DBCF48F0120097C5E9FF98C5EAFF1200D0 +:10861A00020EE66E9BEC37F0476E050EE15E4750A0 +:10862A001200FD0EDBCF3FF0FE0EDBCF40F0120052 +:10863A00D3DF030EE126050190511200DDD8D0D810 +:10864A000DE0CED8F3D8D950FC0FE96EFF0EDA2030 +:10865A00EA6EEE2A000EEE22EE22F1D7F7D0CCD83F +:10866A00D6D808E0D4D8E2D8FD0EDB2AFE0EF8E30D +:10867A00DB2AF6D7EBD0EED80F0E476E486A496A66 +:10868A00D950BFD8EE504716EE504816EE5049164C +:10869A00EE5047C0F8F14750090802E3300E01D006 +:1086AA00370EF825C8D873D8040ED8904A32493202 +:1086BA0048324732E806F9E1FB0E47C0DBFFFC0E01 +:1086CA0048C0DBFFFD0E49C0DBFFFE0E4AC0DBFFE0 +:1086DA000101F707FA0EDB5002E0FA0EDB06C0D8FA +:1086EA00CBE1FA0EDB50C8E16CD0B4D85DD897D88C +:1086FA0039C0F8F1300E010139249DD855D88FD8E8 +:10870A00FB0E3DC0DBFFFC0E3EC0DBFFFD0E3FC093 +:10871A00DBFFFE0E40C0DBFF0101F707A1D8E6E14F +:10872A0050D06AD8E1506DD8D890030EEB50000AA9 +:10873A0008E6000EEE5C000EEE58000EEE58000E33 +:10874A00EE5815E22D0E72D82FD842684368446855 +:10875A00456874EC47F0FB0E39C0DBFFFC0E3AC0EB +:10876A00DBFFFD0E3BC0DBFFFE0E3CC0DBFFD9503A +:10877A0048D8EECFE6FFEECFE6FFEECFE6FFEFCF2B +:10878A00E6FFB3DFE552E552E552E5525FD0FB0E54 +:10879A00DBCF47F0FC0EDBCF48F0FD0EDBCF49F014 +:1087AA00FE0EDBCF4AF01200FB0EDBCF3DF0FC0ED3 +:1087BA00DBCF3EF0FD0EDBCF3FF0FE0EDBCF40F00D +:1087CA001200F72BF751486AEB0F476E010E482249 +:1087DA0047C0E6FF48C0E6FF42DFE552E55236D021 +:1087EA00FC0EDBCFF6FFFD0EDBCFF7FFFE0EDBCF75 +:1087FA00F8FF0800F5501200D9CFE6FFE1CFD9FF04 +:10880A001200FB0FE96EFF0EDA20EA6E1200FD0E6F +:10881A00DBCFE9FFFE0EDBCFEAFFEF5012000A0EB4 +:10882A00426E436A446A456A0CEF48F0E66EC2EC4F +:10883A0025F0E5521200E66EF751EA6AEB0FE96E8F +:10884A00010EEA22E552E750EF6E1200E552E7CF39 +:10885A00D9FF1200D1DF0101F66B0A0EF76F120081 +:10886A0096DF4750481049104A101200D9CFE6FF48 +:10887A00DACFE6FFE1CFD9FFE2CFDAFF060EE12435 +:10888A0002E3E168E652E16EDF6A010EDB6AD95063 +:10889A00FA0FE96EFF0EDA20EA6E020EEECFDBFF68 +:1088AA00030EEECFDBFF040EEECFDBFF050EEECF9D +:1088BA00DBFFD950FA0FE96EFF0EDA20EA6E060ED8 +:1088CA00E76ED890030EEB32020EEB32010EEB325A +:1088DA00EF32E706F6E1D950FA0FE96EFF0EDA2019 +:1088EA00EA6E060EE76ED890EF36010EEB36020EF0 +:1088FA00EB36030EEB36E706F6E1D950FA0FE96ECE +:10890A00FF0EDA20EA6E400EEE26000EEE22000E70 +:10891A00EE22000EEE22FA0EDBCF4BF0FB0EDBCF7F +:10892A004CF0FC0EDBCF4DF0FD0EDBCF4EF0D950F4 +:10893A00020FE96E000EDA20EA6EEE504B5C476ECB +:10894A00EE504C58486EEE504D58496EEE504E5807 +:10895A004A6E4750DF6ED950F80FE96EFF0EDA20E3 +:10896A00EA6EEE50ED1065E0040EDB50F86E030E71 +:10897A00DB50F76E020EDB50F66EDF50DF060009A1 +:10898A001AE0F60EDBCFE9FFDB2AF70EDBCFEAFFB0 +:10899A0001E3DB2AEF50F56E0D00F80EDB06DBCFA4 +:1089AA0047F0F90E01E2DB06DBCF48F047504810EA +:1089BA0001E101D0E2D7040EDB50F86E030EDB5062 +:1089CA00F76E020EDB50F66EA684F2AE04D0F29E6B +:1089DA00DE52010EDD6E550EA76EAA0EA76EA68296 +:1089EA00A694010EDB5003E0F28E010EDB6A400E04 +:1089FA00DF6E400E476E486A496A4A6AD950020FCA +:108A0A00E96E000EDA20EA6EEE504726EE50482252 +:108A1A00EE504922EE504A22020E47C0DBFF030EF7 +:108A2A0048C0DBFF040E49C0DBFF050E4AC0DBFF6E +:108A3A0092D7060EE15C02E2E16AE552E16EE55286 +:108A4A00E5CFDAFFE7CFD9FF120072EC23F005D8A1 +:108A5A00CAEC36F0AAEC24F0FBD7D9CFE6FFE1CF77 +:108A6A00D9FF020EE1260F0148694969600ED36EEB +:108A7A009B8C580EDE6E020EDD6EDFCF47F0DF06EE +:108A8A00010EDBCF48F001E2DB0647504810F5E162 +:108A9A00948EE4EC23F064EC36F0020EE15C02E220 +:108AAA00E16AE552E16EE552E7CFD9FF1200120002 +:108ABA0012001200120040EF41F012008EEF41F056 +:108ACA000501CB051EE10501CC051BE1F1DF65922D +:108ADA000501CC6B0201100EFE6F0E0EFF6FFE0732 +:108AEA00000EFF5BFE51FF11FAE16584080EFE6F6E +:108AFA00070EFF6FFE07000EFF5BFE51FF11FAE142 +:108B0A0065941200D9CFE6FFE1CFD9FFFD0EDBCF86 +:108B1A003FF0FE0EDBCF40F0050E3F1801E140505A +:108B2A0036E0E8683F1802E17F0E40182FE0030E96 +:108B3A003F1801E1405028E0020E3F1801E1405081 +:108B4A0021E0010E3F1801E140501AE0740E3F186F +:108B5A0001E1405013E0750E3F1801E140500CE06E +:108B6A00730E3F1801E1405005E0720E3F180FE105 +:108B7A0040500DD09EDF0BD09ADF09D099DF07D085 +:108B8A009DDF05D09ADF03D096DF01D093DF010E77 +:108B9A00E552E7CFD9FF1200D9CFE6FFDACFE6FFD9 +:108BAA00E1CFD9FFE2CFDAFFE652E652E652E652C9 +:108BBA00E652DF6AD950FA0FE96EFF0EDA20EA6E42 +:108BCA00010EEECFDBFF020EEECFDBFF030EEECF80 +:108BDA00DBFF040EEECFDBFFF60EDBCF47F0F70E1E +:108BEA00DBCF48F0F80EDBCF49F0F90EDBCF4AF0C5 +:108BFA0048D84750EE5C4850EE584950EE584A5013 +:108C0A00EE5833E2030EDB50F86E020EDB50F76EBD +:108C1A00010EDB50F66EA684A688F2AE03D0F29E51 +:108C2A00010EDF6E550EA76EAA0EA76EA682DF5042 +:108C3A0001E0F28E476A040E486E496A4A6A21D8F0 +:108C4A00EE504726EE504822EE504922EE504A2274 +:108C5A00010E47C0DBFF020E48C0DBFF030E49C00E +:108C6A00DBFF040E4AC0DBFFB7D7050EE15C02E268 +:108C7A00E16AE552E16EE552E5CFDAFFE7CFD9FFC7 +:108C8A001200D950010FE96E000EDA20EA6E1200C6 +:108C9A004542427631335F616E645F61626F766529 +:108CAA00204542204669726D776172652056657269 +:108CBA0073696F6E20332E302E302D61323300925D +:108CCA000F920F920F930F930F930F930F930F938C +:108CDA000F930F930F940F940F940F940F940F9474 +:108CEA000F940F940F950F950F950F950F950F955C +:108CFA000F890F890F890F8A0F8A0F8A0F8A0F8AA5 +:108D0A000F8A0F8A0F8A0F8B0F8B0F8B0F8B0F8B8C +:108D1A000F8B0F8B0F8B0F8C0F8C0F8C0F8C0F8C74 +:108D2A000F8C0F000105000102030405060700016C +:108D3A000203040506070203040506072A0EF66E57 +:108D4A00100EF76E000EF86E05010900F550E16F7E +:108D5A000900F550E26F03E1E16701D03DD0090057 +:108D6A00F550DC6F0900F550DD6F0900F550DE6F34 +:108D7A0009000900F550E96E0900F550EA6E09008C +:108D8A0009000900F550DF6F0900F550E06F09008E +:108D9A000900F6CFE3F5F7CFE4F5F8CFE5F5DCC542 +:108DAA00F6FFDDC5F7FFDEC5F8FF0501DF5302E177 +:108DBA00E05307E00900F550EE6EDF07F8E2E0073E +:108DCA00F9D7E3C5F6FFE4C5F7FFE5C5F8FF0501E6 +:108DDA00E107000EE25BBFD71200D9CFE6FFDACF78 +:108DEA00E6FFE1CFD9FFE2CFDAFFE652E652E652DA +:108DFA00E652D9CFE9FFDACFEAFFFA0EDBCFEEFF70 +:108E0A00FB0EDBCFEEFFFC0EDBCFEEFFFD0EDBCF62 +:108E1A00EEFF020EDB50F86E010EDB50F76EDF50EC +:108E2A00F66EF80EDBCF47F0DB06F90EDBCF48F023 +:108E3A0001E2DB06475048100DE00900F60EDBCFD1 +:108E4A00E9FFDB2AF70EDBCFEAFF01E3DB2AF5CFE6 +:108E5A00EFFFE7D7040EE15C02E2E16AE552E16E58 +:108E6A00E552E5CFDAFFE7CFD9FF1200D9CFE6FF07 +:108E7A00DACFE6FFE1CFD9FFE2CFDAFFAD6AAC6A1B +:108E8A00FD0EDBB0AD88DBA202D0AD8CAC8CDBB4BE +:108E9A00AD8EDBA602D0AC8801D0AC8ADBB8AD843B +:108EAA00DBBAAC86DBAC02D09D8A01D09D9ADBAEE0 +:108EBA0002D09D8801D09D98FB0EDB50B06EFC0E4F +:108ECA00DBCF48F048C047F0486A47507F6EAD8A0A +:108EDA00AC8EE552E5CFDAFFE7CFD9FF12003D505D +:108EEA004202F3CF39F0F4CF3AF04302F3503A2674 +:108EFA00000EF4203B6E3D504402F3503B26000E18 +:108F0A00F4203C6E3D504502F3503C263E5042024E +:108F1A00F3503A26F4503B22000E3C223E504302C4 +:108F2A00F3503B26F4503C223E504402F3503C2678 +:108F3A003F504202F3503B26F4503C223F5043023A +:108F4A00F3503C2640504202F3503C261200376A46 +:108F5A00E86A45AEB9EF47F0426C431E441E451E0F +:108F6A00432244224522371E40AEC4EF47F03D6CEF +:108F7A003E1E3F1E401E3E223F224022371E0CEC60 +:108F8A0048F040BEDBEF47F037AE000C3D6C3E1EAA +:108F9A003F1E401EE86A3E223F224022396C3A1E9A +:108FAA003B1E3C1E3A223B223C22000C37BECBEF32 +:108FBA0047F03888FF0C1201000202000040D80472 +:108FCA0092FD82010102030109024300020100C06D +:108FDA003209040000010202010005240010010404 +:108FEA002402020524060001052401000107058167 +:108FFA000308000209040100020A00000007050232 +:0D900A000240000007058202400000D28FE6 +:109018003C6A3B6A3A6A396A200EE76ED8903D3658 +:109028003E363F36403639363A363B363C36425085 +:10903800395C43503A5844503B5845503C5809E332 +:109048004250395E43503A5A44503B5A45503C5A74 +:109058003D2AE72EE4D71200FE0EE3CFE9FFFF0E0C +:10906800E3CFEAFFE9CFF3FFEACFF4FFFB0EE350CB +:1090780003E1FC0EE35009E0FB0EE30602E2FC0EFE +:10908800E306FD0EE350EE6EF1D71200D9CFE6FFEE +:10909800DACFE6FFE1CFD9FFE2CFDAFFADAC04D0FB +:1090A800AD900001FCB3AD80FD0EDB50AE6EE55215 +:1090B800E5CFDAFFE7CFD9FF1200FF0EE124E96E12 +:1090C800FF0EE220EA6EEDCFF4FFEFCFF3FFF46678 +:1090D80007D0600EF36404D07B0EF36001D0F39ADE +:1090E8001200C00EF36E00EE00F00E0E01D8120052 +:1090F800EA6002D0EE6AFCD7F350E9601200EE6A2B +:10910800FCD71EEE00F02EEE00F0F86A389CA3ECB7 +:1091180046F09EEC48F02AEC45F0FBD71200F36AC3 +:10912800F46AF32A0F0B05E0D890F336F436E80416 +:10913800FBE1120012000403090418035300630042 +:1091480068006D0061006C007A00480061007500DD +:10915800730038034500690042006F007400420044 +:109168006F006100720064002C00200020002000C5 +:1091780020002000200020002000200020002000E7 +:1091880020002000200020002000220320002000D2 +:1091980020002000200020002000200020002000C7 +:1091A80020002000200020002000200080028402EF +:0D91B8009C02D40200060000000000000030 :08FFF800ACF70AFF63F801F009 :00000001FF diff --git a/EBB_firmware/app.X/source/BL_rm18f46j50_g.lkr b/EBB_firmware/app.X/source/BL_rm18f46j50_g.lkr index 9371786..2ff6ff3 100644 --- a/EBB_firmware/app.X/source/BL_rm18f46j50_g.lkr +++ b/EBB_firmware/app.X/source/BL_rm18f46j50_g.lkr @@ -1,15 +1,15 @@ // Ram Usage for EBB v3.0.0-a23 +// currently 226 bytes unallocated // //Name Start End Purpose //accessram 0x000 0x05F -// 0x000 0x022 small ISR variables -// 0x023 0x03F compiler temp -// 0x043 0x05F [unused (33d)] +// 0x000 0x022 small ISR variables (ebb.c) +// 0x023 0x053 compiler temp //gpr0 0x060 0x0FF -// 0x060 0x0F9 RCServo2 variables, UBW.c +// 0x060 0x0F9 RCServo2.c, UBW.c //gpr1 0x100 0x1FF -// 0x100 0x17F UBW.c, compiler startup variables -// 0x180 0x1FF Rest of ISR variables +// 0x100 0x178 UBW.c (A and D FIFOs), ebb.c +// 0x180 0x1FF Rest of ISR variables, ebb.c, ebb_print.c, UBW.c //gpr2 0x200 0x2FF // 0x200 0x27F TX and RX command buffers // 0x280 0x2FF USB Descriptors @@ -17,21 +17,22 @@ // 0x300 0x3FF RX buffer //gpr4 0x400 0x4FF // 0x400 0x438 USB Buffer Description Tables (USB SIE hardware SFRs), usb_device.c variables -// 0x439 0x4FF UBW.c misc variables, compiler startup variables +// 0x439 0x4FF [unused (198d)] //gpr5 0x500 0x5FF -// 0x500 0x5F5 usb_function_cdc.c variables, UBW.c misc variables -//gpr6 0x600 0x6FF CommandFIFO -//gpr7 0x700 0x7FF CommandFIFO -//gpr8 0x800 0x8FF CommandFIFO -//gpr9 0x900 0x9FF CommandFIFO -//gpr10 0xA00 0xAFF CommandFIFO -//gpr11 0xB00 0xBFF CommandFIFO -//gpr12 0xC00 0xCFF CommandFIFO -//gpr13 0xD00 0xDFF CommandFIFO (spare/extra space) -//gpr14 0xE00 0xEBF Stack (note, not full 256 bytes anymore, only 192 now) -//sfr14 0xEC0 0xEFF SFRs -//sfr15 0xF00 0xF5F SFRs -//accesssfr 0xF60 0xFFF SFRs +// 0x500 0x5E3 usb_function_cdc.c, compiler startup +// 0x5E4 0x5FF [unused (28d)] +//gpr6 0x600 0x6FF CommandFIFO +//gpr7 0x700 0x7FF CommandFIFO +//gpr8 0x800 0x8FF CommandFIFO +//gpr9 0x900 0x9FF CommandFIFO +//gpr10 0xA00 0xAFF CommandFIFO +//gpr11 0xB00 0xBFF CommandFIFO +//gpr12 0xC00 0xCFF CommandFIFO +//gpr13 0xD00 0xDFF CommandFIFO +//gpr14 0xE00 0xEBF Stack (note, not full 256 bytes anymore, only 192 now) +//sfr14 0xEC0 0xEFF SFRs +//sfr15 0xF00 0xF5F SFRs +//accesssfr 0xF60 0xFFF SFRs // File: 18f46j50_g.lkr // Generic linker script for the PIC18F46J50 processor @@ -82,7 +83,7 @@ DATABANK NAME=gpr2 START=0x200 END=0x2FF DATABANK NAME=gpr3 START=0x300 END=0x3FF DATABANK NAME=gpr4 START=0x400 END=0x4FF DATABANK NAME=gpr5 START=0x500 END=0x5FF -// Command FIFO takes over all banks from 0x600 to 0xDFF +// Command FIFO takes over all banks from 0x600 to 0xDFF (length of 0x800 or 2048d) //DATABANK NAME=gpr6 START=0x600 END=0x6FF //DATABANK NAME=gpr7 START=0x700 END=0x7FF //DATABANK NAME=gpr8 START=0x800 END=0x8FF @@ -90,9 +91,9 @@ DATABANK NAME=gpr5 START=0x500 END=0x5FF //DATABANK NAME=gpr10 START=0xA00 END=0xAFF //DATABANK NAME=gpr11 START=0xB00 END=0xBFF //DATABANK NAME=gpr12 START=0xC00 END=0xCFF -DATABANK NAME=FIFO_scn START=0x600 END=0xCFF //DATABANK NAME=gpr13 START=0xD00 END=0xDFF -DATABANK NAME=stacks START=0xD00 END=0xEBF +DATABANK NAME=FIFO_scn START=0x600 END=0xDFF +DATABANK NAME=stacks START=0xE00 END=0xEBF #IFDEF _DEBUGDATASTART DATABANK NAME=gpr14 START=0xE00 END=_DATAEND @@ -113,6 +114,6 @@ ACCESSBANK NAME=accesssfr START=0xF60 END=0xFFF PROTECTED #IFDEF _DEBUGDATASTART STACK SIZE=0x100 RAM=gpr13 #ELSE - STACK SIZE=0x1C0 RAM=stacks + STACK SIZE=0x0C0 RAM=stacks #FI #FI diff --git a/EBB_firmware/app.X/source/ebb.c b/EBB_firmware/app.X/source/ebb.c index adfedac..bb3db84 100644 --- a/EBB_firmware/app.X/source/ebb.c +++ b/EBB_firmware/app.X/source/ebb.c @@ -309,15 +309,21 @@ typedef enum SOLENOID_PWM } SolenoidStateType; -// This is the FIFO that stores the motion commands. It spans multiple RAM -// banks from 0x800 through 0xCFF, and must only be accessed via pointer -#pragma udata FIFO_scn -MoveCommandType CommandFIFO[COMMAND_FIFO_MAX_LENGTH]; -// These global variables are deliberately put into "Bank" 1 of RAM. -// They are every global variable that the 25KHz ISR has to access. -// With them all being in bank 1, no bank switch instructions are needed -// in the ISR save for one at the very top. +// This is the FIFO that stores the motion commands. It spans multiple RAM +// banks from 0x600 through 0xDFF (length 0x800 or 2048d), and must only be +// accessed via pointer. +// Note that no matter what COMMAND_FIFO_MAX_LENGTH is set to, we reserve the +// entire 0x800 bytes of space in the FIFO_scn here. That prevents the linker +// from putting variables after this section. +#pragma udata FIFO_scn +UINT8 CommandFIFO[COMMAND_FIFO_SIZE_BYTES]; + +// These global variables are deliberately put into "Bank" 0 of RAM (the +// access/near bank). +// They are the small global variables that the 25KHz ISR has to access. +// With them all being in bank 0, no bank switch instructions are needed +// to access them. #pragma udata access ISR_access //static UINT8 TookStep; // LSb set if a step was taken @@ -376,28 +382,28 @@ UINT8 near FIFO_out_ptr_low; volatile static near INT32 globalStepCounter1; volatile static near INT32 globalStepCounter2; -#pragma udata ISR_globals = 0x180 - -MoveCommandType CurrentCommand; - // Pointer to a MoveCommandType element of the FIFO array -MoveCommandType * FIFOPtr = &CommandFIFO[0]; -// Accumulator for each axis -static u32b4_t acc_union[2]; +near MoveCommandType * FIFOPtr = (near MoveCommandType *)&CommandFIFO[0]; +// Accumulator for each axis +static near u32b4_t acc_union[2]; // ISR globals used in test modes for keeping track of each move -static UINT32 gISRTickCountForThisCommand; -static UINT32 gISRStepCountForThisCommand; -static INT32 gISRPositionForThisCommand; +static near UINT32 gISRTickCountForThisCommand; +static near UINT32 gISRStepCountForThisCommand; +static near INT32 gISRPositionForThisCommand; -// These globals are now set to be put anywhere the linker can find space for them -#pragma udata -static MoveCommandType gMoveTemp; // Commands fill this then copy to FIFO +// Bank 1 is the "ISR Bank". By placing all variables that the ISR needs +// access to either in the access bank (above) or in Bank 1, then the bank +// select register can be kept pointing to Bank 1 and no bank switch instructions +// are needed in the iSR. +#pragma udata ISR_globals = 0x180 + +// The move command containing the currently executing move command in the ISR +MoveCommandType CurrentCommand; unsigned int DemoModeActive; -unsigned int comd_counter; static SolenoidStateType SolenoidState; static unsigned int SolenoidDelay; @@ -405,7 +411,6 @@ static unsigned int SolenoidDelay; static PenStateType PenState; static unsigned long NodeCount; -static UINT8 gSL_Storage[32]; unsigned char QC_ms_timer; static UINT StoredEngraverPower; // Set TRUE to enable solenoid output for pen up/down @@ -437,6 +442,16 @@ static INT32 gTmpJerk1; static INT32 gTmpJerk2; static UINT32 gTmpClearAccs; +// These globals are now set to be put anywhere the linker can find space for them +#pragma udata + +static MoveCommandType gMoveTemp; // Commands fill this then copy to FIFO + +// Storage for the 32 bytes of "SL" command values +static UINT8 gSL_Storage[32]; + + + // Local function definitions diff --git a/EBB_firmware/app.X/source/ebb.h b/EBB_firmware/app.X/source/ebb.h index 4c91e66..9be8546 100644 --- a/EBB_firmware/app.X/source/ebb.h +++ b/EBB_firmware/app.X/source/ebb.h @@ -87,7 +87,12 @@ // we artifically set this to 32 elements. That gives us room to grow the size // of the command structure without needing to decrease the maximum size // of the FIFO in elements. -#define COMMAND_FIFO_MAX_LENGTH 28u +#define COMMAND_FIFO_MAX_LENGTH 32u + +// The total number of bytes of space we want the FIFO to be (i.e. reserve +// maximum 2048 bytes, even if we're not using all of it) +#define COMMAND_FIFO_SIZE_BYTES 0x800 + typedef enum { @@ -292,7 +297,7 @@ typedef struct -extern MoveCommandType * FIFOPtr; +extern near MoveCommandType * FIFOPtr; extern near volatile UINT8 gFIFOLength; extern near volatile UINT8 gFIFOIn; extern near volatile UINT8 gFIFOOut;