Subversion Repositories HomeAutomation

Rev

Rev 107 | Only display areas with differences | Regard whitespace | Details | Blame | Last modification | View Log | SVN | RSS feed

Rev 107 Rev 111
1
/*********************************************************************
1
/*********************************************************************
2
 *
2
 *
3
 *   Defines functs and funccs and other global definitions.
3
 *   Defines functs and funccs and other global definitions.
4
 *
4
 *
5
 *********************************************************************
5
 *********************************************************************
6
 * FileName:            $HeadURL: https://svn.auml.se/svn/HomeAutomation/trunk/EmbeddedSoftware/PIC/Include/funcdefs.h $
6
 * FileName:            $HeadURL: https://svn.auml.se/svn/HomeAutomation/trunk/EmbeddedSoftware/PIC/Include/funcdefs.h $
7
 * Last changed:    $LastChangedDate: 2006-11-15 17:32:04 +0100 (Wed, 15 Nov 2006) $
7
 * Last changed:    $LastChangedDate: 2006-11-15 18:53:50 +0100 (Wed, 15 Nov 2006) $
8
 * By:          $LastChangedBy: johboh $
8
 * By:          $LastChangedBy: johboh $
9
 * Revision:        $Revision: 107 $
9
 * Revision:        $Revision: 111 $
10
 ********************************************************************/
10
 ********************************************************************/
11
 
11
 
12
 
12
 
13
 
13
 
14
//<FUNCT>
14
//<FUNCT>
15
#define FUNCT_BOOTLOADER 0x0
15
#define FUNCT_BOOTLOADER 0x0
16
 
16
 
17
//<FUNCC> configuration packet
17
//<FUNCC> configuration packet
18
#define FUNCC_BOOT_INIT   0b0000000001 //Start programmring and/or resseting user program to go into bootloader mode.
18
#define FUNCC_BOOT_INIT   0b0000000001 //Start programmring and/or resseting user program to go into bootloader mode.
19
#define FUNCC_BOOT_ADDR   0b0000000010  //Change programming address.
19
#define FUNCC_BOOT_ADDR   0b0000000010  //Change programming address.
20
#define FUNCC_BOOT_SET_ID 0b0000000110  //Change ID and NID.
20
#define FUNCC_BOOT_SET_ID 0b0000000110  //Change ID and NID.
21
#define FUNCC_BOOT_DONE   0b0000000101  //End programming, start user program.
21
#define FUNCC_BOOT_DONE   0b0000000101  //End programming, start user program.
22
 
22
 
23
#define FUNCC_BOOT_HEARTBEAT 0b0000001000 // Heartbeat
23
#define FUNCC_BOOT_HEARTBEAT 0b0000001000 // Heartbeat
24
 
24
 
25
//<FUNCC> program packet
25
//<FUNCC> program packet
26
#define FUNCC_BOOT_PGM 0b0000000011 //To indicate programming data packet.
26
#define FUNCC_BOOT_PGM 0b0000000011 //To indicate programming data packet.
27
 
27
 
28
//<FUNCC> ack packet
28
//<FUNCC> ack packet
29
#define FUNCC_BOOT_ACK 0b0000000100 //Ack packet
29
#define FUNCC_BOOT_ACK 0b0000000100 //Ack packet
30
 
30
 
31
 
31
 
32
#define DEFAULT_ID 0x78     // Default ID for bootloader/node when no id is set.
32
#define DEFAULT_ID 0x78     // Default ID for bootloader/node when no id is set.
33
#define DEFAULT_NID 0x00    // Default ID for bootloader/node when no nid is set.
33
#define DEFAULT_NID 0x00    // Default ID for bootloader/node when no nid is set.
34
 
34
 
35
 
35
 
36
#define NODE_ID_EE  0x00    // EEPROM first index where to look for ID and NID. 
36
#define NODE_ID_EE  0x00    // EEPROM first index where to look for ID and NID. 
37
                // NODE_ID_EE = NODE_HAS_ID if has correct ID, otherwise use DEFAULT_ID and DEFAULT_NID
37
                // NODE_ID_EE = NODE_HAS_ID if has correct ID, otherwise use DEFAULT_ID and DEFAULT_NID
38
                // NODE_ID_EE + 1 = ID[1]
38
                // NODE_ID_EE + 1 = ID[1]
39
                // NODE_ID_EE + 2 = ID[0]
39
                // NODE_ID_EE + 2 = ID[0]
40
                // NODE_ID_EE + 3 = NID
40
                // NODE_ID_EE + 3 = NID
41
 
41
 
42
#define NODE_HAS_ID 0x2A    // Value which indicate valid ID and NID.
42
#define NODE_HAS_ID 0x2A    // Value which indicate valid ID and NID.
43
 
43
 
44
 
44
 
45
// Definitions for BOOT packets. Which index in data where things are.
45
// Definitions for BOOT packets. Which index in data where things are.
46
#define BOOT_DATA_ADDRL_INDEX 0
46
#define BOOT_DATA_ADDRL_INDEX 0
47
#define BOOT_DATA_ADDRH_INDEX 1
47
#define BOOT_DATA_ADDRH_INDEX 1
48
#define BOOT_DATA_ADDRU_INDEX 2
48
#define BOOT_DATA_ADDRU_INDEX 2
49
#define BOOT_DATA_RID_LOW_INDEX 4
49
#define BOOT_DATA_RID_LOW_INDEX 4
50
#define BOOT_DATA_RID_HIGH_INDEX 5
50
#define BOOT_DATA_RID_HIGH_INDEX 5
51
#define BOOT_DATA_ERR_INDEX 4
51
#define BOOT_DATA_ERR_INDEX 4
52
#define BOOT_DATA_NEW_ID_LOW 0 
52
#define BOOT_DATA_NEW_ID_LOW_INDEX 0 
53
#define BOOT_DATA_NEW_ID_HIGH 1 
53
#define BOOT_DATA_NEW_ID_HIGH_INDEX 1 
54
#define BOOT_DATA_NEW_NID 2
54
#define BOOT_DATA_NEW_NID_INDEX 2
-
 
55
#define BOOT_DATA_HEARTBEAT_INDEX 0
55
 
56
 
56
//<ERR>
57
//<ERR>
57
// Value in BOOT_DATA_ERR_INDEX
58
// Value in BOOT_DATA_ERR_INDEX
58
#define ACK_ERR_NO_ERROR 0x00 //= no error
59
#define ACK_ERR_NO_ERROR 0x00 //= no error
59
#define ACK_ERR_ERROR 0x01 //= error
60
#define ACK_ERR_ERROR 0x01 //= error
-
 
61
 
-
 
62
//<HEART>
-
 
63
#define HEARTBEAT_BOOT_STARTUP 0x00
-
 
64
#define HEARTBEAT_USER_STARTUP 0x01
-
 
65
#define HEARTBEAT_ALIVE 0x02
-
 
66
 
-
 
67