Subversion Repositories HomeAutomation

Rev

Rev 88 | Rev 101 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | SVN | RSS feed

  1. /*********************************************************************
  2.  *
  3.  *                  CAN module header file
  4.  *
  5.  *********************************************************************
  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 $
  10.  ********************************************************************/
  11.  
  12.  
  13. #ifndef CAN_H
  14. #define CAN_H
  15.  
  16. #include <CANdefs.h>
  17. #include <compiler.h>
  18. #include <typedefs.h>
  19.  
  20.  
  21. typedef struct _CAN_PROTO_MESSAGE
  22. {
  23.     BYTE funct; //4
  24.     WORD funcc; //10
  25.     BYTE nid; //6
  26.     WORD sid; //9
  27.     BYTE data_length;//5
  28.     BYTE data[8];
  29. } CAN_PROTO_MESSAGE;
  30.  
  31.  
  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
  38. #define RID_LOW_INDEX 4
  39. #define RID_HIGH_INDEX 5
  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.  
  47. typedef enum {PRIO_LOWEST=0,PRIO_LOW=1,PRIO_HIGH=2,PRIO_HIGEST=3} CAN_PRIORITY;
  48.  
  49.  
  50. void canInit(void);
  51. BOOL canSendMessage(CAN_PROTO_MESSAGE cm, CAN_PRIORITY prio);
  52.  
  53. #endif //CAN.h
  54.