Subversion Repositories HomeAutomation

Rev

Rev 322 | Blame | Last modification | View Log | SVN | RSS feed

  1. /*
  2.  * Defines functs, funccs and other global definitions
  3.  * This is the one for eqnet :)
  4.  *
  5.  * IDENT: <CLASS><TYPE><SID> DATA: <data7>...<data0>
  6.  *
  7.  * <CLASS>, 4 bits = Function type.
  8.  * <TYPE>, 17 bits = Function code.
  9.  * <SID>, 8 bits = Sender ID.
  10.  */
  11.  
  12.  
  13. /* Definitions for masking */
  14. #define CLASS_MASK  0x1E000000L     /* bit[28..25] */
  15. #define TYPE_MASK   0x01FFFF00L     /* bit[24..8] */
  16. #define SID_MASK    0x000000FFL     /* bit[7..0] */
  17.  
  18. #define CLASS_MASK_BITS 25
  19. #define TYPE_MASK_BITS  8
  20. #define SID_MASK_BITS   0
  21.  
  22. /**************************************************************
  23.  * <CLASS> 4 bits 0xFL
  24.  *************************************************************/
  25. #define CLASS_SNS   0x4L
  26. #define CLASS_ACT   0x5L
  27.  
  28. /****************************************************************
  29.  * <TYPE> 17 bits 0x1FFFFL
  30.  ***************************************************************/
  31.  
  32. /* SNS: Sensor data */
  33.  
  34. /* <SNS_TYPE><SNS_ID>
  35.  *
  36.  * <SNS_TYPE>, 8 bits = Sensor type.
  37.  * <SNS_ID>, 9 bits = Sensor ID. Ex outdoor ds18s20, NodeRelay tc1047.
  38.  */
  39. /* SNS masking */
  40. #define SNS_TYPE_MASK   0x1FE0000L  /* bit[24..17] */
  41. #define SNS_ID_MASK     0x001FF00L  /* bit[16..8] */
  42.  
  43. #define SNS_TYPE_BITS   17
  44. #define SNS_ID_BITS     8
  45.  
  46. /* <SNS_TYPE> 8 bits 0xFFL */
  47. #define SNS_TEMP_DS18S20        0x08L
  48. #define SNS_TEMP_TC1047         0x09L
  49. #define SNS_IR_RECEIVE          0x0AL
  50. #define SNS_ACT_STATUS_RELAY    0x0BL
  51. #define SNS_ACT_STATUS_SERVO    0x0CL
  52. #define SNS_ACT_STATUS_DIMMER   0x0DL
  53.  
  54. /* <SNS_ID> 9 bits 0x1FFL */
  55. //idn för alla sensorer
  56. //eqlazers idn:
  57. #define SNS_DS18S20_OUTSIDE     0x001L
  58. #define SNS_DS18S20_FREEZER     0x002L
  59. #define SNS_DS18S20_INSIDE1     0x003L
  60. #define SNS_DS18S20_INSIDE2     0x004L
  61.  
  62. /* ACT: Actuator data */
  63.  
  64. /* <ACT_TYPE><GROUP><NODE>
  65.  *
  66.  * <ACT_TYPE>, 5 bits = Actuator type, relay, dimmer etc.
  67.  * <GROUP>, 4 bits = To adress larger groups of actuators.
  68.  * <NODE>, 8 bits = Specific node.
  69.  */
  70. /* ACT masking */
  71. #define ACT_TYPE_MASK   0x1F000L    /* bit[16..12] */
  72. #define ACT_GROUP_MASK  0x00F00L    /* bit[11..8] */
  73. #define ACT_NODE_MASK   0x000FFL    /* bit[7..0] */
  74.  
  75. #define ACT_TYPE_BITS   12
  76. #define ACT_GROUP_BITS  8
  77. #define ACT_NODE_BITS   0
  78.  
  79. /* <ACT_TYPE> 5 bits 0x1FL */
  80. #define ACT_TYPE_RELAY      0x01L
  81. #define ACT_TYPE_DIMMER     0x02L
  82. #define ACT_TYPE_SERVO      0x03L
  83. #define ACT_TYPE_BLINDS     ACT_TYPE_SERVO
  84. #define ACT_TYPE_LCD        0x04L
  85. #define ACT_TYPE_IRTRANS    0x05L
  86.  
  87.  
  88. /*************************************************************
  89.  * <SID> 8 bits 0xFFL
  90.  ************************************************************/
  91.  
  92.  
  93. ////////////////////////////////////////////////////////////
  94.  
  95.  
  96.  
  97.  
  98. /* LCD: strings */
  99. #define LCD_SENSOR_TEMPERATURE_INSIDE           "Inne      "
  100. #define LCD_SENSOR_TEMPERATURE_OUTSIDE          "Ute       "
  101. #define LCD_SENSOR_TEMPERATURE_FREEZER          "Frys      "
  102. #define LCD_SENSOR_TEMPERATURE_REFRIGERATOR     "Kyl       "
  103.  
  104. /* DS18S20 serial ID */
  105. #define DS18S20_FREEZER                         0x10A7022601080005
  106. #define DS18S20_OUTSIDE                         0x100901E50008001E
  107. #define DS18S20_INSIDE_1                        0x1061C125010800CC
  108. //#define DS18S20_INSIDE_2
  109. //#define DS18S20_REFRIGERATOR
  110. #define DS18S20_UNDEF                           0x00
  111.  
  112.  
  113.