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<< |
14 | DDRD |= (1<<PD5); |
| 15 | 15 | ||
| 16 | 16 | ||
| 17 | // Backlight |
17 | // Backlight |
| 18 |
|
18 | TCCR0A |= (1<<COM0A1)|(1<<WGM01)|(1<<WGM00); |
| 19 |
|
19 | TCCR0B |= (1<<CS00); |
| 20 | ICR1 = 0xFF; // Make it 8 bits |
- | |
| 21 |
|
20 | OCR0A = act_hd44780_INITIAL_BACKLIGHT; |
| 22 |
|
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 |
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 |
|
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] = |
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 |
115 | while (StdCan_Put(&txMsg) != StdCan_Ret_OK); |
| 109 | break; |
116 | break; |
| 110 | } |
117 | } |
| 111 | } |
118 | } |
| 112 | } |
119 | } |
| 113 | 120 | ||