Changeset 1380
- Timestamp:
- 08/25/10 14:55:30 (21 months ago)
- Location:
- trunk/firmware/usb_ir_body
- Files:
-
- 2 edited
-
usb_ir_body.hex (modified) (2 diffs)
-
usb_ir_body/ir.asm (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/firmware/usb_ir_body/usb_ir_body.hex
r1107 r1380 47 47 :400b80003030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303035 48 48 :400bc00030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030f5 49 :400c000050077f30803b303080c a303082213030825530303030303030303030303030303030303030303030303030303030303030303030303030303030303050007f303050 :400c400053f551f42102a0339ff22117b0094100bf620b0180164301f c620f01621001621101621201621301621401620a026231cf622a08622b0326f4fd51f42104a00a5151 :400c80002655fe7c0f 8e26f4fb51f42108a0077c0dcc26f4f751f53910a04e3911a05b3912a0643914a0683915a06c391aa088391ba089391ca08a391da090391ea091399452 :400cc0001 fa0983925a0993906a09a800657047c00987f51552102a00c55fb3157047c00987c0dcc7c0d917f55fb109f4f53fc55fd4157067c00988fda55fb1155fc96571d53 :400d0000 057c00988fcd2e55017c0dcc8fc02655fe7c0dcc8fb87c0dbd7c0088a0097c0eb37c0dcc8fa87c0eb37c0dcc55fb3257057c00988f9d7c0fca8f987c10288f934354 :400d40007c 109257067c00988f897c10c58f7f7c0dbd7c00887c11018f747c1fc08f7457047c00987c0e988f6a3e583c58f3b00455585d70fe7a5771017f3c5796a00f3f8855 :400d8000 f376573cf3f3b00955f35d80042e55027f3c5707c018570755f5f89fcc3ff579bffa51573ff5570850f87c00947f9e8c2117b0064100bf80044301fc7f5de121bc56 :400dc000 7f60e15ddf21fd60df9fe37f2655fd55585d55f35d5557009fe351552101a0135de1298060e151552104b0075ddf290260df7f515a6767676767672103535a51c357 :400e0000 5964642c5aa0037a5a515a217f2a5b535a5159676767676721075359a00b515b297f9f567a59bffb515a9f4e802e085d20535a5d2153595d2c2101b00f555b80d958 :400e4000 51552104a0145f53528011555b0051552104a00655530080038f99622000622100622c03187e0850809f0f187e5554005552409dc72117a01f55540126fdfc5f8f59 :400e80005 2fd5152b0045552fc51feb00b51ffb00755fe0655ff317f9fd32e55059f2d62e3387c0080b007507f90208ff32655fa9f1a7f9fb855f35d5553005ff5fc51f59d60 :400ec000 a0053ef390057af5bff97f53f7217f6453f6585451552104b01151f72180a00655530080065f5352800151f6a0895e00325361007af651fee0013a003a003a00ce61 :400f0000 3a0051ffe00140404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040c662 :400f400040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040 8f759e367f9cc12107b005509063 :400f8000 01800b55fb0457047c009850007f9cac2107b0364100f06205006206006207006208009c972110b01241018762100062110062120062130080104100204300807964 :400fc000 620c01620b006209007f9fada05a57047c00985d05210753f85d06210753f95d07210753fa5d08210753fb9c4f2110b01b5d10210753fc5d11210753fd5d1221d565 :40100000 0753fe5d13210753ff80165d09210753fc55fd005d0a210753fe5d0c210753ff570850f87c00947f9f4fa0667c0080affc570850f87c0084570850f87c0094516666 :40104000 f82107600551f92107600651fa2107600751fb210760089be32110b01b51fc2107601051fd2107601151fe2107601251ff21076013801351fc2107600951fe216267 :40108000 07600b51ff2107600c55fb1b57047c00987f9ee5a02f9ba42110b01b70fe5d0053fc5d0153fd710168fd68fd68fd26fc0f26fd0f800f70fe5d0053fc710126fceb68 :4010c000 df55fd007f9eb2a0389b712110b02326fc0f26fd0f65fd65fd65fd70fe5d0021f02afc60005d0121872afd60017101801026fcdf70fe5d0021202afc600071018869 :40110000 7f9e76aec555f35d58fca01f3ef353f5210f53fc51f521f06767676753fd9fa5501ea004788ffc798fe17f3030303030303030303030303030303030303030300549 :400c000050077f30803b303080ce303082333030826730303030303030303030303030303030303030303030303030303030303030303030303030303030303050007f3008 50 :400c400053f551f42102a0339ff22117b0094100bf620b0180164301f0620f01621001621101621201621301621401620a026231cf622a08622b0326f4fd51f42104a00a5d 51 :400c80002655fe7c0fa026f4fb51f42108a0077c0dd526f4f751f53910a0523911a05f3912a0683914a06c3915a0703927a08c391aa093391ba094391ca095391da09b3935 52 :400cc0001ea09c391fa0a33925a0a43906a0a5800657047c00987f51552102a00c55fb3157047c00987c0dd57c0da07f55fb109f4b53fc55fd4157067c00988fda55fb1193 53 :400d000055fc9657057c00988fcd2e55017c0dd58fc02655fe7c0dd58fb87c0dcc7c0088a0097c0ec57c0dd58fa87c0ec57c0dd555fb3257057c00988f9d7c0dcc7c0ec55c 54 :400d40007c0dd58f8d7c0fdc8f8d7c103a8f887c10a457067c00988f7e7c10d78f747c0dcc7c00887c11138f697c1fc08f6957047c00987c0eaa8f5f3e583c58f3b004558a 55 :400d8000585d70fe7a5771017f3c5796a00f3ff376573cf3f3b00955f35d80042e55027f3c5707c018570755f5f89fcc3ff579bffa51573ff5570850f87c00947f9e7d213e 56 :400dc00017b0064100bf80044301f07f41e17f41dffd9fe97f2655fd55585d55f35d5557009fe951552101a01c622000622100622c0341db7f41dcfd43e18051552104b0e1 57 :400e00000443df027f515a6767676767672103535a515964642c5aa0037a5a515a217f2a5b535a5159676767676721075359a00b515b297f9f537a59bffb515a9f4b802ef7 58 :400e4000085d20535a5d2153595d2c2101b00f555b8051552104a0145f53528011555b0051552104a00655530080038f99622000622100622c03187e0850809f0c187e555a 59 :400e800054005552409db52117a01f55540126fdf05f52fd5152b0045552f051feb00b51ffb00755fe0655ff317f9fd32e55059f2462e3387c0080b007507f90208ff326d3 60 :400ec00055fa9f117f9fb855f35d5553005ff5fc51f5a0053ef390057af5bff97f53f7217f6453f6585451552104b01151f72180a00655530080065f5352800151f6a089a8 61 :400f00005e00325361007af651fee0013a003a003a003a0051ffe00140404040404040404040404040404040404040404040404040404040404040404040404040404040b4 62 :400f40004040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404071 63 :400f80004040404040408f759e337f9caf2107b0055001800b55fb0457047c009850007f9c9a2107b0364100f06205006206006207006208009c852110b012410187621061 64 :400fc000006211006212006213008010410020430080620c01620b006209007f9fada05a57047c00985d05210753f85d06210753f95d07210753fa5d08210753fb9c3d210c 65 :4010000010b01b5d10210753fc5d11210753fd5d12210753fe5d13210753ff80165d09210753fc55fd005d0a210753fe5d0c210753ff570850f87c00947f9f4fa0667c000b 66 :4010400080affc570850f87c0084570850f87c009451f82107600551f92107600651fa2107600751fb210760089bd12110b01b51fc2107601051fd2107601151fe21076078 67 :401080001251ff21076013801351fc2107600951fe2107600b51ff2107600c55fb1b57047c00987f9ee5a02f9b922110b01b70fe5d0053fc5d0153fd710168fd68fd68fdbf 68 :4010c00026fc0f26fd0f800f70fe5d0053fc710126fcdf55fd007f9eb2a0389b5f2110b02326fc0f26fd0f65fd65fd65fd70fe5d0021f02afc60005d0121872afd60017190 69 :4011000001801026fcdf70fe5d0021202afc600071017f9e76aec555f35d58fca01f3ef353f5210f53fc51f521f06767676753fd9fa5501ea004788ffc798fe17f303030cf 70 70 :40114000303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030306f 71 71 :40118000303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030302f … … 130 130 :400000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 131 131 :020000040020da 132 :02000000e 9e431132 :02000000ece62c 133 133 :00000001ff -
trunk/firmware/usb_ir_body/usb_ir_body/ir.asm
r1094 r1380 144 144 ; FUNCTION rx_disable disables the IR receiver 145 145 rx_disable: 146 ; disable the timer capture (tcap) interrupt 147 mov A, REG[INT_MSK1] 148 and A, ~0b10000000 149 mov REG[INT_MSK1], A 146 ; disable the timer capture (tcap) interrupt 147 and REG[INT_MSK1], ~0b10000000 150 148 151 149 ; disable the timer wrap (twrap) interrupt 152 mov A, REG[INT_MSK2] 153 and A, ~0b00000010 154 mov REG[INT_MSK2], A 150 and REG[INT_MSK2], ~0b00000010 155 151 156 152 ; make sure the transmit LEDs are OFF … … 173 169 jz rx_reset_done 174 170 171 ; clear the timer capture registers from when the receiver was "off" 172 mov REG[FRTMRL], 0 ; reset timer low byte 173 mov REG[FRTMRH], 0 ; reset timer high byte 174 mov REG[TCAPINTS], 0x03 ; clear int status 175 ; acceptably small race between this and the next instruction 176 177 ; need to clear any pending interrupts 178 and REG[INT_CLR1], ~0b10000000 ; tcap interrupt 179 and REG[INT_CLR2], ~0b00000010 ; twrap interrupt 180 175 181 ; enable the timer capture interrupt 176 mov A, REG[INT_MSK1] 177 or A, 0b10000000 ; tcap interrupt enable 178 mov REG[INT_MSK1], A 179 180 ; enable the timer wrap interrupt 182 or REG[INT_MSK1], 0b10000000 183 184 ; enable the timer wrap interrupt unless we're in repeater mode 181 185 mov A, [rx_flags] ; check if we're in repeater mode 182 186 and A, RX_REPEATER_FLAG 183 187 jnz rx_reset_done 184 mov A, REG[INT_MSK2] 185 or A, 0b00000010 ; twrap interrupt enable 186 mov REG[INT_MSK2], A 188 or REG[INT_MSK2], 0b00000010 187 189 188 190 rx_reset_done:
Note: See TracChangeset
for help on using the changeset viewer.
