Subversion Repositories HomeAutomation

Rev

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

Rev 101 Rev 104
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/canBoot/Source/Main.c $
6
 * FileName:        $HeadURL: https://svn.auml.se/svn/HomeAutomation/trunk/EmbeddedSoftware/PIC/canBoot/Source/Main.c $
7
 * Last changed:    $LastChangedDate: 2006-11-15 09:41:08 +0100 (Wed, 15 Nov 2006) $
7
 * Last changed:    $LastChangedDate: 2006-11-15 10:22:35 +0100 (Wed, 15 Nov 2006) $
8
 * By:              $LastChangedBy: johboh $
8
 * By:              $LastChangedBy: johboh $
9
 * Revision:        $Revision: 101 $
9
 * Revision:        $Revision: 104 $
10
 ********************************************************************/
10
 ********************************************************************/
11
 
11
 
12
#include <compiler.h>
12
#include <compiler.h>
13
#include <stackTasks.h>
13
#include <stackTasks.h>
14
#include <CANdefs.h>
14
#include <CANdefs.h>
Line 153... Line 153...
153
                    afterAckPgs     = pgsWAIT_FIRST_PGM_PACKET;
153
                    afterAckPgs     = pgsWAIT_FIRST_PGM_PACKET;
154
                    pgs             = pgsSEND_ACK;
154
                    pgs             = pgsSEND_ACK;
155
                }
155
                }
156
 
156
 
157
                // If programming packet...
157
                // If programming packet...
158
                if (hasPacket==TRUE && cm.funct==FUNCT_BOOTLOADER && (cm.funcc & 0x3)==FUNCC_BOOT_PGM && cm.nid==MY_NID && cm.sid==programmerSid)
158
                if (hasPacket==TRUE && cm.funct==FUNCT_BOOTLOADER && (cm.funcc & 0x3E3)==FUNCC_BOOT_PGM && cm.nid==MY_NID && cm.sid==programmerSid)
159
                {
159
                {
160
                    BYTE localIndex = (BYTE)((cm.funcc & 0x1C)>>2)*8;
160
                    BYTE localIndex = (BYTE)((cm.funcc & 0x1C)>>2)*8;
161
 
161
 
162
                    // Save bytes in memory, setup start adress etc..
162
                    // Save bytes in memory, setup start adress etc..
163
                    bytesReceived   = 8;       
163
                    bytesReceived   = 8;       
Line 173... Line 173...
173
 
173
 
174
            case pgsWAIT_PGM_PACKET:
174
            case pgsWAIT_PGM_PACKET:
175
       
175
       
176
           
176
           
177
                // If programming packet...
177
                // If programming packet...
178
                if (hasPacket==TRUE && cm.funct==FUNCT_BOOTLOADER && (cm.funcc & 0x3)==FUNCC_BOOT_PGM && cm.nid==MY_NID && cm.sid==programmerSid)
178
                if (hasPacket==TRUE && cm.funct==FUNCT_BOOTLOADER && (cm.funcc & 0x3E3)==FUNCC_BOOT_PGM && cm.nid==MY_NID && cm.sid==programmerSid)
179
                {
179
                {
180
                    BYTE localIndex = (BYTE)((cm.funcc & 0x1C)>>2)*8;
180
                    BYTE localIndex = (BYTE)((cm.funcc & 0x1C)>>2)*8;
181
                    // Save bytes in memory, inc received bytes.
181
                    // Save bytes in memory, inc received bytes.
182
                    pgmData[localIndex+0]=cm.data[0]; pgmData[localIndex+1]=cm.data[1]; pgmData[localIndex+2]=cm.data[2]; pgmData[localIndex+3]=cm.data[3];
182
                    pgmData[localIndex+0]=cm.data[0]; pgmData[localIndex+1]=cm.data[1]; pgmData[localIndex+2]=cm.data[2]; pgmData[localIndex+3]=cm.data[3];
183
                    pgmData[localIndex+4]=cm.data[4]; pgmData[localIndex+5]=cm.data[5]; pgmData[localIndex+6]=cm.data[6]; pgmData[localIndex+7]=cm.data[7];
183
                    pgmData[localIndex+4]=cm.data[4]; pgmData[localIndex+5]=cm.data[5]; pgmData[localIndex+6]=cm.data[6]; pgmData[localIndex+7]=cm.data[7];