Subversion Repositories HomeAutomation

Rev

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

Rev Author Line No. Line
53 johboh 1
/*********************************************************************
2
 *
88 johboh 3
 *                  CAN module header file
53 johboh 4
 *
5
 *********************************************************************
88 johboh 6
 * FileName:        $HeadURL: https://svn.auml.se/svn/HomeAutomation/trunk/EmbeddedSoftware/PIC/canBoot/Include/CAN.h $
7
 * Last changed:    $LastChangedDate: 2006-11-14 12:50:16 +0100 (Tue, 14 Nov 2006) $
8
 * By:              $LastChangedBy: johboh $
9
 * Revision:        $Revision: 91 $
53 johboh 10
 ********************************************************************/
11
 
79 johboh 12
 
53 johboh 13
#ifndef CAN_H
14
#define CAN_H
15
 
16
#include <CANdefs.h>
17
#include <compiler.h>
18
#include <typedefs.h>
19
 
20
 
64 johboh 21
typedef struct _CAN_PROTO_MESSAGE
53 johboh 22
{
64 johboh 23
    BYTE funct; //4
24
    WORD funcc; //10
25
    BYTE nid; //6
26
    WORD sid; //9
27
    BYTE data_length;//5
53 johboh 28
    BYTE data[8];
64 johboh 29
} CAN_PROTO_MESSAGE;
53 johboh 30
 
31
 
64 johboh 32
#define MY_ID 0x78 
33
#define MY_NID 0x00
34
 
35
#define ADDRL_INDEX 0
36
#define ADDRH_INDEX 1
37
#define ADDRU_INDEX 2
79 johboh 38
#define RID_LOW_INDEX 4
39
#define RID_HIGH_INDEX 5
64 johboh 40
#define ERR_INDEX 4
41
 
42
//<ERR> 8 bitar feltyp
43
#define ERR_NO_ERROR 0x00 //= inget fel
44
#define ERR_ERROR 0x01 //= fel
45
 
46
 
56 johboh 47
typedef enum {PRIO_LOWEST=0,PRIO_LOW=1,PRIO_HIGH=2,PRIO_HIGEST=3} CAN_PRIORITY;
53 johboh 48
 
49
 
50
void canInit(void);
64 johboh 51
BOOL canSendMessage(CAN_PROTO_MESSAGE cm, CAN_PRIORITY prio);
53 johboh 52
 
53
#endif //CAN.h