Subversion Repositories HomeAutomation

Rev

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  4
73
#define SIZE_Y  2
74
#define SIZE_LCD LCD_SIZE_20x4
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 Šr inte riktigt rŠtt. Verkar vara bra tycker jag?
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 = 0x10;
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 jŠkla herk, stŠda upp
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);