Version 4.0 HI-TECH Software Intermediate Code "10 ./ds3231.h [; ;./ds3231.h: 10: unsigned int Get_Is_Leap_Year(unsigned int); [; ;./ds3231.h: 10: unsigned int Get_Is_Leap_Year(unsigned int); [v _Get_Is_Leap_Year `(ui ~T0 @X0 0 ef1`ui ] "38 ./main.h [; ;./main.h: 38: extern unsigned int year; [v _year `ui ~T0 @X0 0 e ] "3 ./i2c.h [; ;./i2c.h: 3: void I2C_Master_Start(void); [; ;./i2c.h: 3: void I2C_Master_Start(void); [v _I2C_Master_Start `(v ~T0 @X0 0 ef ] "6 [; ;./i2c.h: 6: void I2C_Master_Write(unsigned); [; ;./i2c.h: 6: void I2C_Master_Write(unsigned); [v _I2C_Master_Write `(v ~T0 @X0 0 ef1`ui ] "4 [; ;./i2c.h: 4: void I2C_Master_Repeated_Start(void); [; ;./i2c.h: 4: void I2C_Master_Repeated_Start(void); [v _I2C_Master_Repeated_Start `(v ~T0 @X0 0 ef ] "40 ./main.h [; ;./main.h: 40: extern unsigned int alarm1_sec, alarm1_min, alarm1_hour; [v _alarm1_sec `ui ~T0 @X0 0 e ] "7 ./i2c.h [; ;./i2c.h: 7: unsigned short I2C_Master_Read(unsigned short); [; ;./i2c.h: 7: unsigned short I2C_Master_Read(unsigned short); [v _I2C_Master_Read `(us ~T0 @X0 0 ef1`us ] "40 ./main.h [; ;./main.h: 40: extern unsigned int alarm1_sec, alarm1_min, alarm1_hour; [v _alarm1_min `ui ~T0 @X0 0 e ] [v _alarm1_hour `ui ~T0 @X0 0 e ] "41 [; ;./main.h: 41: extern unsigned int alarm2_min, alarm2_hour; [v _alarm2_min `ui ~T0 @X0 0 e ] [v _alarm2_hour `ui ~T0 @X0 0 e ] "43 [; ;./main.h: 43: extern unsigned int control_reg; [v _control_reg `ui ~T0 @X0 0 e ] "42 [; ;./main.h: 42: extern unsigned int status_reg, alarm1_status, alarm2_status; [v _status_reg `ui ~T0 @X0 0 e ] "47 [; ;./main.h: 47: extern int temperature_msb; [v _temperature_msb `i ~T0 @X0 0 e ] "46 [; ;./main.h: 46: extern unsigned int temperature_lsb; [v _temperature_lsb `ui ~T0 @X0 0 e ] "5 ./i2c.h [; ;./i2c.h: 5: void I2C_Master_Stop(void); [; ;./i2c.h: 5: void I2C_Master_Stop(void); [v _I2C_Master_Stop `(v ~T0 @X0 0 ef ] "36 ./main.h [; ;./main.h: 36: extern unsigned int date; [v _date `ui ~T0 @X0 0 e ] "37 [; ;./main.h: 37: extern unsigned int month; [v _month `ui ~T0 @X0 0 e ] "32 [; ;./main.h: 32: extern unsigned int sec; [v _sec `ui ~T0 @X0 0 e ] "33 [; ;./main.h: 33: extern unsigned int min; [v _min `ui ~T0 @X0 0 e ] "34 [; ;./main.h: 34: extern unsigned int hour; [v _hour `ui ~T0 @X0 0 e ] "35 [; ;./main.h: 35: extern unsigned int day; [v _day `ui ~T0 @X0 0 e ] "42 [; ;./main.h: 42: extern unsigned int status_reg, alarm1_status, alarm2_status; [v _alarm1_status `ui ~T0 @X0 0 e ] [v _alarm2_status `ui ~T0 @X0 0 e ] [v F842 `(v ~T0 @X0 1 tf1`ul ] "92 C:\Program Files (x86)\Microchip\xc8\v2.05\pic\include\pic.h [v __delay `JF842 ~T0 @X0 0 e ] [p i __delay ] "54 C:\Program Files (x86)\Microchip\xc8\v2.05\pic\include\pic16f877a.h [; ;C:\Program Files (x86)\Microchip\xc8\v2.05\pic\include\pic16f877a.h: 54: __asm("INDF equ 00h"); [; <" INDF equ 00h ;# "> "61 [; ;C:\Program Files (x86)\Microchip\xc8\v2.05\pic\include\pic16f877a.h: 61: __asm("TMR0 equ 01h"); [; <" TMR0 equ 01h ;# "> "68 [; ;C:\Program Files (x86)\Microchip\xc8\v2.05\pic\include\pic16f877a.h: 68: __asm("PCL equ 02h"); [; <" PCL equ 02h ;# "> "75 [; ;C:\Program Files (x86)\Microchip\xc8\v2.05\pic\include\pic16f877a.h: 75: __asm("STATUS equ 03h"); [; <" STATUS equ 03h ;# "> "161 [; ;C:\Program Files (x86)\Microchip\xc8\v2.05\pic\include\pic16f877a.h: 161: __asm("FSR equ 04h"); [; <" FSR equ 04h ;# "> "168 [; ;C:\Program Files (x86)\Microchip\xc8\v2.05\pic\include\pic16f877a.h: 168: __asm("PORTA equ 05h"); [; <" PORTA equ 05h ;# "> "218 [; ;C:\Program Files (x86)\Microchip\xc8\v2.05\pic\include\pic16f877a.h: 218: __asm("PORTB equ 06h"); [; <" PORTB equ 06h ;# "> "280 [; ;C:\Program Files (x86)\Microchip\xc8\v2.05\pic\include\pic16f877a.h: 280: __asm("PORTC equ 07h"); [; <" PORTC equ 07h ;# "> "342 [; ;C:\Program Files (x86)\Microchip\xc8\v2.05\pic\include\pic16f877a.h: 342: __asm("PORTD equ 08h"); [; <" PORTD equ 08h ;# "> "404 [; ;C:\Program Files (x86)\Microchip\xc8\v2.05\pic\include\pic16f877a.h: 404: __asm("PORTE equ 09h"); [; <" PORTE equ 09h ;# "> "436 [; ;C:\Program Files (x86)\Microchip\xc8\v2.05\pic\include\pic16f877a.h: 436: __asm("PCLATH equ 0Ah"); [; <" PCLATH equ 0Ah ;# "> "456 [; ;C:\Program Files (x86)\Microchip\xc8\v2.05\pic\include\pic16f877a.h: 456: __asm("INTCON equ 0Bh"); [; <" INTCON equ 0Bh ;# "> "534 [; ;C:\Program Files (x86)\Microchip\xc8\v2.05\pic\include\pic16f877a.h: 534: __asm("PIR1 equ 0Ch"); [; <" PIR1 equ 0Ch ;# "> "596 [; ;C:\Program Files (x86)\Microchip\xc8\v2.05\pic\include\pic16f877a.h: 596: __asm("PIR2 equ 0Dh"); [; <" PIR2 equ 0Dh ;# "> "636 [; ;C:\Program Files (x86)\Microchip\xc8\v2.05\pic\include\pic16f877a.h: 636: __asm("TMR1 equ 0Eh"); [; <" TMR1 equ 0Eh ;# "> "643 [; ;C:\Program Files (x86)\Microchip\xc8\v2.05\pic\include\pic16f877a.h: 643: __asm("TMR1L equ 0Eh"); [; <" TMR1L equ 0Eh ;# "> "650 [; ;C:\Program Files (x86)\Microchip\xc8\v2.05\pic\include\pic16f877a.h: 650: __asm("TMR1H equ 0Fh"); [; <" TMR1H equ 0Fh ;# "> "657 [; ;C:\Program Files (x86)\Microchip\xc8\v2.05\pic\include\pic16f877a.h: 657: __asm("T1CON equ 010h"); [; <" T1CON equ 010h ;# "> "732 [; ;C:\Program Files (x86)\Microchip\xc8\v2.05\pic\include\pic16f877a.h: 732: __asm("TMR2 equ 011h"); [; <" TMR2 equ 011h ;# "> "739 [; ;C:\Program Files (x86)\Microchip\xc8\v2.05\pic\include\pic16f877a.h: 739: __asm("T2CON equ 012h"); [; <" T2CON equ 012h ;# "> "810 [; ;C:\Program Files (x86)\Microchip\xc8\v2.05\pic\include\pic16f877a.h: 810: __asm("SSPBUF equ 013h"); [; <" SSPBUF equ 013h ;# "> "817 [; ;C:\Program Files (x86)\Microchip\xc8\v2.05\pic\include\pic16f877a.h: 817: __asm("SSPCON equ 014h"); [; <" SSPCON equ 014h ;# "> "887 [; ;C:\Program Files (x86)\Microchip\xc8\v2.05\pic\include\pic16f877a.h: 887: __asm("CCPR1 equ 015h"); [; <" CCPR1 equ 015h ;# "> "894 [; ;C:\Program Files (x86)\Microchip\xc8\v2.05\pic\include\pic16f877a.h: 894: __asm("CCPR1L equ 015h"); [; <" CCPR1L equ 015h ;# "> "901 [; ;C:\Program Files (x86)\Microchip\xc8\v2.05\pic\include\pic16f877a.h: 901: __asm("CCPR1H equ 016h"); [; <" CCPR1H equ 016h ;# "> "908 [; ;C:\Program Files (x86)\Microchip\xc8\v2.05\pic\include\pic16f877a.h: 908: __asm("CCP1CON equ 017h"); [; <" CCP1CON equ 017h ;# "> "966 [; ;C:\Program Files (x86)\Microchip\xc8\v2.05\pic\include\pic16f877a.h: 966: __asm("RCSTA equ 018h"); [; <" RCSTA equ 018h ;# "> "1061 [; ;C:\Program Files (x86)\Microchip\xc8\v2.05\pic\include\pic16f877a.h: 1061: __asm("TXREG equ 019h"); [; <" TXREG equ 019h ;# "> "1068 [; ;C:\Program Files (x86)\Microchip\xc8\v2.05\pic\include\pic16f877a.h: 1068: __asm("RCREG equ 01Ah"); [; <" RCREG equ 01Ah ;# "> "1075 [; ;C:\Program Files (x86)\Microchip\xc8\v2.05\pic\include\pic16f877a.h: 1075: __asm("CCPR2 equ 01Bh"); [; <" CCPR2 equ 01Bh ;# "> "1082 [; ;C:\Program Files (x86)\Microchip\xc8\v2.05\pic\include\pic16f877a.h: 1082: __asm("CCPR2L equ 01Bh"); [; <" CCPR2L equ 01Bh ;# "> "1089 [; ;C:\Program Files (x86)\Microchip\xc8\v2.05\pic\include\pic16f877a.h: 1089: __asm("CCPR2H equ 01Ch"); [; <" CCPR2H equ 01Ch ;# "> "1096 [; ;C:\Program Files (x86)\Microchip\xc8\v2.05\pic\include\pic16f877a.h: 1096: __asm("CCP2CON equ 01Dh"); [; <" CCP2CON equ 01Dh ;# "> "1154 [; ;C:\Program Files (x86)\Microchip\xc8\v2.05\pic\include\pic16f877a.h: 1154: __asm("ADRESH equ 01Eh"); [; <" ADRESH equ 01Eh ;# "> "1161 [; ;C:\Program Files (x86)\Microchip\xc8\v2.05\pic\include\pic16f877a.h: 1161: __asm("ADCON0 equ 01Fh"); [; <" ADCON0 equ 01Fh ;# "> "1257 [; ;C:\Program Files (x86)\Microchip\xc8\v2.05\pic\include\pic16f877a.h: 1257: __asm("OPTION_REG equ 081h"); [; <" OPTION_REG equ 081h ;# "> "1327 [; ;C:\Program Files (x86)\Microchip\xc8\v2.05\pic\include\pic16f877a.h: 1327: __asm("TRISA equ 085h"); [; <" TRISA equ 085h ;# "> "1377 [; ;C:\Program Files (x86)\Microchip\xc8\v2.05\pic\include\pic16f877a.h: 1377: __asm("TRISB equ 086h"); [; <" TRISB equ 086h ;# "> "1439 [; ;C:\Program Files (x86)\Microchip\xc8\v2.05\pic\include\pic16f877a.h: 1439: __asm("TRISC equ 087h"); [; <" TRISC equ 087h ;# "> "1501 [; ;C:\Program Files (x86)\Microchip\xc8\v2.05\pic\include\pic16f877a.h: 1501: __asm("TRISD equ 088h"); [; <" TRISD equ 088h ;# "> "1563 [; ;C:\Program Files (x86)\Microchip\xc8\v2.05\pic\include\pic16f877a.h: 1563: __asm("TRISE equ 089h"); [; <" TRISE equ 089h ;# "> "1620 [; ;C:\Program Files (x86)\Microchip\xc8\v2.05\pic\include\pic16f877a.h: 1620: __asm("PIE1 equ 08Ch"); [; <" PIE1 equ 08Ch ;# "> "1682 [; ;C:\Program Files (x86)\Microchip\xc8\v2.05\pic\include\pic16f877a.h: 1682: __asm("PIE2 equ 08Dh"); [; <" PIE2 equ 08Dh ;# "> "1722 [; ;C:\Program Files (x86)\Microchip\xc8\v2.05\pic\include\pic16f877a.h: 1722: __asm("PCON equ 08Eh"); [; <" PCON equ 08Eh ;# "> "1756 [; ;C:\Program Files (x86)\Microchip\xc8\v2.05\pic\include\pic16f877a.h: 1756: __asm("SSPCON2 equ 091h"); [; <" SSPCON2 equ 091h ;# "> "1818 [; ;C:\Program Files (x86)\Microchip\xc8\v2.05\pic\include\pic16f877a.h: 1818: __asm("PR2 equ 092h"); [; <" PR2 equ 092h ;# "> "1825 [; ;C:\Program Files (x86)\Microchip\xc8\v2.05\pic\include\pic16f877a.h: 1825: __asm("SSPADD equ 093h"); [; <" SSPADD equ 093h ;# "> "1832 [; ;C:\Program Files (x86)\Microchip\xc8\v2.05\pic\include\pic16f877a.h: 1832: __asm("SSPSTAT equ 094h"); [; <" SSPSTAT equ 094h ;# "> "2001 [; ;C:\Program Files (x86)\Microchip\xc8\v2.05\pic\include\pic16f877a.h: 2001: __asm("TXSTA equ 098h"); [; <" TXSTA equ 098h ;# "> "2082 [; ;C:\Program Files (x86)\Microchip\xc8\v2.05\pic\include\pic16f877a.h: 2082: __asm("SPBRG equ 099h"); [; <" SPBRG equ 099h ;# "> "2089 [; ;C:\Program Files (x86)\Microchip\xc8\v2.05\pic\include\pic16f877a.h: 2089: __asm("CMCON equ 09Ch"); [; <" CMCON equ 09Ch ;# "> "2159 [; ;C:\Program Files (x86)\Microchip\xc8\v2.05\pic\include\pic16f877a.h: 2159: __asm("CVRCON equ 09Dh"); [; <" CVRCON equ 09Dh ;# "> "2224 [; ;C:\Program Files (x86)\Microchip\xc8\v2.05\pic\include\pic16f877a.h: 2224: __asm("ADRESL equ 09Eh"); [; <" ADRESL equ 09Eh ;# "> "2231 [; ;C:\Program Files (x86)\Microchip\xc8\v2.05\pic\include\pic16f877a.h: 2231: __asm("ADCON1 equ 09Fh"); [; <" ADCON1 equ 09Fh ;# "> "2290 [; ;C:\Program Files (x86)\Microchip\xc8\v2.05\pic\include\pic16f877a.h: 2290: __asm("EEDATA equ 010Ch"); [; <" EEDATA equ 010Ch ;# "> "2297 [; ;C:\Program Files (x86)\Microchip\xc8\v2.05\pic\include\pic16f877a.h: 2297: __asm("EEADR equ 010Dh"); [; <" EEADR equ 010Dh ;# "> "2304 [; ;C:\Program Files (x86)\Microchip\xc8\v2.05\pic\include\pic16f877a.h: 2304: __asm("EEDATH equ 010Eh"); [; <" EEDATH equ 010Eh ;# "> "2311 [; ;C:\Program Files (x86)\Microchip\xc8\v2.05\pic\include\pic16f877a.h: 2311: __asm("EEADRH equ 010Fh"); [; <" EEADRH equ 010Fh ;# "> "2318 [; ;C:\Program Files (x86)\Microchip\xc8\v2.05\pic\include\pic16f877a.h: 2318: __asm("EECON1 equ 018Ch"); [; <" EECON1 equ 018Ch ;# "> "2363 [; ;C:\Program Files (x86)\Microchip\xc8\v2.05\pic\include\pic16f877a.h: 2363: __asm("EECON2 equ 018Dh"); [; <" EECON2 equ 018Dh ;# "> "4 ./conf.h [p x FOSC = HS ] "5 [p x WDTE = OFF ] "6 [p x PWRTE = ON ] "7 [p x BOREN = ON ] "8 [p x LVP = OFF ] "9 [p x CPD = OFF ] "10 [p x WRT = OFF ] "11 [p x CP = OFF ] [v F851 `uc ~T0 @X0 -> 4 `i t ] "3 ./ds3231.h [; ;./ds3231.h: 3: char dayOfWeek[7][4]; [; ;./ds3231.h: 3: char dayOfWeek[7][4]; [v _dayOfWeek `F851 ~T0 @X0 -> 7 `i e ] [v F853 `uc ~T0 @X0 -> 4 `i t ] "4 [; ;./ds3231.h: 4: char monthOfYear[12][4]; [; ;./ds3231.h: 4: char monthOfYear[12][4]; [v _monthOfYear `F853 ~T0 @X0 -> 12 `i e ] "4 ./conf.h [p x FOSC = HS ] "5 [p x WDTE = OFF ] "6 [p x PWRTE = ON ] "7 [p x BOREN = ON ] "8 [p x LVP = OFF ] "9 [p x CPD = OFF ] "10 [p x WRT = OFF ] "11 [p x CP = OFF ] "4 [p x FOSC = HS ] "5 [p x WDTE = OFF ] "6 [p x PWRTE = ON ] "7 [p x BOREN = ON ] "8 [p x LVP = OFF ] "9 [p x CPD = OFF ] "10 [p x WRT = OFF ] "11 [p x CP = OFF ] [v F916 `uc ~T0 @X0 -> 4 `i t ] "3 ./ds3231.h [; ;./ds3231.h: 3: char dayOfWeek[7][4]; [; ;./ds3231.h: 3: char dayOfWeek[7][4]; [v _dayOfWeek `F916 ~T0 @X0 -> 7 `i e ] [v F918 `uc ~T0 @X0 -> 4 `i t ] "4 [; ;./ds3231.h: 4: char monthOfYear[12][4]; [; ;./ds3231.h: 4: char monthOfYear[12][4]; [v _monthOfYear `F918 ~T0 @X0 -> 12 `i e ] "4 ./conf.h [p x FOSC = HS ] "5 [p x WDTE = OFF ] "6 [p x PWRTE = ON ] "7 [p x BOREN = ON ] "8 [p x LVP = OFF ] "9 [p x CPD = OFF ] "10 [p x WRT = OFF ] "11 [p x CP = OFF ] "4 [p x FOSC = HS ] "5 [p x WDTE = OFF ] "6 [p x PWRTE = ON ] "7 [p x BOREN = ON ] "8 [p x LVP = OFF ] "9 [p x CPD = OFF ] "10 [p x WRT = OFF ] "11 [p x CP = OFF ] "18 ./main.h [; ;./main.h: 18: unsigned int ldr; [v _ldr `ui ~T0 @X0 1 e ] "23 [; ;./main.h: 23: unsigned int brtlvl_chg; [v _brtlvl_chg `ui ~T0 @X0 1 e ] "26 [; ;./main.h: 26: unsigned int update; [v _update `ui ~T0 @X0 1 e ] "29 [; ;./main.h: 29: unsigned int edit_datetime; [v _edit_datetime `ui ~T0 @X0 1 e ] "48 [; ;./main.h: 48: unsigned char temp_sign; [v _temp_sign `uc ~T0 @X0 1 e ] [v F981 `uc ~T0 @X0 -> 4 `i t ] "11 ds3231.c [; ;ds3231.c: 11: char dayOfWeek[7][4] = {"Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"}; [v _dayOfWeek `F981 ~T0 @X0 -> 7 `i e ] [i _dayOfWeek :U .. :U .. -> 83 `c -> 117 `c -> 110 `c -> 0 `c .. :U .. -> 77 `c -> 111 `c -> 110 `c -> 0 `c .. :U .. -> 84 `c -> 117 `c -> 101 `c -> 0 `c .. :U .. -> 87 `c -> 101 `c -> 100 `c -> 0 `c .. :U .. -> 84 `c -> 104 `c -> 117 `c -> 0 `c .. :U .. -> 70 `c -> 114 `c -> 105 `c -> 0 `c .. :U .. -> 83 `c -> 97 `c -> 116 `c -> 0 `c .. .. ] [v F983 `uc ~T0 @X0 -> 4 `i t ] "14 [; ;ds3231.c: 14: char monthOfYear[12][4] = {"Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", [v _monthOfYear `F983 ~T0 @X0 -> 12 `i e ] [i _monthOfYear :U .. :U .. -> 74 `c -> 97 `c -> 110 `c -> 0 `c .. :U .. -> 70 `c -> 101 `c -> 98 `c -> 0 `c .. :U .. -> 77 `c -> 97 `c -> 114 `c -> 0 `c .. :U .. -> 65 `c -> 112 `c -> 114 `c -> 0 `c .. :U .. -> 77 `c -> 97 `c -> 121 `c -> 0 `c .. :U .. -> 74 `c -> 117 `c -> 110 `c -> 0 `c .. :U .. -> 74 `c -> 117 `c -> 108 `c -> 0 `c .. :U .. -> 65 `c -> 117 `c -> 103 `c -> 0 `c .. :U .. -> 83 `c -> 101 `c -> 112 `c -> 0 `c .. :U .. -> 79 `c -> 99 `c -> 116 `c -> 0 `c .. :U .. -> 78 `c -> 111 `c -> 118 `c -> 0 `c .. :U .. -> 68 `c -> 101 `c -> 99 `c -> 0 `c .. .. ] "17 [; ;ds3231.c: 17: int BCD_2_DEC(int to_convert) { [v _BCD_2_DEC `(i ~T0 @X0 1 ef1`i ] { [e :U _BCD_2_DEC ] [v _to_convert `i ~T0 @X0 1 r1 ] [f ] "18 [; ;ds3231.c: 18: return (to_convert >> 4) * 10 + (to_convert & 0x0F); [e ) + * >> _to_convert -> 4 `i -> 10 `i & _to_convert -> 15 `i ] [e $UE 95 ] "19 [; ;ds3231.c: 19: } [e :UE 95 ] } "21 [; ;ds3231.c: 21: int DEC_2_BCD(int to_convert) { [v _DEC_2_BCD `(i ~T0 @X0 1 ef1`i ] { [e :U _DEC_2_BCD ] [v _to_convert `i ~T0 @X0 1 r1 ] [f ] "22 [; ;ds3231.c: 22: return ((to_convert / 10) << 4) + (to_convert % 10); [e ) + << / _to_convert -> 10 `i -> 4 `i % _to_convert -> 10 `i ] [e $UE 96 ] "23 [; ;ds3231.c: 23: } [e :UE 96 ] } "25 [; ;ds3231.c: 25: unsigned int Get_DayOfWeek(unsigned int y, unsigned int m, unsigned int d) { [v _Get_DayOfWeek `(ui ~T0 @X0 1 ef3`ui`ui`ui ] { [e :U _Get_DayOfWeek ] [v _y `ui ~T0 @X0 1 r1 ] [v _m `ui ~T0 @X0 1 r2 ] [v _d `ui ~T0 @X0 1 r3 ] [f ] "26 [; ;ds3231.c: 26: return (d += m < 3 ? y-- : y - 2, 23 * m / 9 + d + 4 + y / 4 - y / 100 + y / 400) % 7 + 1; [e ) + % ; =+ _d ? < _m -> -> 3 `i `ui : -- _y -> -> 1 `i `ui - _y -> -> 2 `i `ui + - + + + / * -> -> 23 `i `ui _m -> -> 9 `i `ui _d -> -> 4 `i `ui / _y -> -> 4 `i `ui / _y -> -> 100 `i `ui / _y -> -> 400 `i `ui -> -> 7 `i `ui -> -> 1 `i `ui ] [e $UE 97 ] "27 [; ;ds3231.c: 27: } [e :UE 97 ] } "29 [; ;ds3231.c: 29: unsigned int Get_Days_In_Month(unsigned int y, unsigned int m) { [v _Get_Days_In_Month `(ui ~T0 @X0 1 ef2`ui`ui ] { [e :U _Get_Days_In_Month ] [v _y `ui ~T0 @X0 1 r1 ] [v _m `ui ~T0 @X0 1 r2 ] [f ] "30 [; ;ds3231.c: 30: return (m == 2) ? [e ) ? == _m -> -> 2 `i `ui : + -> -> 28 `i `ui ( _Get_Is_Leap_Year (1 _y - -> -> 31 `i `ui % % - _m -> -> 1 `i `ui -> -> 7 `i `ui -> -> 2 `i `ui ] [e $UE 98 ] "32 [; ;ds3231.c: 32: } [e :UE 98 ] } "34 [; ;ds3231.c: 34: unsigned int Get_Is_Leap_Year(unsigned int y) { [v _Get_Is_Leap_Year `(ui ~T0 @X0 1 ef1`ui ] { [e :U _Get_Is_Leap_Year ] [v _y `ui ~T0 @X0 1 r1 ] [f ] "35 [; ;ds3231.c: 35: return (year % 4) || ((year % 100 == 0) && (year % 400)) ? 0 : 1; [e ) -> ? || != % _year -> -> 4 `i `ui -> -> 0 `i `ui && == % _year -> -> 100 `i `ui -> -> 0 `i `ui != % _year -> -> 400 `i `ui -> -> 0 `i `ui : -> 0 `i -> 1 `i `ui ] [e $UE 99 ] "36 [; ;ds3231.c: 36: } [e :UE 99 ] } "38 [; ;ds3231.c: 38: char* Get_WeekDay(unsigned int d){ [v _Get_WeekDay `(*uc ~T0 @X0 1 ef1`ui ] { [e :U _Get_WeekDay ] [v _d `ui ~T0 @X0 1 r1 ] [f ] "39 [; ;ds3231.c: 39: return dayOfWeek[d - 1]; [e ) &U *U + &U _dayOfWeek * -> - _d -> -> 1 `i `ui `ux -> * -> # *U &U *U &U _dayOfWeek `ui -> -> 4 `i `ui `ux ] [e $UE 100 ] "40 [; ;ds3231.c: 40: } [e :UE 100 ] } "42 [; ;ds3231.c: 42: void Read_Alarms_Temp() { [v _Read_Alarms_Temp `(v ~T0 @X0 1 ef ] { [e :U _Read_Alarms_Temp ] [f ] "43 [; ;ds3231.c: 43: I2C_Master_Start(); [e ( _I2C_Master_Start .. ] "44 [; ;ds3231.c: 44: I2C_Master_Write(0xD0); [e ( _I2C_Master_Write (1 -> -> 208 `i `ui ] "45 [; ;ds3231.c: 45: I2C_Master_Write(0x07); [e ( _I2C_Master_Write (1 -> -> 7 `i `ui ] "46 [; ;ds3231.c: 46: I2C_Master_Repeated_Start(); [e ( _I2C_Master_Repeated_Start .. ] "49 [; ;ds3231.c: 49: I2C_Master_Write(0xD1); [e ( _I2C_Master_Write (1 -> -> 209 `i `ui ] "50 [; ;ds3231.c: 50: alarm1_sec = BCD_2_DEC(I2C_Master_Read(1)); [e = _alarm1_sec -> ( _BCD_2_DEC (1 -> ( _I2C_Master_Read (1 -> -> 1 `i `us `i `ui ] "51 [; ;ds3231.c: 51: alarm1_min = BCD_2_DEC(I2C_Master_Read(1)); [e = _alarm1_min -> ( _BCD_2_DEC (1 -> ( _I2C_Master_Read (1 -> -> 1 `i `us `i `ui ] "52 [; ;ds3231.c: 52: alarm1_hour = BCD_2_DEC(I2C_Master_Read(1)); [e = _alarm1_hour -> ( _BCD_2_DEC (1 -> ( _I2C_Master_Read (1 -> -> 1 `i `us `i `ui ] "53 [; ;ds3231.c: 53: I2C_Master_Read(1); [e ( _I2C_Master_Read (1 -> -> 1 `i `us ] "54 [; ;ds3231.c: 54: alarm2_min = BCD_2_DEC(I2C_Master_Read(1)); [e = _alarm2_min -> ( _BCD_2_DEC (1 -> ( _I2C_Master_Read (1 -> -> 1 `i `us `i `ui ] "55 [; ;ds3231.c: 55: alarm2_hour = BCD_2_DEC(I2C_Master_Read(1)); [e = _alarm2_hour -> ( _BCD_2_DEC (1 -> ( _I2C_Master_Read (1 -> -> 1 `i `us `i `ui ] "56 [; ;ds3231.c: 56: I2C_Master_Read(1); [e ( _I2C_Master_Read (1 -> -> 1 `i `us ] "57 [; ;ds3231.c: 57: control_reg = I2C_Master_Read(1); [e = _control_reg -> ( _I2C_Master_Read (1 -> -> 1 `i `us `ui ] "58 [; ;ds3231.c: 58: status_reg = I2C_Master_Read(1); [e = _status_reg -> ( _I2C_Master_Read (1 -> -> 1 `i `us `ui ] "59 [; ;ds3231.c: 59: I2C_Master_Read(1); [e ( _I2C_Master_Read (1 -> -> 1 `i `us ] "61 [; ;ds3231.c: 61: temperature_msb = I2C_Master_Read(1); [e = _temperature_msb -> ( _I2C_Master_Read (1 -> -> 1 `i `us `i ] "63 [; ;ds3231.c: 63: temperature_lsb = I2C_Master_Read(0); [e = _temperature_lsb -> ( _I2C_Master_Read (1 -> -> 0 `i `us `ui ] "64 [; ;ds3231.c: 64: I2C_Master_Stop(); [e ( _I2C_Master_Stop .. ] "65 [; ;ds3231.c: 65: } [e :UE 101 ] } "67 [; ;ds3231.c: 67: void Set_Date() { [v _Set_Date `(v ~T0 @X0 1 ef ] { [e :U _Set_Date ] [f ] "68 [; ;ds3231.c: 68: I2C_Master_Start(); [e ( _I2C_Master_Start .. ] "69 [; ;ds3231.c: 69: I2C_Master_Write(0xD0); [e ( _I2C_Master_Write (1 -> -> 208 `i `ui ] "70 [; ;ds3231.c: 70: I2C_Master_Write(4); [e ( _I2C_Master_Write (1 -> -> 4 `i `ui ] "71 [; ;ds3231.c: 71: I2C_Master_Write(DEC_2_BCD(date)); [e ( _I2C_Master_Write (1 -> ( _DEC_2_BCD (1 -> _date `i `ui ] "72 [; ;ds3231.c: 72: I2C_Master_Write(DEC_2_BCD(month)); [e ( _I2C_Master_Write (1 -> ( _DEC_2_BCD (1 -> _month `i `ui ] "73 [; ;ds3231.c: 73: I2C_Master_Write(DEC_2_BCD(year)); [e ( _I2C_Master_Write (1 -> ( _DEC_2_BCD (1 -> _year `i `ui ] "74 [; ;ds3231.c: 74: I2C_Master_Stop(); [e ( _I2C_Master_Stop .. ] "75 [; ;ds3231.c: 75: } [e :UE 102 ] } "77 [; ;ds3231.c: 77: void Set_DayOfWeek(int dow) { [v _Set_DayOfWeek `(v ~T0 @X0 1 ef1`i ] { [e :U _Set_DayOfWeek ] [v _dow `i ~T0 @X0 1 r1 ] [f ] "78 [; ;ds3231.c: 78: I2C_Master_Start(); [e ( _I2C_Master_Start .. ] "79 [; ;ds3231.c: 79: I2C_Master_Write(0xD0); [e ( _I2C_Master_Write (1 -> -> 208 `i `ui ] "80 [; ;ds3231.c: 80: I2C_Master_Write(3); [e ( _I2C_Master_Write (1 -> -> 3 `i `ui ] "81 [; ;ds3231.c: 81: I2C_Master_Write(dow); [e ( _I2C_Master_Write (1 -> _dow `ui ] "82 [; ;ds3231.c: 82: I2C_Master_Stop(); [e ( _I2C_Master_Stop .. ] "83 [; ;ds3231.c: 83: } [e :UE 103 ] } "85 [; ;ds3231.c: 85: void Set_Sqwe(int contvalue) { [v _Set_Sqwe `(v ~T0 @X0 1 ef1`i ] { [e :U _Set_Sqwe ] [v _contvalue `i ~T0 @X0 1 r1 ] [f ] "86 [; ;ds3231.c: 86: I2C_Master_Start(); [e ( _I2C_Master_Start .. ] "87 [; ;ds3231.c: 87: I2C_Master_Write(0xD0); [e ( _I2C_Master_Write (1 -> -> 208 `i `ui ] "88 [; ;ds3231.c: 88: I2C_Master_Write(0x0E); [e ( _I2C_Master_Write (1 -> -> 14 `i `ui ] "89 [; ;ds3231.c: 89: I2C_Master_Write(contvalue); [e ( _I2C_Master_Write (1 -> _contvalue `ui ] "90 [; ;ds3231.c: 90: I2C_Master_Stop(); [e ( _I2C_Master_Stop .. ] "91 [; ;ds3231.c: 91: } [e :UE 104 ] } "93 [; ;ds3231.c: 93: void Set_Time() { [v _Set_Time `(v ~T0 @X0 1 ef ] { [e :U _Set_Time ] [f ] "94 [; ;ds3231.c: 94: I2C_Master_Start(); [e ( _I2C_Master_Start .. ] "95 [; ;ds3231.c: 95: I2C_Master_Write(0xD0); [e ( _I2C_Master_Write (1 -> -> 208 `i `ui ] "96 [; ;ds3231.c: 96: I2C_Master_Write(0); [e ( _I2C_Master_Write (1 -> -> 0 `i `ui ] "97 [; ;ds3231.c: 97: I2C_Master_Write(DEC_2_BCD(sec)); [e ( _I2C_Master_Write (1 -> ( _DEC_2_BCD (1 -> _sec `i `ui ] "98 [; ;ds3231.c: 98: I2C_Master_Write(DEC_2_BCD(min)); [e ( _I2C_Master_Write (1 -> ( _DEC_2_BCD (1 -> _min `i `ui ] "99 [; ;ds3231.c: 99: I2C_Master_Write(DEC_2_BCD(hour)); [e ( _I2C_Master_Write (1 -> ( _DEC_2_BCD (1 -> _hour `i `ui ] "100 [; ;ds3231.c: 100: I2C_Master_Stop(); [e ( _I2C_Master_Stop .. ] "101 [; ;ds3231.c: 101: } [e :UE 105 ] } "103 [; ;ds3231.c: 103: void Update_Current_Date_Time() { [v _Update_Current_Date_Time `(v ~T0 @X0 1 ef ] { [e :U _Update_Current_Date_Time ] [f ] "105 [; ;ds3231.c: 105: I2C_Master_Start(); [e ( _I2C_Master_Start .. ] "106 [; ;ds3231.c: 106: I2C_Master_Write(0xD0); [e ( _I2C_Master_Write (1 -> -> 208 `i `ui ] "107 [; ;ds3231.c: 107: I2C_Master_Write(0); [e ( _I2C_Master_Write (1 -> -> 0 `i `ui ] "108 [; ;ds3231.c: 108: I2C_Master_Stop(); [e ( _I2C_Master_Stop .. ] "111 [; ;ds3231.c: 111: I2C_Master_Start(); [e ( _I2C_Master_Start .. ] "112 [; ;ds3231.c: 112: I2C_Master_Write(0xD1); [e ( _I2C_Master_Write (1 -> -> 209 `i `ui ] "113 [; ;ds3231.c: 113: sec = BCD_2_DEC(I2C_Master_Read(1)); [e = _sec -> ( _BCD_2_DEC (1 -> ( _I2C_Master_Read (1 -> -> 1 `i `us `i `ui ] "114 [; ;ds3231.c: 114: min = BCD_2_DEC(I2C_Master_Read(1)); [e = _min -> ( _BCD_2_DEC (1 -> ( _I2C_Master_Read (1 -> -> 1 `i `us `i `ui ] "115 [; ;ds3231.c: 115: hour = BCD_2_DEC(I2C_Master_Read(1)); [e = _hour -> ( _BCD_2_DEC (1 -> ( _I2C_Master_Read (1 -> -> 1 `i `us `i `ui ] "116 [; ;ds3231.c: 116: day = I2C_Master_Read(1); [e = _day -> ( _I2C_Master_Read (1 -> -> 1 `i `us `ui ] "117 [; ;ds3231.c: 117: date = BCD_2_DEC(I2C_Master_Read(1)); [e = _date -> ( _BCD_2_DEC (1 -> ( _I2C_Master_Read (1 -> -> 1 `i `us `i `ui ] "118 [; ;ds3231.c: 118: month = BCD_2_DEC(I2C_Master_Read(1)); [e = _month -> ( _BCD_2_DEC (1 -> ( _I2C_Master_Read (1 -> -> 1 `i `us `i `ui ] "119 [; ;ds3231.c: 119: year = BCD_2_DEC(I2C_Master_Read(1)); [e = _year -> ( _BCD_2_DEC (1 -> ( _I2C_Master_Read (1 -> -> 1 `i `us `i `ui ] "120 [; ;ds3231.c: 120: I2C_Master_Stop(); [e ( _I2C_Master_Stop .. ] "124 [; ;ds3231.c: 124: I2C_Master_Start(); [e ( _I2C_Master_Start .. ] "125 [; ;ds3231.c: 125: I2C_Master_Write(0xD1); [e ( _I2C_Master_Write (1 -> -> 209 `i `ui ] "126 [; ;ds3231.c: 126: I2C_Master_Read(1); [e ( _I2C_Master_Read (1 -> -> 1 `i `us ] "127 [; ;ds3231.c: 127: I2C_Master_Stop(); [e ( _I2C_Master_Stop .. ] "128 [; ;ds3231.c: 128: } [e :UE 106 ] } "130 [; ;ds3231.c: 130: void Write_Alarms() { [v _Write_Alarms `(v ~T0 @X0 1 ef ] { [e :U _Write_Alarms ] [f ] "131 [; ;ds3231.c: 131: I2C_Master_Start(); [e ( _I2C_Master_Start .. ] "132 [; ;ds3231.c: 132: I2C_Master_Write(0xD0); [e ( _I2C_Master_Write (1 -> -> 208 `i `ui ] "133 [; ;ds3231.c: 133: I2C_Master_Write(7); [e ( _I2C_Master_Write (1 -> -> 7 `i `ui ] "134 [; ;ds3231.c: 134: I2C_Master_Write(0); [e ( _I2C_Master_Write (1 -> -> 0 `i `ui ] "135 [; ;ds3231.c: 135: I2C_Master_Write(DEC_2_BCD(alarm1_min)); [e ( _I2C_Master_Write (1 -> ( _DEC_2_BCD (1 -> _alarm1_min `i `ui ] "136 [; ;ds3231.c: 136: I2C_Master_Write(DEC_2_BCD(alarm1_hour)); [e ( _I2C_Master_Write (1 -> ( _DEC_2_BCD (1 -> _alarm1_hour `i `ui ] "137 [; ;ds3231.c: 137: I2C_Master_Write(0x80); [e ( _I2C_Master_Write (1 -> -> 128 `i `ui ] "138 [; ;ds3231.c: 138: I2C_Master_Write(DEC_2_BCD(alarm2_min)); [e ( _I2C_Master_Write (1 -> ( _DEC_2_BCD (1 -> _alarm2_min `i `ui ] "139 [; ;ds3231.c: 139: I2C_Master_Write(DEC_2_BCD(alarm2_hour)); [e ( _I2C_Master_Write (1 -> ( _DEC_2_BCD (1 -> _alarm2_hour `i `ui ] "140 [; ;ds3231.c: 140: I2C_Master_Write(0x80); [e ( _I2C_Master_Write (1 -> -> 128 `i `ui ] "143 [; ;ds3231.c: 143: I2C_Master_Write(4 | alarm1_status | (alarm2_status << 1)); [e ( _I2C_Master_Write (1 | | -> -> 4 `i `ui _alarm1_status << _alarm2_status -> 1 `i ] "144 [; ;ds3231.c: 144: I2C_Master_Write(0); [e ( _I2C_Master_Write (1 -> -> 0 `i `ui ] "145 [; ;ds3231.c: 145: I2C_Master_Stop(); [e ( _I2C_Master_Stop .. ] "146 [; ;ds3231.c: 146: _delay((unsigned long)((200)*(20000000/4000.0))); [e ( __delay (1 -> * -> -> 200 `i `d / -> -> 20000000 `l `d .4000.0 `ul ] "147 [; ;ds3231.c: 147: } [e :UE 107 ] }