diff --git a/dist/default/production/attiny2313a_thermostat.X.production.hex b/dist/default/production/attiny2313a_thermostat.X.production.hex new file mode 100644 index 0000000..17bbcc1 --- /dev/null +++ b/dist/default/production/attiny2313a_thermostat.X.production.hex @@ -0,0 +1,47 @@ +:020000020000FC +:0200000049C0F5 +:10001A0000C04F935F930F935FB7409167004530DD +:10002A000CF403C0442740936700403041F493988E +:10003A0094989598929A0091660016D19FD0413073 +:10004A0041F4929894989598939A009165000CD1EE +:10005A0095D0423041F4929893989598949A009149 +:10006A00640002D18BD0433041F4929893989498CB +:10007A00959A00916300F8D081D043954093670028 +:10008A005FBF0F915F914F9118950FED0DBF0EE76E +:10009A0001BB01EC07BB0CE108BB02E000BF05E0B5 +:1000AA0003BF09E106BF01E009BF112410926700EE +:1000BA0000E000936000002700936A0080E090E06F +:1000CA0051D0DDD0DCD0DBD0DAD03FD000916A004D +:1000DA00802F90E000916000003079F4ABD070FD81 +:1000EA00969A70FF96983ED0CAD0C9D0C8D0C7D0C9 +:1000FA002CD010916A00812F90E0013011F49AD02F +:10010A0049D0023039F71BE0109363001093640062 +:10011A0010936500109366000000DCCFEE24FF18F0 +:10012A0041E1001F111F4A9509F40895EE1CFF1CB6 +:10013A00E21AF30A20F4E20EF31E8894F2CF08942E +:10014A00F0CF41503040E8F708950F93F89428D043 +:10015A000CEC802E38D00EEB802E35D051D078940E +:10016A000F9108950F93F8941BD00CEC802E2BD08E +:10017A0004E4802E28D078940F9108950F930FB835 +:10018A0000E40EB90BE10DB9769BFDCFC09AC09879 +:10019A000F91089574D0B29B0196B39B019708956D +:1001AA00B99A33E04EEBCDDFB99830E04AE8C9DFBF +:1001BA0004D033E042E3C5DF0895B19B716002C009 +:1001CA00B1997E7F08950F931F93082D18E0069525 +:1001DA0008F448F0B99A30E046E7B3DFB99830E05E +:1001EA0042E1AFDF08C0B99A30E04AE0AADFB99825 +:1001FA0030E04EE7A6DF1A9551F71F910F91089547 +:10020A000F931F9308E0B99A30E04AE09ADFB99851 +:10021A0030E040E196DF10916A001695B1991068B6 +:10022A0010936A0030E04CE68CDF0A9561F71F9163 +:10023A000F910895F8945F9354E0A3E6B0E0809399 +:10024A0061009093620000916100109162002AE0BF +:10025A0030E064DFED9200936100109362005A95DA +:10026A0091F75F91789408950F931F93E4ECF2E06D +:10027A001127E00FF11F04901F910F9108950F931A +:10028A001F932F932AE01FEF0FEF0A95F1F71A95A4 +:10029A00D9F72A95C1F72F911F910F9108950F93BE +:1002AA001F930FEF1FEF1A95000000000000D9F707 +:1002BA000A95C1F71F910F910895C0F9A4B09992B8 +:0602CA0082F880909CBF49 +:00000001FF diff --git a/dist/default/production/attiny2313a_thermostat.X.production.lss b/dist/default/production/attiny2313a_thermostat.X.production.lss new file mode 100644 index 0000000..e329c15 --- /dev/null +++ b/dist/default/production/attiny2313a_thermostat.X.production.lss @@ -0,0 +1,1479 @@ + +AVRASM ver. 2.2.7 main.asm Mon Jun 19 15:34:12 2023 + +[builtin](2): Including file '/home/sergeyyarkov/.mchp_packs/Microchip/ATtiny_DFP/3.0.151/avrasm/inc\tn2313Adef.inc' +main.asm(15): Including file 'definitions.asm' +main.asm(16): Including file 'macros.asm' +main.asm(244): Including file 'div16u.asm' +div16u.asm(22): warning: Register r16 already defined by the .DEF directive +main.asm(244): 'div16u.asm' included form here +div16u.asm(23): warning: Register r17 already defined by the .DEF directive +main.asm(244): 'div16u.asm' included form here +div16u.asm(24): warning: Register r16 already defined by the .DEF directive +main.asm(244): 'div16u.asm' included form here +div16u.asm(25): warning: Register r17 already defined by the .DEF directive +main.asm(244): 'div16u.asm' included form here +div16u.asm(27): warning: Register r19 already defined by the .DEF directive +main.asm(244): 'div16u.asm' included form here +div16u.asm(28): warning: Register r20 already defined by the .DEF directive +main.asm(244): 'div16u.asm' included form here +[builtin](2): Including file '/home/sergeyyarkov/.mchp_packs/Microchip/ATtiny_DFP/3.0.151/avrasm/inc\tn2313Adef.inc' +main.asm(15): Including file 'definitions.asm' +main.asm(16): Including file 'macros.asm' +main.asm(244): Including file 'div16u.asm' + + ; + + ;***** Created: 2011-02-09 12:04 ******* Source: ATtiny2313A.xml ********* + ;************************************************************************* + ;* A P P L I C A T I O N N O T E F O R T H E A V R F A M I L Y + ;* + ;* Number : AVR000 + ;* File Name : "tn2313Adef.inc" + ;* Title : Register/Bit Definitions for the ATtiny2313A + ;* Date : 2011-02-09 + ;* Version : 2.35 + ;* Support E-mail : avr@atmel.com + ;* Target MCU : ATtiny2313A + ;* + ;* DESCRIPTION + ;* When including this file in the assembly program file, all I/O register + ;* names and I/O register bit names appearing in the data book can be used. + ;* In addition, the six registers forming the three data pointers X, Y and + ;* Z have been assigned names XL - ZH. Highest RAM address for Internal + ;* SRAM is also defined + ;* + ;* The Register names are represented by their hexadecimal address. + ;* + ;* The Register Bit names are represented by their bit number (0-7). + ;* + ;* Please observe the difference in using the bit names with instructions + ;* such as "sbr"/"cbr" (set/clear bit in register) and "sbrs"/"sbrc" + ;* (skip if bit in register set/cleared). The following example illustrates + ;* this: + ;* + ;* in r16,PORTB ;read PORTB latch + ;* sbr r16,(1< + ; **** СЕГМЕНТ ДАННЫХ ******************************************** + .DSEG + .ORG SRAM_START + +000060 MCU_STATE: .BYTE 1 ; Текущее состояние МК +000061 SRAM_TEMP_1: .BYTE 2 ; Хранения временного 16-бит числа в ячейке +000063 DIGITS: .BYTE 4 ; Ячейки, где хранятся символы, для вывода на индикатор +000067 CURRENT_DIGIT: .BYTE 1 ; Номер разряда индикатора, который сейчас горит +000068 SW_FLAGS: .BYTE 1 ; Состояние кнопок +000069 HYSTERESIS: .BYTE 1 ; Отклонение температуры от уставки +00006a OW_RECEIVE: .BYTE 1 + ;// + + + // + ; **** СЕГМЕНТ КОДА ********************************************** + .CSEG + + // + .ORG 0x00 +000000 c049 rjmp RESET_vect + + .ORG 0x000D +00000d c000 rjmp TIMER0_COMPA_vect + // + + + // + ; **** ДИНАМИЧЕСКАЯ ИНДИКАЦИЯ ************************************ + TIMER0_COMPA_vect: +00000e 934f push r20 +00000f 935f push r21 +000010 930f push r16 +000011 b75f in r21, SREG + +000012 9140 0067 lds r20, CURRENT_DIGIT +000014 3045 cpi r20, 5 +000015 f40c brge _CLR_CURRENT_DIGIT ; сброс активного разряда если >= 5 +000016 c003 rjmp _indicate_1 + + _CLR_CURRENT_DIGIT: ; сброс текущего активного разряда в ноль +000017 2744 clr r20 +000018 9340 0067 sts CURRENT_DIGIT, r20 + + _indicate_1: +00001a 3040 cpi r20, 0 +00001b f441 brne _indicate_2 + +00001c 9893 cbi PORTD, DIGIT_2_PIN +00001d 9894 cbi PORTD, DIGIT_3_PIN +00001e 9895 cbi PORTD, DIGIT_4_PIN +00001f 9a92 sbi PORTD, DIGIT_1_PIN +000020 9100 0066 lds TEMP_REG_A, DIGITS+3 +000022 d116 rcall DISPLAY_DECODER +000023 d09f rcall USI_TRANSMIT + + _indicate_2: +000024 3041 cpi r20, 1 +000025 f441 brne _indicate_3 + +000026 9892 cbi PORTD, DIGIT_1_PIN +000027 9894 cbi PORTD, DIGIT_3_PIN +000028 9895 cbi PORTD, DIGIT_4_PIN +000029 9a93 sbi PORTD, DIGIT_2_PIN +00002a 9100 0065 lds TEMP_REG_A, DIGITS+2 +00002c d10c rcall DISPLAY_DECODER +00002d d095 rcall USI_TRANSMIT + + _indicate_3: +00002e 3042 cpi r20, 2 +00002f f441 brne _indicate_4 + +000030 9892 cbi PORTD, DIGIT_1_PIN +000031 9893 cbi PORTD, DIGIT_2_PIN +000032 9895 cbi PORTD, DIGIT_4_PIN +000033 9a94 sbi PORTD, DIGIT_3_PIN +000034 9100 0064 lds TEMP_REG_A, DIGITS+1 +000036 d102 rcall DISPLAY_DECODER +000037 d08b rcall USI_TRANSMIT + + _indicate_4: +000038 3043 cpi r20, 3 +000039 f441 brne _indicate_exit + +00003a 9892 cbi PORTD, DIGIT_1_PIN +00003b 9893 cbi PORTD, DIGIT_2_PIN +00003c 9894 cbi PORTD, DIGIT_3_PIN +00003d 9a95 sbi PORTD, DIGIT_4_PIN +00003e 9100 0063 lds TEMP_REG_A, DIGITS +000040 d0f8 rcall DISPLAY_DECODER +000041 d081 rcall USI_TRANSMIT + + _indicate_exit: +000042 9543 inc r20 +000043 9340 0067 sts CURRENT_DIGIT, r20 +000045 bf5f out SREG, r21 + +000046 910f pop r16 +000047 915f pop r21 +000048 914f pop r20 +000049 9518 reti + ;// + + ; **** СТАРТ ПРОГРАММЫ ******************************************* + RESET_vect: +00004a ed0f ldi TEMP_REG_A, LOW(RAMEND) +00004b bf0d out SPL, TEMP_REG_A + + // + ; **** ПРОЦЕСС ИНИЦИАЛИЗАЦИИ МК ********************************** + MCU_INIT: + ; **** ИНИЦИАЛИЗАЦИЯ ПИНОВ ************************************* +00004c e70e +00004d bb01 outi r16, DDRD, (1< + + // + ; **** ГЛАВНЫЙ ЦИКЛ ********************************************** + LOOP: + ; rcall DISPLAY_UPD_DIGITS +00006f 9100 0060 lds r16, MCU_STATE ; получаем текущее состояние МК + + _STATE_DEFAULT: +000071 3000 cpi r16, MCU_STATE_DEFAULT +000072 f479 brne _STATE_PROGRAM +000073 d0ab rcall DISPLAY_UPD_DIGITS + ; rcall TEMP_RD +000074 fd70 sbrc OWFR, OWPRF +000075 9a96 sbi PORTD, PD6 +000076 ff70 sbrs OWFR, OWPRF +000077 9896 cbi PORTD, PD6 +000078 d03e rcall TEMP_CONV +000079 d0ca rcall DEBOUNCE_SW +00007a d0c9 rcall DEBOUNCE_SW +00007b d0c8 rcall DEBOUNCE_SW +00007c d0c7 rcall DEBOUNCE_SW +00007d d02c rcall TEMP_RD +00007e 9110 006a lds r17, OW_RECEIVE +000080 2f81 mov DISP_NUM_L, r17 +000081 e090 ldi DISP_NUM_H, 0 + + _STATE_PROGRAM: +000082 3001 cpi r16, MCU_STATE_PROGRAM +000083 f411 brne _STATE_ERROR +000084 d09a rcall DISPLAY_UPD_DIGITS +000085 d049 rcall SW_CHECK_PROCESS + _STATE_ERROR: +000086 3002 cpi r16, MCU_STATE_ERROR +000087 f739 brne LOOP +000088 e01b ldi r17, 11 +000089 9310 0063 sts DIGITS, r17 +00008b 9310 0064 sts DIGITS+1, r17 +00008d 9310 0065 sts DIGITS+2, r17 +00008f 9310 0066 sts DIGITS+3, r17 +000091 0000 nop + +000092 cfdc rjmp LOOP + // + + + ; **** ПОДПРОГРАММЫ ********************************************** + .INCLUDE "div16u.asm" + + ;* + ;* "div16u" - 16/16 Bit Unsigned Division + ;* + ;* This subroutine divides the two 16-bit numbers + ;* "dd8uH:dd8uL" (dividend) and "dv16uH:dv16uL" (divisor). + ;* The result is placed in "dres16uH:dres16uL" and the remainder in + ;* "drem16uH:drem16uL". + ;* + ;* Number of words :19 + ;* Number of cycles :235/251 (Min/Max) + ;* Low registers used :2 (drem16uL,drem16uH) + ;* High registers used :5 (dres16uL/dd16uL,dres16uH/dd16uH,dv16uL,dv16uH, + ;* dcnt16u) + ;* + ;*************************************************************************** + + ;***** Subroutine Register Variables + + .def drem16uL=r14 + .def drem16uH=r15 + .def dres16uL=r16 + .def dres16uH=r17 + .def dd16uL =r16 + .def dd16uH =r17 + .def dv16uL =r18 + .def dv16uH =r19 + .def dcnt16u =r20 + + ;***** Code + + div16u: +000093 24ee clr drem16uL ; clear remainder Low byte +000094 18ff sub drem16uH,drem16uH ; clear remainder High byte and carry +000095 e141 ldi dcnt16u,17 ; init loop counter + d16u_1: +000096 1f00 rol dd16uL ; shift left dividend +000097 1f11 rol dd16uH +000098 954a dec dcnt16u ; decrement counter +000099 f409 brne d16u_2 ; if done +00009a 9508 ret ; return + d16u_2: +00009b 1cee rol drem16uL ; shift dividend into remainder +00009c 1cff rol drem16uH +00009d 1ae2 sub drem16uL,dv16uL ; remainder = remainder - divisor +00009e 0af3 sbc drem16uH,dv16uH +00009f f420 brcc d16u_3 ; if result negative +0000a0 0ee2 add drem16uL,dv16uL ; restore remainder +0000a1 1ef3 adc drem16uH,dv16uH +0000a2 9488 clc ; clear carry to be shifted into result +0000a3 cff2 rjmp d16u_1 ; else + d16u_3: +0000a4 9408 sec ; set carry to be shifted into result +0000a5 cff0 + DELAY_LOOP_16: +0000a6 5041 subi DELAY_8_r, 1 +0000a7 4030 sbci DELAY_16_r, 0 +0000a8 f7e8 brcc DELAY_LOOP_16 +0000a9 9508 ret + + // + TEMP_RD: +0000aa 930f push r16 +0000ab 94f8 cli + +0000ac d028 rcall OW_PRESENCE +0000ad ec0c ldi r16, DS18B20_CMD_SKIPROM +0000ae 2e80 mov OW_CMD_r, r16 +0000af d038 rcall OW_SEND_BYTE + +0000b0 eb0e ldi r16, DS18B20_CMD_RSCRATCHPAD +0000b1 2e80 mov OW_CMD_r, r16 +0000b2 d035 rcall OW_SEND_BYTE + +0000b3 d051 rcall OW_RD_BYTE + +0000b4 9478 sei +0000b5 910f pop r16 +0000b6 9508 ret + ; + TEMP_CONV: +0000b7 930f push r16 +0000b8 94f8 cli + +0000b9 d01b rcall OW_PRESENCE +0000ba ec0c ldi r16, DS18B20_CMD_SKIPROM +0000bb 2e80 mov OW_CMD_r, r16 +0000bc d02b rcall OW_SEND_BYTE + +0000bd e404 ldi r16, DS18B20_CMD_CONVERTTEMP +0000be 2e80 mov OW_CMD_r, r16 +0000bf d028 rcall OW_SEND_BYTE + +0000c0 9478 sei +0000c1 910f pop r16 +0000c2 9508 ret + // + + + // + ; **** ОТПРАВКА БАЙТА В СДВИГОВЫЙ РЕГИСТР ************************* + USI_TRANSMIT: +0000c3 930f push r16 +0000c4 b80f out USIDR, r0 ; Байт для отправки всегда находится в регистре r0. Помещаем данные в регистр USIDR. + + ; Enable USI Overflow Interrupt Flag (will be 0 if transfer is not compeleted) +0000c5 e400 ldi TEMP_REG_A, (1< USI Wire Mode + ; USICS1 <--------------> USI Clock Source Select + ; USICLK <--------------> USI Clock Strobe + ; USITC <--------------> USI Toggle Clock (Enable clock generation) +0000c7 e10b ldi TEMP_REG_A, (1< + + + // + SW_CHECK_PROCESS: +0000cf d074 rcall DEBOUNCE_SW +0000d0 9bb2 sbis SW_PIN, SW_PLUS_PIN +0000d1 9601 adiw DISP_NUM_L, 1 + +0000d2 9bb3 sbis SW_PIN, SW_MINUS_PIN +0000d3 9701 sbiw DISP_NUM_L, 1 +0000d4 9508 ret// + + + // + // + ; **** ОПРОС ПРИСУТСТВИЯ УСТРОЙСТВА ****************************** + OW_PRESENCE: +0000d5 9ab9 ow_pull +0000d6 e033 +0000d7 eb4e +0000d8 dfcd DELAY16 480 +0000d9 98b9 ow_release +0000da e030 +0000db e84a +0000dc dfc9 DELAY16 70 +0000dd d004 rcall OW_CHECK_PRESENCE +0000de e033 +0000df e342 +0000e0 dfc5 DELAY16 410 +0000e1 9508 ret + // + + // + ; **** ПРОВЕРКА НАЛИЧИЯ УСТРОЙСТВА ******************************* + ; Если подчиненное устройство притянет шину, то устанавливаем флаг OWPRF в единицу в регистре флагов + ; + OW_CHECK_PRESENCE: +0000e2 9bb1 sbis OW_PIN, OW_LINE +0000e3 6071 sbr OWFR, (1< + + // + OW_SEND_BYTE: +0000e8 930f push r16 +0000e9 931f push r17 +0000ea 2d08 mov r16, OW_CMD_r +0000eb e018 ldi r17, 8 + _OW_SEND_BYTE_LOOP: +0000ec 9506 lsr r16 +0000ed f408 brcc _OW_SEND_0 +0000ee f048 brcs _OW_SEND_1 + _OW_SEND_0: +0000ef 9ab9 ow_pull +0000f0 e030 +0000f1 e746 +0000f2 dfb3 DELAY16 60 +0000f3 98b9 ow_release +0000f4 e030 +0000f5 e142 +0000f6 dfaf DELAY16 10 +0000f7 c008 rjmp _OW_SEND_BYTE_END + _OW_SEND_1: +0000f8 9ab9 ow_pull +0000f9 e030 +0000fa e04a +0000fb dfaa DELAY16 6 +0000fc 98b9 ow_release +0000fd e030 +0000fe e74e +0000ff dfa6 DELAY16 64 + _OW_SEND_BYTE_END: +000100 951a dec r17 +000101 f751 brne _OW_SEND_BYTE_LOOP +000102 911f pop r17 +000103 910f pop r16 +000104 9508 ret + // + + // + OW_RD_BYTE: +000105 930f push r16 +000106 931f push r17 +000107 e008 ldi r16, 8 + _OW_RD_BYTE_LP: +000108 9ab9 ow_pull +000109 e030 +00010a e04a +00010b df9a DELAY16 6 +00010c 98b9 ow_release +00010d e030 +00010e e140 +00010f df96 DELAY16 9 +000110 9110 006a lds r17, OW_RECEIVE +000112 9516 lsr r17 +000113 99b1 sbic OW_PIN, OW_LINE +000114 6810 sbr r17, (1<<7) +000115 9310 006a sts OW_RECEIVE, r17 +000117 e030 +000118 e64c +000119 df8c DELAY16 55 +00011a 950a dec r16 +00011b f761 brne _OW_RD_BYTE_LP +00011c 911f pop r17 +00011d 910f pop r16 +00011e 9508 ret + // + + + // + + + // + ; **** ПОЛУЧЕНИЕ ЦИФР ИЗ 16-ТИ БИТНОГО ЧИСЛА ********************* + ; Описание: Перемещает цифры числа в соответствующие ячейки памяти в SRAM + ; путем деления этого числа несколько раз + DISPLAY_UPD_DIGITS: +00011f 94f8 cli +000120 935f push r21 +000121 e054 ldi r21, 4 ; (4 раза делим) т.к индикатор четырех разрядный + + ; инициализация указателя (за каждый проход цикла будет инкрементироваться) +000122 e6a3 ldi XL, LOW(DIGITS) +000123 e0b0 ldi XH, HIGH(DIGITS) + + .equ dividend = SRAM_TEMP_1 ; число которе будем делить + .equ divisor = 10 ; на что делим + + ; загружаем число которое хотим поделить в адрес SRAM делимого +000124 9380 0061 sts dividend, DISP_NUM_L +000126 9390 0062 sts dividend+1, DISP_NUM_H + + ; четыре раза производим деление для получения остатков + DIV_LOOP: + ; заполняем нужные регистры +000128 9100 0061 lds dd16uL, dividend +00012a 9110 0062 lds dd16uH, dividend+1 +00012c e02a ldi dv16uL, LOW(divisor) +00012d e030 ldi dv16uH, HIGH(divisor) + +00012e df64 rcall div16u ; делим + +00012f 92ed st X+, drem16uL ; сохраняем остаток в ячейку по указателю и увеличиваем его + + ; обновляем делимое +000130 9300 0061 sts dividend, dres16uL +000132 9310 0062 sts dividend+1, dres16uH + +000134 955a dec r21 ; декрементируем счетчик цикла +000135 f791 brne DIV_LOOP ; делим еще раз если не 0 +000136 915f pop r21 +000137 9478 sei +000138 9508 ret + // + + + // + ; **** ЗАГРУЖАЕТ НУЖНЫЙ АДРЕС СИМВОЛА В R0 *********************** + DISPLAY_DECODER: +000139 930f push r16 +00013a 931f push r17 +00013b ece4 ldi ZL, LOW(2*DISPLAY_SYMBOLS) +00013c e0f2 ldi ZH, HIGH(2*DISPLAY_SYMBOLS) + +00013d 2711 clr TEMP_REG_B +00013e 0fe0 add ZL, TEMP_REG_A +00013f 1ff1 adc ZH, TEMP_REG_B + +000140 9004 lpm r0, Z +000141 911f pop r17 +000142 910f pop r16 +000143 9508 ret// + + + // + DEBOUNCE_SW: +000144 930f push r16 +000145 931f push r17 +000146 932f push r18 + +000147 e02a ldi r18, 10 + _loop_2: +000148 ef1f ldi r17, 255 + _loop_0: +000149 ef0f ldi r16, 255 + _dec_0: +00014a 950a dec r16 +00014b f7f1 brne _dec_0 + _loop_1: +00014c 951a dec r17 +00014d f7d9 brne _loop_0 + _loop_3: +00014e 952a dec r18 +00014f f7c1 brne _loop_2 + +000150 912f pop r18 +000151 911f pop r17 +000152 910f pop r16 +000153 9508 ret// + + + // + DELAY: +000154 930f push r16 +000155 931f push r17 + +000156 ef0f ldi r16, 255 + _DELAY_1: +000157 ef1f ldi r17, 255 + _DELAY_2: +000158 951a dec r17 +000159 0000 nop +00015a 0000 nop +00015b 0000 nop +00015c f7d9 brne _DELAY_2 + +00015d 950a dec r16 +00015e f7c1 brne _DELAY_1 + +00015f 911f pop r17 +000160 910f pop r16 +000161 9508 ret // + + + // + DISPLAY_SYMBOLS: + ; HGFEDCBA HGFEDCBA +000162 f9c0 .DB 0b11000000, 0b11111001 ; 0, 1 +000163 b0a4 .DB 0b10100100, 0b10110000 ; 2, 3 +000164 9299 .DB 0b10011001, 0b10010010 ; 4, 5 +000165 f882 .DB 0b10000010, 0b11111000 ; 6, 7 +000166 9080 .DB 0b10000000, 0b10010000 ; 8, 9 +000167 bf9c .DB 0b10011100, 0b10111111 ; °, -// + + // + + // + ; **** СЕГМЕНТ EEPROM ******************************************** + ; .ESEG + ; INFO: .DB "AVR Thermostat. Written by Sergey Yarkov 22.01.2023" + ; + + +RESOURCE USE INFORMATION +------------------------ + +Notice: +The register and instruction counts are symbol table hit counts, +and hence implicitly used resources are not counted, eg, the +'lpm' instruction without operands implicitly uses r0 and z, +none of which are counted. + +x,y,z are separate entities in the symbol table and are +counted separately from r26..r31 here. + +.dseg memory usage only counts static data declared with .byte + +"ATtiny2313A" register use summary: +x : 1 y : 0 z : 1 r0 : 2 r1 : 2 r2 : 0 r3 : 0 r4 : 0 +r5 : 0 r6 : 0 r7 : 0 r8 : 5 r9 : 0 r10: 0 r11: 0 r12: 0 +r13: 0 r14: 5 r15: 5 r16: 72 r17: 32 r18: 7 r19: 14 r20: 25 +r21: 8 r22: 0 r23: 4 r24: 6 r25: 4 r26: 1 r27: 1 r28: 0 +r29: 0 r30: 2 r31: 2 +Registers used: 20 out of 35 (57.1%) + +"ATtiny2313A" instruction use summary: +.lds : 0 .sts : 0 adc : 2 add : 2 adiw : 1 and : 0 +andi : 0 asr : 0 bclr : 0 bld : 0 brbc : 0 brbs : 0 +brcc : 3 brcs : 1 break : 0 breq : 0 brge : 1 brhc : 0 +brhs : 0 brid : 0 brie : 0 brlo : 0 brlt : 0 brmi : 0 +brne : 16 brpl : 0 brsh : 0 brtc : 0 brts : 0 brvc : 0 +brvs : 0 bset : 0 bst : 0 cbi : 18 cbr : 1 clc : 1 +clh : 0 cli : 3 cln : 0 clr : 5 cls : 0 clt : 0 +clv : 0 clz : 0 com : 0 cp : 0 cpc : 0 cpi : 8 +cpse : 0 dec : 9 eor : 0 icall : 0 ijmp : 0 in : 1 +inc : 1 ld : 0 ldd : 0 ldi : 55 lds : 11 lpm : 2 +lsl : 0 lsr : 2 mov : 7 movw : 0 neg : 0 nop : 4 +or : 0 ori : 0 out : 12 pop : 18 push : 18 rcall : 43 +ret : 14 reti : 1 rjmp : 9 rol : 4 ror : 0 sbc : 1 +sbci : 1 sbi : 10 sbic : 2 sbis : 4 sbiw : 1 sbr : 2 +sbrc : 1 sbrs : 1 sec : 1 seh : 0 sei : 3 sen : 0 +ser : 0 ses : 0 set : 0 sev : 0 sez : 0 sleep : 0 +spm : 0 st : 1 std : 0 sts : 14 sub : 2 subi : 1 +swap : 0 tst : 0 wdr : 0 +Instructions used: 45 out of 105 (42.9%) + +"ATtiny2313A" memory use summary [bytes]: +Segment Begin End Code Data Used Size Use% +--------------------------------------------------------------- +[.cseg] 0x000000 0x0002d0 684 12 696 2048 34.0% +[.dseg] 0x000060 0x00006b 0 11 11 128 8.6% +[.eseg] 0x000000 0x000000 0 0 0 128 0.0% + +Assembly complete, 0 errors, 6 warnings diff --git a/dist/default/production/attiny2313a_thermostat.X.production.map b/dist/default/production/attiny2313a_thermostat.X.production.map new file mode 100644 index 0000000..8ae9bcf --- /dev/null +++ b/dist/default/production/attiny2313a_thermostat.X.production.map @@ -0,0 +1,587 @@ + +AVRASM ver. 2.2.7 main.asm Mon Jun 19 15:34:12 2023 + + +EQU SIGNATURE_000 0000001e +EQU SIGNATURE_001 00000091 +EQU SIGNATURE_002 0000000a +EQU SREG 0000003f +EQU SPL 0000003d +EQU OCR0B 0000003c +EQU GIMSK 0000003b +EQU EIFR 0000003a +EQU TIMSK 00000039 +EQU TIFR 00000038 +EQU SPMCSR 00000037 +EQU OCR0A 00000036 +EQU MCUCR 00000035 +EQU MCUSR 00000034 +EQU TCCR0B 00000033 +EQU TCNT0 00000032 +EQU OSCCAL 00000031 +EQU TCCR0A 00000030 +EQU TCCR1A 0000002f +EQU TCCR1B 0000002e +EQU TCNT1L 0000002c +EQU TCNT1H 0000002d +EQU OCR1AL 0000002a +EQU OCR1AH 0000002b +EQU OCR1BL 00000028 +EQU OCR1BH 00000029 +EQU CLKPR 00000026 +EQU ICR1L 00000024 +EQU ICR1H 00000025 +EQU GTCCR 00000023 +EQU TCCR1C 00000022 +EQU WDTCR 00000021 +EQU PCMSK0 00000020 +EQU EEAR 0000001e +EQU EEDR 0000001d +EQU EECR 0000001c +EQU PORTA 0000001b +EQU DDRA 0000001a +EQU PINA 00000019 +EQU PORTB 00000018 +EQU DDRB 00000017 +EQU PINB 00000016 +EQU GPIOR2 00000015 +EQU GPIOR1 00000014 +EQU GPIOR0 00000013 +EQU PORTD 00000012 +EQU DDRD 00000011 +EQU PIND 00000010 +EQU USIDR 0000000f +EQU USISR 0000000e +EQU USICR 0000000d +EQU UDR 0000000c +EQU UCSRA 0000000b +EQU UCSRB 0000000a +EQU UBRRL 00000009 +EQU ACSR 00000008 +EQU BODCR 00000007 +EQU PRR 00000006 +EQU PCMSK2 00000005 +EQU PCMSK1 00000004 +EQU UCSRC 00000003 +EQU UBRRH 00000002 +EQU DIDR 00000001 +EQU PORTB0 00000000 +EQU PB0 00000000 +EQU PORTB1 00000001 +EQU PB1 00000001 +EQU PORTB2 00000002 +EQU PB2 00000002 +EQU PORTB3 00000003 +EQU PB3 00000003 +EQU PORTB4 00000004 +EQU PB4 00000004 +EQU PORTB5 00000005 +EQU PB5 00000005 +EQU PORTB6 00000006 +EQU PB6 00000006 +EQU PORTB7 00000007 +EQU PB7 00000007 +EQU DDB0 00000000 +EQU DDB1 00000001 +EQU DDB2 00000002 +EQU DDB3 00000003 +EQU DDB4 00000004 +EQU DDB5 00000005 +EQU DDB6 00000006 +EQU DDB7 00000007 +EQU PINB0 00000000 +EQU PINB1 00000001 +EQU PINB2 00000002 +EQU PINB3 00000003 +EQU PINB4 00000004 +EQU PINB5 00000005 +EQU PINB6 00000006 +EQU PINB7 00000007 +EQU OCIE0A 00000000 +EQU TOIE0 00000001 +EQU OCIE0B 00000002 +EQU OCF0A 00000000 +EQU TOV0 00000001 +EQU OCF0B 00000002 +EQU OCR0_0 00000000 +EQU OCR0_1 00000001 +EQU OCR0_2 00000002 +EQU OCR0_3 00000003 +EQU OCR0_4 00000004 +EQU OCR0_5 00000005 +EQU OCR0_6 00000006 +EQU OCR0_7 00000007 +EQU OCR0A_0 00000000 +EQU OCR0A_1 00000001 +EQU OCR0A_2 00000002 +EQU OCR0A_3 00000003 +EQU OCR0A_4 00000004 +EQU OCR0A_5 00000005 +EQU OCR0A_6 00000006 +EQU OCR0A_7 00000007 +EQU WGM00 00000000 +EQU WGM01 00000001 +EQU COM0B0 00000004 +EQU COM0B1 00000005 +EQU COM0A0 00000006 +EQU COM0A1 00000007 +EQU TCNT0_0 00000000 +EQU TCNT0_1 00000001 +EQU TCNT0_2 00000002 +EQU TCNT0_3 00000003 +EQU TCNT0_4 00000004 +EQU TCNT0_5 00000005 +EQU TCNT0_6 00000006 +EQU TCNT0_7 00000007 +EQU TCCR0 00000033 +EQU CS00 00000000 +EQU CS01 00000001 +EQU CS02 00000002 +EQU WGM02 00000003 +EQU FOC0B 00000006 +EQU FOC0A 00000007 +EQU ICIE1 00000003 +EQU TICIE 00000003 +EQU OCIE1B 00000005 +EQU OCIE1A 00000006 +EQU TOIE1 00000007 +EQU ICF1 00000003 +EQU OCF1B 00000005 +EQU OCF1A 00000006 +EQU TOV1 00000007 +EQU WGM10 00000000 +EQU PWM10 00000000 +EQU WGM11 00000001 +EQU PWM11 00000001 +EQU COM1B0 00000004 +EQU COM1B1 00000005 +EQU COM1A0 00000006 +EQU COM1A1 00000007 +EQU CS10 00000000 +EQU CS11 00000001 +EQU CS12 00000002 +EQU WGM12 00000003 +EQU CTC1 00000003 +EQU WGM13 00000004 +EQU ICES1 00000006 +EQU ICNC1 00000007 +EQU FOC1B 00000006 +EQU FOC1A 00000007 +EQU WDTCSR 00000021 +EQU WDP0 00000000 +EQU WDP1 00000001 +EQU WDP2 00000002 +EQU WDE 00000003 +EQU WDCE 00000004 +EQU WDTOE 00000004 +EQU WDP3 00000005 +EQU WDIE 00000006 +EQU WDIF 00000007 +EQU UDR0 00000000 +EQU UDR1 00000001 +EQU UDR2 00000002 +EQU UDR3 00000003 +EQU UDR4 00000004 +EQU UDR5 00000005 +EQU UDR6 00000006 +EQU UDR7 00000007 +EQU USR 0000000b +EQU MPCM 00000000 +EQU U2X 00000001 +EQU UPE 00000002 +EQU PE 00000002 +EQU DOR 00000003 +EQU FE 00000004 +EQU UDRE 00000005 +EQU TXC 00000006 +EQU RXC 00000007 +EQU UCR 0000000a +EQU TXB8 00000000 +EQU RXB8 00000001 +EQU UCSZ2 00000002 +EQU CHR9 00000002 +EQU TXEN 00000003 +EQU RXEN 00000004 +EQU UDRIE 00000005 +EQU TXCIE 00000006 +EQU RXCIE 00000007 +EQU UCPOL 00000000 +EQU UCSZ0 00000001 +EQU UCSZ1 00000002 +EQU USBS 00000003 +EQU UPM0 00000004 +EQU UPM1 00000005 +EQU UMSEL0 00000006 +EQU UMSEL1 00000007 +EQU UCPHA 00000001 +EQU UDORD 00000002 +EQU UBRR 00000009 +EQU ACIS0 00000000 +EQU ACIS1 00000001 +EQU ACIC 00000002 +EQU ACIE 00000003 +EQU ACI 00000004 +EQU ACO 00000005 +EQU ACBG 00000006 +EQU ACD 00000007 +EQU AIN0D 00000000 +EQU AIN1D 00000001 +EQU PORTD0 00000000 +EQU PD0 00000000 +EQU PORTD1 00000001 +EQU PD1 00000001 +EQU PORTD2 00000002 +EQU PD2 00000002 +EQU PORTD3 00000003 +EQU PD3 00000003 +EQU PORTD4 00000004 +EQU PD4 00000004 +EQU PORTD5 00000005 +EQU PD5 00000005 +EQU PORTD6 00000006 +EQU PD6 00000006 +EQU DDD0 00000000 +EQU DDD1 00000001 +EQU DDD2 00000002 +EQU DDD3 00000003 +EQU DDD4 00000004 +EQU DDD5 00000005 +EQU DDD6 00000006 +EQU PIND0 00000000 +EQU PIND1 00000001 +EQU PIND2 00000002 +EQU PIND3 00000003 +EQU PIND4 00000004 +EQU PIND5 00000005 +EQU PIND6 00000006 +EQU EEARL 0000001e +EQU EEAR0 00000000 +EQU EEAR1 00000001 +EQU EEAR2 00000002 +EQU EEAR3 00000003 +EQU EEAR4 00000004 +EQU EEAR5 00000005 +EQU EEAR6 00000006 +EQU EEDR0 00000000 +EQU EEDR1 00000001 +EQU EEDR2 00000002 +EQU EEDR3 00000003 +EQU EEDR4 00000004 +EQU EEDR5 00000005 +EQU EEDR6 00000006 +EQU EEDR7 00000007 +EQU EERE 00000000 +EQU EEPE 00000001 +EQU EEWE 00000001 +EQU EEMPE 00000002 +EQU EEMWE 00000002 +EQU EERIE 00000003 +EQU EEPM0 00000004 +EQU EEPM1 00000005 +EQU PORTA0 00000000 +EQU PA0 00000000 +EQU PORTA1 00000001 +EQU PA1 00000001 +EQU PORTA2 00000002 +EQU PA2 00000002 +EQU DDA0 00000000 +EQU DDA1 00000001 +EQU DDA2 00000002 +EQU PINA0 00000000 +EQU PINA1 00000001 +EQU PINA2 00000002 +EQU USIDR0 00000000 +EQU USIDR1 00000001 +EQU USIDR2 00000002 +EQU USIDR3 00000003 +EQU USIDR4 00000004 +EQU USIDR5 00000005 +EQU USIDR6 00000006 +EQU USIDR7 00000007 +EQU USICNT0 00000000 +EQU USICNT1 00000001 +EQU USICNT2 00000002 +EQU USICNT3 00000003 +EQU USIDC 00000004 +EQU USIPF 00000005 +EQU USIOIF 00000006 +EQU USISIF 00000007 +EQU USITC 00000000 +EQU USICLK 00000001 +EQU USICS0 00000002 +EQU USICS1 00000003 +EQU USIWM0 00000004 +EQU USIWM1 00000005 +EQU USIOIE 00000006 +EQU USISIE 00000007 +EQU PCIE1 00000003 +EQU PCIE2 00000004 +EQU PCIE0 00000005 +EQU INT0 00000006 +EQU INT1 00000007 +EQU GIFR 0000003a +EQU PCIF0 00000005 +EQU PCIF2 00000004 +EQU PCIF1 00000003 +EQU INTF0 00000006 +EQU INTF1 00000007 +EQU PCINT11 00000000 +EQU PCINT12 00000001 +EQU PCINT13 00000002 +EQU PCINT14 00000003 +EQU PCINT15 00000004 +EQU PCINT16 00000005 +EQU PCINT17 00000006 +EQU PCINT8 00000000 +EQU PCINT9 00000001 +EQU PCINT10 00000002 +EQU SREG_C 00000000 +EQU SREG_Z 00000001 +EQU SREG_N 00000002 +EQU SREG_V 00000003 +EQU SREG_S 00000004 +EQU SREG_H 00000005 +EQU SREG_T 00000006 +EQU SREG_I 00000007 +EQU SPMEN 00000000 +EQU PGERS 00000001 +EQU PGWRT 00000002 +EQU RFLB 00000003 +EQU CTPB 00000004 +EQU ISC00 00000000 +EQU ISC01 00000001 +EQU ISC10 00000002 +EQU ISC11 00000003 +EQU SM0 00000004 +EQU SM 00000004 +EQU SE 00000005 +EQU SM1 00000006 +EQU PUD 00000007 +EQU CLKPS0 00000000 +EQU CLKPS1 00000001 +EQU CLKPS2 00000002 +EQU CLKPS3 00000003 +EQU CLKPCE 00000007 +EQU PORF 00000000 +EQU EXTRF 00000001 +EQU BORF 00000002 +EQU WDRF 00000003 +EQU CAL0 00000000 +EQU CAL1 00000001 +EQU CAL2 00000002 +EQU CAL3 00000003 +EQU CAL4 00000004 +EQU CAL5 00000005 +EQU CAL6 00000006 +EQU SFIOR 00000023 +EQU PSR10 00000000 +EQU PCINT0 00000000 +EQU PCINT1 00000001 +EQU PCINT2 00000002 +EQU PCINT3 00000003 +EQU PCINT4 00000004 +EQU PCINT5 00000005 +EQU PCINT6 00000006 +EQU PCINT7 00000007 +EQU GPIOR20 00000000 +EQU GPIOR21 00000001 +EQU GPIOR22 00000002 +EQU GPIOR23 00000003 +EQU GPIOR24 00000004 +EQU GPIOR25 00000005 +EQU GPIOR26 00000006 +EQU GPIOR27 00000007 +EQU GPIOR10 00000000 +EQU GPIOR11 00000001 +EQU GPIOR12 00000002 +EQU GPIOR13 00000003 +EQU GPIOR14 00000004 +EQU GPIOR15 00000005 +EQU GPIOR16 00000006 +EQU GPIOR17 00000007 +EQU GPIOR00 00000000 +EQU GPIOR01 00000001 +EQU GPIOR02 00000002 +EQU GPIOR03 00000003 +EQU GPIOR04 00000004 +EQU GPIOR05 00000005 +EQU GPIOR06 00000006 +EQU GPIOR07 00000007 +EQU PRUSART 00000000 +EQU PRUSI 00000001 +EQU PRTIM0 00000002 +EQU PRTIM1 00000003 +EQU BPDSE 00000000 +EQU BPDS 00000001 +EQU LB1 00000000 +EQU LB2 00000001 +EQU CKSEL0 00000000 +EQU CKSEL1 00000001 +EQU CKSEL2 00000002 +EQU CKSEL3 00000003 +EQU SUT0 00000004 +EQU SUT1 00000005 +EQU CKOUT 00000006 +EQU CKDIV8 00000007 +EQU BODLEVEL0 00000000 +EQU BODLEVEL1 00000001 +EQU BODLEVEL2 00000002 +EQU EESAVE 00000003 +EQU WDTON 00000004 +EQU SPIEN 00000005 +EQU DWEN 00000006 +EQU RSTDISBL 00000007 +EQU SELFPRGEN 00000000 +DEF XH r27 +DEF XL r26 +DEF YH r29 +DEF YL r28 +DEF ZH r31 +DEF ZL r30 +EQU FLASHEND 000003ff +EQU IOEND 0000003f +EQU SRAM_START 00000060 +EQU SRAM_SIZE 00000080 +EQU RAMEND 000000df +EQU XRAMEND 00000000 +EQU E2END 0000007f +EQU EEPROMEND 0000007f +EQU EEADRBITS 00000007 +EQU NRWW_START_ADDR 00000000 +EQU NRWW_STOP_ADDR 000003ff +EQU RWW_START_ADDR 00000000 +EQU RWW_STOP_ADDR 00000000 +EQU PAGESIZE 00000010 +EQU INT0addr 00000001 +EQU INT1addr 00000002 +EQU ICP1addr 00000003 +EQU OC1Aaddr 00000004 +EQU OC1addr 00000004 +EQU OVF1addr 00000005 +EQU OVF0addr 00000006 +EQU URXCaddr 00000007 +EQU URXC0addr 00000007 +EQU UDREaddr 00000008 +EQU UDRE0addr 00000008 +EQU UTXCaddr 00000009 +EQU UTXC0addr 00000009 +EQU ACIaddr 0000000a +EQU PCIBaddr 0000000b +EQU PCIaddr 0000000b +EQU OC1Baddr 0000000c +EQU OC0Aaddr 0000000d +EQU OC0Baddr 0000000e +EQU USI_STARTaddr 0000000f +EQU USI_OVFaddr 00000010 +EQU ERDYaddr 00000011 +EQU WDTaddr 00000012 +EQU PCIAaddr 00000013 +EQU PCIDaddr 00000014 +EQU INT_VECTORS_SIZE 00000015 +EQU F_CPU 00000008 +DEF TEMP_REG_A r16 +DEF TEMP_REG_B r17 +DEF DELAY_16_r r19 +DEF DELAY_8_r r20 +DEF DISP_NUM_L r24 +DEF DISP_NUM_H r25 +EQU DIGIT_1_PIN 00000002 +EQU DIGIT_2_PIN 00000003 +EQU DIGIT_3_PIN 00000004 +EQU DIGIT_4_PIN 00000005 +EQU LED_ERR_PIN 00000006 +EQU OW_LINE 00000001 +EQU OW_DDR 00000017 +EQU OW_PIN 00000016 +DEF OW_CMD_r r8 +DEF OWFR r23 +EQU OWPRF 00000000 +EQU OWSB 00000001 +EQU DS18B20_CMD_CONVERTTEMP 00000044 +EQU DS18B20_CMD_RSCRATCHPAD 000000be +EQU DS18B20_CMD_WSCRATCHPAD 0000004e +EQU DS18B20_CMD_CPYSCRATCHPAD 00000048 +EQU DS18B20_CMD_RECEEPROM 000000b8 +EQU DS18B20_CMD_RPWRSUPPLY 000000b4 +EQU DS18B20_CMD_SEARCHROM 000000f0 +EQU DS18B20_CMD_READROM 00000033 +EQU DS18B20_CMD_MATCHROM 00000055 +EQU DS18B20_CMD_SKIPROM 000000cc +EQU DS18B20_CMD_ALARMSEARCH 000000ec +EQU USI_LATCH_PIN 00000000 +EQU USI_DO_PIN 00000006 +EQU USI_CLK_PIN 00000007 +EQU SW_PORT 00000018 +EQU SW_PIN 00000016 +EQU SW_PLUS_PIN 00000002 +EQU SW_MINUS_PIN 00000003 +EQU SW_SET_PIN 00000004 +EQU UART_RX_PIN 00000000 +EQU UART_TX_PIN 00000001 +EQU MCU_STATE_DEFAULT 00000000 +EQU MCU_STATE_PROGRAM 00000001 +EQU MCU_STATE_ERROR 00000002 +DSEG MCU_STATE 00000060 +DSEG SRAM_TEMP_1 00000061 +DSEG DIGITS 00000063 +DSEG CURRENT_DIGIT 00000067 +DSEG SW_FLAGS 00000068 +DSEG HYSTERESIS 00000069 +DSEG OW_RECEIVE 0000006a +CSEG RESET_vect 0000004a +CSEG TIMER0_COMPA_vect 0000000e +CSEG _CLR_CURRENT_DIGIT 00000017 +CSEG _indicate_1 0000001a +CSEG _indicate_2 00000024 +CSEG DISPLAY_DECODER 00000139 +CSEG USI_TRANSMIT 000000c3 +CSEG _indicate_3 0000002e +CSEG _indicate_4 00000038 +CSEG _indicate_exit 00000042 +CSEG MCU_INIT 0000004c +CSEG TEMP_CONV 000000b7 +CSEG DEBOUNCE_SW 00000144 +CSEG TEMP_RD 000000aa +CSEG LOOP 0000006f +CSEG _STATE_DEFAULT 00000071 +CSEG _STATE_PROGRAM 00000082 +CSEG DISPLAY_UPD_DIGITS 0000011f +CSEG _STATE_ERROR 00000086 +CSEG SW_CHECK_PROCESS 000000cf +DEF drem16uL r14 +DEF drem16uH r15 +DEF dres16uL r16 +DEF dres16uH r17 +DEF dd16uL r16 +DEF dd16uH r17 +DEF dv16uL r18 +DEF dv16uH r19 +DEF dcnt16u r20 +CSEG div16u 00000093 +CSEG d16u_1 00000096 +CSEG d16u_2 0000009b +CSEG d16u_3 000000a4 +CSEG DELAY_LOOP_16 000000a6 +CSEG OW_PRESENCE 000000d5 +CSEG OW_SEND_BYTE 000000e8 +CSEG OW_RD_BYTE 00000105 +CSEG _USI_TRANSMIT_LOOP 000000c8 +CSEG OW_CHECK_PRESENCE 000000e2 +CSEG _EXIT 000000e7 +CSEG _OW_SEND_BYTE_LOOP 000000ec +CSEG _OW_SEND_0 000000ef +CSEG _OW_SEND_1 000000f8 +CSEG _OW_SEND_BYTE_END 00000100 +CSEG _OW_RD_BYTE_LP 00000108 +EQU dividend 00000061 +EQU divisor 0000000a +CSEG DIV_LOOP 00000128 +CSEG DISPLAY_SYMBOLS 00000162 +CSEG _loop_2 00000148 +CSEG _loop_0 00000149 +CSEG _dec_0 0000014a +CSEG _loop_1 0000014c +CSEG _loop_3 0000014e +CSEG DELAY 00000154 +CSEG _DELAY_1 00000157 +CSEG _DELAY_2 00000158 diff --git a/dist/default/production/attiny2313a_thermostat.X.production.obj b/dist/default/production/attiny2313a_thermostat.X.production.obj new file mode 100644 index 0000000..1fbb5f1 Binary files /dev/null and b/dist/default/production/attiny2313a_thermostat.X.production.obj differ diff --git a/dist/default/production/attiny2313a_thermostat.X.production.tmp b/dist/default/production/attiny2313a_thermostat.X.production.tmp new file mode 100644 index 0000000..34bc037 --- /dev/null +++ b/dist/default/production/attiny2313a_thermostat.X.production.tmp @@ -0,0 +1,81 @@ + + 2.2.7 + "ATtiny2313A" + Z:\home\sergeyyarkov\Documents\Projects\Firmwares\AVR\attiny2313a_thermostat.X + + /home/sergeyyarkov/.mchp_packs/Microchip/ATtiny_DFP/3.0.151/avrasm/inc + + + main.asm + + /home/sergeyyarkov/.mchp_packs/Microchip/ATtiny_DFP/3.0.151/avrasm/inc\tn2313Adef.inc + definitions.asm + macros.asm + div16u.asm + + + dist/default/production/attiny2313a_thermostat.X.production.obj + + + dist/default/production/attiny2313a_thermostat.X.production.hex + + + dist/default/production/attiny2313a_thermostat.X.production.map + dist/default/production/attiny2313a_thermostat.X.production.lss + + + main.asm24 + main.asm25 + main.asm26 + main.asm27 + main.asm28 + main.asm29 + main.asm30 + main.asm124 + main.asm49 + <_CLR_CURRENT_DIGIT>main.asm60 + <_indicate_1>main.asm64 + <_indicate_2>main.asm76 + main.asm464 + main.asm293 + <_indicate_3>main.asm88 + <_indicate_4>main.asm100 + <_indicate_exit>main.asm112 + main.asm130 + main.asm272 + main.asm481 + main.asm253 + main.asm201 + <_STATE_DEFAULT>main.asm205 + <_STATE_PROGRAM>main.asm224 + main.asm422 + <_STATE_ERROR>main.asm229 + main.asm325 + div16u.asm32 + div16u.asm36 + div16u.asm42 + div16u.asm52 + main.asm246 + main.asm338 + main.asm363 + main.asm392 + <_USI_TRANSMIT_LOOP>main.asm311 + main.asm352 + <_EXIT>main.asm358 + <_OW_SEND_BYTE_LOOP>main.asm368 + <_OW_SEND_0>main.asm372 + <_OW_SEND_1>main.asm378 + <_OW_SEND_BYTE_END>main.asm383 + <_OW_RD_BYTE_LP>main.asm396 + main.asm439 + main.asm531 + <_loop_2>main.asm487 + <_loop_0>main.asm489 + <_dec_0>main.asm491 + <_loop_1>main.asm494 + <_loop_3>main.asm497 + main.asm508 + <_DELAY_1>main.asm513 + <_DELAY_2>main.asm515 + +