Subversion Repositories HomeAutomation

Rev

Details | Last modification | View Log | SVN | RSS feed

Rev Author Line No. Line
341 johboh 1
/*********************************************************************
93 johboh 2
 *
94 johboh 3
 *   Defines functs and funccs and other global definitions.
93 johboh 4
 *
5
 *********************************************************************
6
 * FileName:            $HeadURL: https://svn.auml.se/svn/HomeAutomation/trunk/EmbeddedSoftware/PIC/Include/funcdefs.h $
7
 * Last changed:    $LastChangedDate: 2007-03-13 18:29:20 +0100 (Tue, 13 Mar 2007) $
8
 * By:          $LastChangedBy: johboh $
9
 * Revision:        $Revision: 363 $
10
 ********************************************************************/
11
 
339 johboh 12
#include <typedefs.h>
363 johboh 13
#include <pgmtypes.h>
93 johboh 14
 
339 johboh 15
#define DEFAULT_ID 0x78     // Default ID for bootloader/node when no id is set.
16
#define NODE_ID_EE  0x00    // EEPROM first index where to look for ID and NID. 
17
                // NODE_ID_EE = NODE_HAS_ID if has correct ID, otherwise use DEFAULT_ID and DEFAULT_NID
18
                // NODE_ID_EE + 1 = ID
19
#define NODE_HAS_ID 0x2A    // Value which indicate valid ID and NID.
93 johboh 20
 
21
 
339 johboh 22
typedef struct _CAN_BOOT_PACKET
23
{
24
    BOOT_TYPE type; //3
25
    BYTE    offset; //8
26
    BYTE       rid; //8
27
} CAN_BOOT_PACKET;
93 johboh 28
 
94 johboh 29
 
339 johboh 30
typedef struct _CAN_PGM_PACKET
31
{
32
    PGM_CLASS class; //4
33
    WORD         id; //15
34
} CAN_PGM_PACKET;
139 johboh 35
 
339 johboh 36
typedef struct _CAN_PACKET
37
{
38
    PACKET_TYPE     type;
39
    CAN_PGM_PACKET   pgm;
40
    CAN_BOOT_PACKET boot;
41
    BYTE             sid; //8
42
    BYTE          length;
43
    BYTE         data[8];
44
} CAN_PACKET;
94 johboh 45
 
126 johboh 46
 
141 johboh 47
 
339 johboh 48
// When CAN_BOOT_PACKET.type==btADDR
49
// data[2] = ADDRU
50
// data[1] = ADDRH
51
// data[0] = ADDRL
94 johboh 52
 
339 johboh 53
// When CAN_BOOT_PACKET.type==btCRC
54
// data[4] = CRCH
55
// data[3] = CRCL
56
// data[2] = ADDRU
57
// data[1] = ADDRH
58
// data[0] = ADDRL
94 johboh 59
 
339 johboh 60
// When CAN_BOOT_PACKET.type==btCHANGEID
61
// data[0] = new id
99 johboh 62