Rev 627 | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | SVN | RSS feed
| Rev 627 | Rev 1044 | ||
|---|---|---|---|
| Line 68... | Line 68... | ||
| 68 | 68 | ||
| 69 | /*----------------------------------------------------------------------------- |
69 | /*----------------------------------------------------------------------------- |
| 70 | * Defines |
70 | * Defines |
| 71 | *---------------------------------------------------------------------------*/ |
71 | *---------------------------------------------------------------------------*/ |
| 72 | #define SIZE_X 20 |
72 | #define SIZE_X 20 |
| 73 | #define SIZE_Y |
73 | #define SIZE_Y 2 |
| 74 | #define SIZE_LCD |
74 | #define SIZE_LCD LCD_SIZE_20x2 |
| 75 | 75 | ||
| 76 | #define BUFFER_SIZE SIZE_X |
76 | #define BUFFER_SIZE SIZE_X |
| 77 | #define TRUE 1 |
77 | #define TRUE 1 |
| 78 | #define FALSE 0 |
78 | #define FALSE 0 |
| 79 | 79 | ||
| Line 99... | Line 99... | ||
| 99 | rxMsgFull = 1; |
99 | rxMsgFull = 1; |
| 100 | } |
100 | } |
| 101 | } |
101 | } |
| 102 | 102 | ||
| 103 | ISR( PCINT2_vect ){ |
103 | ISR( PCINT2_vect ){ |
| 104 | // For ROTENC_A and ROTENC_B FIXME |
104 | // For ROTENC_A and ROTENC_B FIXME �r inte riktigt r�tt. Verkar vara bra tycker jag? |
| 105 | rotenc(); |
105 | rotenc(); |
| 106 | } |
106 | } |
| 107 | 107 | ||
| 108 | ISR( PCINT0_vect ){ |
108 | ISR( PCINT0_vect ){ |
| 109 | // For ROTENC_BTN |
109 | // For ROTENC_BTN |
| Line 118... | Line 118... | ||
| 118 | // uint8_t act_type, lcd_size; not used anymore |
118 | // uint8_t act_type, lcd_size; not used anymore |
| 119 | uint8_t m, lcd_action; |
119 | uint8_t m, lcd_action; |
| 120 | 120 | ||
| 121 | sei(); |
121 | sei(); |
| 122 | 122 | ||
| - | 123 | #if 0 |
|
| 123 | /* |
124 | /* |
| 124 | * Initialize rotaryencoders and buttons |
125 | * Initialize rotaryencoders and buttons |
| 125 | */ |
126 | */ |
| 126 | // Set as input |
127 | // Set as input |
| 127 | DDRD &= ~(1<<DDD2); |
128 | DDRD &= ~(1<<DDD2); |
| Line 132... | Line 133... | ||
| 132 | // Enable IO-pin interrupt |
133 | // Enable IO-pin interrupt |
| 133 | PCICR |= (1<<PCIE2)|(1<<PCIE0); |
134 | PCICR |= (1<<PCIE2)|(1<<PCIE0); |
| 134 | // Unmask PB7, PB0 and PD2 |
135 | // Unmask PB7, PB0 and PD2 |
| 135 | PCMSK2 |= (1<<PCINT18); |
136 | PCMSK2 |= (1<<PCINT18); |
| 136 | PCMSK0 |= (1<<PCINT7)|(1<<PCINT0); |
137 | PCMSK0 |= (1<<PCINT7)|(1<<PCINT0); |
| - | 138 | #endif |
|
| 137 | 139 | ||
| 138 | // Contrast |
140 | // Contrast |
| 139 | TCCR0A |= (1<<COM0B1)|(1<<WGM01)|(1<<WGM00); |
141 | TCCR0A |= (1<<COM0B1)|(1<<WGM01)|(1<<WGM00); |
| 140 | TCCR0B |= (1<<CS00); |
142 | TCCR0B |= (1<<CS00); |
| 141 | OCR0B = |
143 | OCR0B = 0xf0; |
| 142 | DDRD |= (1<<DDD5); |
144 | DDRD |= (1<<DDD5); |
| 143 | 145 | ||
| - | 146 | #if 0 |
|
| 144 | // Backlight |
147 | // Backlight |
| 145 | TCCR1A |= (1<<COM1A1)|(1<<WGM11); |
148 | TCCR1A |= (1<<COM1A1)|(1<<WGM11); |
| 146 | TCCR1B |= (1<<WGM13)|(1<<WGM12)|(1<<CS10); |
149 | TCCR1B |= (1<<WGM13)|(1<<WGM12)|(1<<CS10); |
| 147 | ICR1 = 0xFF; // Make it 8 bits |
150 | ICR1 = 0xFF; // Make it 8 bits |
| 148 | OCR1A = 0xFF; |
151 | OCR1A = 0xFF; |
| 149 | DDRB |= (1<<DDB1); |
152 | DDRB |= (1<<DDB1); |
| 150 | 153 | #endif |
|
| 151 | 154 | ||
| 152 | Can_Message_t txMsg; |
155 | Can_Message_t txMsg; |
| 153 | txMsg.ExtendedFlag=1; |
156 | txMsg.ExtendedFlag=1; |
| 154 | txMsg.RemoteFlag=0; |
157 | txMsg.RemoteFlag=0; |
| 155 | // FIXME skicka app startad |
158 | // FIXME skicka app startad |
| 156 | BIOS_CanCallback = &can_receive; |
159 | BIOS_CanCallback = &can_receive; |
| 157 | 160 | ||
| 158 | lcd_init( LCD_DISP_ON ); |
161 | lcd_init( LCD_DISP_ON ); |
| 159 | lcd_clrscr(); |
162 | lcd_clrscr(); |
| 160 | lcd_puts("HomeAutomation\n"); |
163 | lcd_puts("HomeAutomation\n"); |
| 161 | 164 | ||
| 162 | send_dimensions(); |
165 | send_dimensions(); |
| 163 | lcd_puts("CAN Connected!\n"); |
166 | lcd_puts("CAN Connected!\n"); |
| 164 | 167 | ||
| - | 168 | uint8_t cnt=0; |
|
| 165 | /* main loop */ |
169 | /* main loop */ |
| 166 | while(1){ |
170 | while(1){ |
| 167 | /* check if any messages have been received */ |
171 | /* check if any messages have been received */ |
| 168 | if(rxMsgFull){ |
172 | if(rxMsgFull){ |
| - | 173 | if (cnt == 0) { |
|
| - | 174 | lcd_home(); |
|
| - | 175 | lcd_puts(". "); |
|
| - | 176 | } else if (cnt == 1) { |
|
| - | 177 | lcd_home(); |
|
| - | 178 | lcd_puts(" . "); |
|
| - | 179 | } else if (cnt == 2) { |
|
| - | 180 | lcd_home(); |
|
| - | 181 | lcd_puts(" . "); |
|
| - | 182 | } else if (cnt == 3) { |
|
| - | 183 | lcd_home(); |
|
| - | 184 | lcd_puts(" . "); |
|
| - | 185 | } else if (cnt == 4) { |
|
| - | 186 | lcd_home(); |
|
| - | 187 | lcd_puts(" . "); |
|
| - | 188 | } else if (cnt == 5) { |
|
| - | 189 | lcd_home(); |
|
| - | 190 | lcd_puts(" . "); |
|
| - | 191 | } else if (cnt == 6) { |
|
| - | 192 | lcd_home(); |
|
| - | 193 | lcd_puts(" . "); |
|
| - | 194 | } else if (cnt == 7) { |
|
| - | 195 | lcd_home(); |
|
| - | 196 | lcd_puts(" . "); |
|
| - | 197 | } else if (cnt == 8) { |
|
| - | 198 | lcd_home(); |
|
| - | 199 | lcd_puts(" . "); |
|
| - | 200 | } else if (cnt == 9) { |
|
| - | 201 | lcd_home(); |
|
| - | 202 | lcd_puts(" . "); |
|
| - | 203 | } else if (cnt == 10) { |
|
| - | 204 | lcd_home(); |
|
| - | 205 | lcd_puts(" . "); |
|
| - | 206 | } else if (cnt == 11) { |
|
| - | 207 | lcd_home(); |
|
| - | 208 | lcd_puts(" . "); |
|
| - | 209 | } else if (cnt == 12) { |
|
| - | 210 | lcd_home(); |
|
| - | 211 | lcd_puts(" . "); |
|
| - | 212 | } else if (cnt == 13) { |
|
| - | 213 | lcd_home(); |
|
| - | 214 | lcd_puts(" . "); |
|
| - | 215 | } else if (cnt == 14) { |
|
| - | 216 | lcd_home(); |
|
| - | 217 | lcd_puts(" . "); |
|
| - | 218 | } else if (cnt == 15) { |
|
| - | 219 | lcd_home(); |
|
| - | 220 | lcd_puts(" . "); |
|
| - | 221 | } else if (cnt == 16) { |
|
| - | 222 | lcd_home(); |
|
| - | 223 | lcd_puts(" . "); |
|
| - | 224 | } else if (cnt == 17) { |
|
| - | 225 | lcd_home(); |
|
| - | 226 | lcd_puts(" . "); |
|
| - | 227 | } else if (cnt == 18) { |
|
| - | 228 | lcd_home(); |
|
| - | 229 | lcd_puts(" . "); |
|
| - | 230 | } else if (cnt == 19) { |
|
| - | 231 | lcd_home(); |
|
| - | 232 | lcd_puts(" ."); |
|
| - | 233 | } |
|
| - | 234 | cnt += 1; |
|
| - | 235 | if (cnt == 20) { |
|
| - | 236 | cnt = 0; |
|
| - | 237 | } |
|
| - | 238 | ||
| 169 | uint16_t act_type; |
239 | uint16_t act_type; |
| 170 | uint8_t lcdid; |
240 | uint8_t lcdid; |
| 171 | if ( ((rxMsg.Id & CAN_MASK_CLASS)>>CAN_SHIFT_CLASS) == CAN_ACT){// FIXME ett |
241 | if ( ((rxMsg.Id & CAN_MASK_CLASS)>>CAN_SHIFT_CLASS) == CAN_ACT){// FIXME ett j�kla herk, st�da upp |
| 172 | 242 | ||
| 173 | 243 | ||
| 174 | act_type =(uint16_t)((rxMsg.Id & CAN_MASK_ACT_TYPE) >> CAN_SHIFT_ACT_TYPE); |
244 | act_type =(uint16_t)((rxMsg.Id & CAN_MASK_ACT_TYPE) >> CAN_SHIFT_ACT_TYPE); |
| 175 | 245 | ||
| 176 | lcdid = (uint8_t)((rxMsg.Id & CAN_MASK_ACT_ID) >> CAN_SHIFT_ACT_ID); |
246 | lcdid = (uint8_t)((rxMsg.Id & CAN_MASK_ACT_ID) >> CAN_SHIFT_ACT_ID); |