Subversion Repositories HomeAutomation

Rev

Rev 998 | Rev 1356 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | SVN | RSS feed

Rev 998 Rev 1155
Line 9... Line 9...
9
 
9
 
10
    // Contrast (brightness on an oled display)
10
    // Contrast (brightness on an oled display)
11
    TCCR0A |= (1<<COM0B1)|(1<<WGM01)|(1<<WGM00);
11
    TCCR0A |= (1<<COM0B1)|(1<<WGM01)|(1<<WGM00);
12
    TCCR0B |= (1<<CS00);
12
    TCCR0B |= (1<<CS00);
13
    OCR0B = act_hd44780_INITIAL_CONTRAST;
13
    OCR0B = act_hd44780_INITIAL_CONTRAST;
14
    DDRD |= (1<<DDD5);
14
    DDRD |= (1<<PD5);
15
 
15
 
16
 
16
 
17
    // Backlight
17
    // Backlight
18
    TCCR1A |= (1<<COM1A1)|(1<<WGM11);
18
    TCCR0A |= (1<<COM0A1)|(1<<WGM01)|(1<<WGM00);
19
    TCCR1B |= (1<<WGM13)|(1<<WGM12)|(1<<CS10);
19
    TCCR0B |= (1<<CS00);
20
    ICR1 = 0xFF; // Make it 8 bits
-
 
21
    OCR1A = act_hd44780_INITIAL_BACKLIGHT;
20
    OCR0A = act_hd44780_INITIAL_BACKLIGHT;
22
    DDRB |= (1<<DDB1);
21
    DDRD |= (1<<PD6);
23
 
22
 
24
 
23
 
25
    lcd_init(LCD_DISP_ON);
24
    lcd_init(LCD_DISP_ON);
26
    lcd_clrscr();
25
    lcd_clrscr();
27
    lcd_puts("HomeAutomation\n");
26
    lcd_puts("HomeAutomation\n");
Line 57... Line 56...
57
        for (n = 2; n < rxMsg->Length; n++)
56
        for (n = 2; n < rxMsg->Length; n++)
58
        {
57
        {
59
            lcd_putc((char)rxMsg->Data[n]);
58
            lcd_putc((char)rxMsg->Data[n]);
60
        }
59
        }
61
        break;
60
        break;
-
 
61
/*
-
 
62
        case CAN_MODULE_CMD_HD44789_LCD_CLEARROW:
-
 
63
        lcd_gotoxy(0, rxMsg->Data[0]);
-
 
64
        for (n = 0; n < act_hd44780_WIDTH; n++)
-
 
65
        {
-
 
66
            lcd_putc(' ');
62
       
67
        }
-
 
68
        break;
-
 
69
*/
63
        case CAN_MODULE_CMD_HD44789_LCD_TEXT:
70
        case CAN_MODULE_CMD_HD44789_LCD_TEXT:
64
        for (n = 0; n < rxMsg->Length; n++)
71
        for (n = 0; n < rxMsg->Length; n++)
65
        {
72
        {
66
            lcd_putc((char)rxMsg->Data[n]);
73
            lcd_putc((char)rxMsg->Data[n]);
67
        }
74
        }
Line 76... Line 83...
76
        txMsg.Length = 2;
83
        txMsg.Length = 2;
77
 
84
 
78
        txMsg.Data[0] = act_hd44780_WIDTH;
85
        txMsg.Data[0] = act_hd44780_WIDTH;
79
        txMsg.Data[1] = act_hd44780_HEIGHT;
86
        txMsg.Data[1] = act_hd44780_HEIGHT;
80
 
87
 
81
        StdCan_Put(&txMsg);
88
        while (StdCan_Put(&txMsg) != StdCan_Ret_OK);
82
        break;
89
        break;
83
 
90
 
84
        case CAN_MODULE_CMD_HD44789_LCD_BACKLIGHT:
91
        case CAN_MODULE_CMD_HD44789_LCD_BACKLIGHT:
85
        if (rxMsg->Length > 0) {
92
        if (rxMsg->Length > 0) {
86
#if (act_hd44780_TYPE==0)
93
#if (act_hd44780_TYPE==0)
87
            OCR1AL = rxMsg->Data[0];
94
            OCR0A = rxMsg->Data[0];
88
#else
95
#else
89
            OCR0B = rxMsg->Data[0];
96
            OCR0B = rxMsg->Data[0];
90
#endif
97
#endif
91
        }
98
        }
92
 
99
 
Line 98... Line 105...
98
        txMsg.Header.ModuleId = act_hd44780_ID;
105
        txMsg.Header.ModuleId = act_hd44780_ID;
99
        txMsg.Header.Command = CAN_MODULE_CMD_HD44789_LCD_BACKLIGHT;
106
        txMsg.Header.Command = CAN_MODULE_CMD_HD44789_LCD_BACKLIGHT;
100
        txMsg.Length = 1;
107
        txMsg.Length = 1;
101
 
108
 
102
#if (act_hd44780_TYPE==0)
109
#if (act_hd44780_TYPE==0)
103
            txMsg.Data[0] = OCR1AL;
110
            txMsg.Data[0] = OCR0A;
104
#else
111
#else
105
            txMsg.Data[0] = OCR0B;
112
            txMsg.Data[0] = OCR0B;
106
#endif
113
#endif
107
 
114
 
108
        StdCan_Put(&txMsg);
115
        while (StdCan_Put(&txMsg) != StdCan_Ret_OK);
109
        break;
116
        break;
110
        }
117
        }
111
    }
118
    }
112
}
119
}
113
 
120