Subversion Repositories HomeAutomation

Rev

Rev 100 | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | SVN | RSS feed

Rev 100 Rev 103
Line 2... Line 2...
2
 *
2
 *
3
 *                  Main application
3
 *                  Main application
4
 *
4
 *
5
 *********************************************************************
5
 *********************************************************************
6
 * FileName:        $HeadURL: https://svn.auml.se/svn/HomeAutomation/trunk/EmbeddedSoftware/PIC/canBase/Source/Main.c $
6
 * FileName:        $HeadURL: https://svn.auml.se/svn/HomeAutomation/trunk/EmbeddedSoftware/PIC/canBase/Source/Main.c $
7
 * Last changed:    $LastChangedDate: 2006-11-15 09:40:52 +0100 (Wed, 15 Nov 2006) $
7
 * Last changed:    $LastChangedDate: 2006-11-15 10:04:20 +0100 (Wed, 15 Nov 2006) $
8
 * By:              $LastChangedBy: johboh $
8
 * By:              $LastChangedBy: johboh $
9
 * Revision:        $Revision: 100 $
9
 * Revision:        $Revision: 103 $
10
 ********************************************************************/
10
 ********************************************************************/
11
 
11
 
12
 
12
 
13
#include <compiler.h>
13
#include <compiler.h>
14
#include <stackTasks.h>
14
#include <stackTasks.h>
Line 126... Line 126...
126
    ClrWdt();
126
    ClrWdt();
127
 
127
 
128
    switch(cm.funct)
128
    switch(cm.funct)
129
    {
129
    {
130
        case FUNCT_BOOTLOADER:
130
        case FUNCT_BOOTLOADER:
131
            if (cm.funcc==FUNCC_BOOT_INIT && cm.nid==MY_NID && ((((unsigned int)cm.data[BOOT_DATA_RID_HIGH_INDEX])<<8)+cm.data[BOOT_DATA_RID_LOW_INDEX])==MY_ID) { Reset(); }
131
            if (cm.nid==MY_NID && ((((unsigned int)cm.data[BOOT_DATA_RID_HIGH_INDEX])<<8)+cm.data[BOOT_DATA_RID_LOW_INDEX])==MY_ID)
-
 
132
            {
-
 
133
                switch(cm.funcc)
-
 
134
                {
-
 
135
                    case FUNCC_BOOT_INIT: Reset(); break; //User whant to program me, reset me.
-
 
136
                    case FUNCC_BOOT_SET_ID:
-
 
137
                        // Change my ID and NID
-
 
138
                        MY_ID=(((WORD)cm.data[BOOT_DATA_NEW_ID_HIGH])<<8)+cm.data[BOOT_DATA_NEW_ID_LOW];
-
 
139
                        MY_NID=cm.data[BOOT_DATA_NEW_NID];
-
 
140
                        EEWrite(NODE_ID_EE+1,cm.data[BOOT_DATA_NEW_ID_HIGH]);
-
 
141
                        EEWrite(NODE_ID_EE+2,cm.data[BOOT_DATA_NEW_ID_LOW]);
-
 
142
                        EEWrite(NODE_ID_EE+3,cm.data[BOOT_DATA_NEW_NID]);
-
 
143
                        EEWrite(NODE_ID_EE,NODE_HAS_ID);
-
 
144
                    break;
-
 
145
                }
-
 
146
            }
-
 
147
 
-
 
148
 
132
        break;
149
        break;
133
    }
150
    }
134
}
151
}
135
#endif
152
#endif
136
 
153