Subversion Repositories HomeAutomation

Rev

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

  1. /*
  2.  * Defines functs, funccs and other global definitions
  3.  *
  4.  * IDENT: <CLASS><TYPE><SID> DATA: <data7>...<data0>
  5.  *
  6.  * <CLASS>, 4 bits = Function type.
  7.  * <TYPE>, 17 bits = Function code.
  8.  * <SID>, 8 bits = Sender ID.
  9.  */
  10.  
  11.  
  12. /* Definitions for masking */
  13. #define CLASS_MASK  0x1E000000L     /* bit[28..25] */
  14. #define TYPE_MASK   0x01FFFF00L     /* bit[24..8] */
  15. #define SID_MASK    0x000000FFL     /* bit[7..0] */
  16.  
  17. #define CLASS_MASK_BITS 25
  18. #define TYPE_MASK_BITS  8
  19. #define SID_MASK_BITS   0
  20.  
  21. /**************************************************************
  22.  * <CLASS> 4 bits 0xFL
  23.  *************************************************************/
  24. #define CLASS_SNS   0x4L
  25. #define CLASS_ACT   0x5L
  26.  
  27. /****************************************************************
  28.  * <TYPE> 17 bits 0x1FFFFL
  29.  ***************************************************************/
  30.  
  31. /* SNS: Sensor data */
  32.  
  33. /* <SNS_TYPE><SNS_ID>
  34.  *
  35.  * <SNS_TYPE>, 8 bits = Sensor type.
  36.  * <SNS_ID>, 9 bits = Sensor ID. Ex outdoor ds18s20, NodeRelay tc1047.
  37.  */
  38. /* SNS masking */
  39. #define SNS_TYPE_MASK   0x1FE0000L  /* bit[24..17] */
  40. #define SNS_ID_MASK     0x001FF00L  /* bit[16..8] */
  41.  
  42. #define SNS_TYPE_BITS   17
  43. #define SNS_ID_BITS     8
  44.  
  45. /* <SNS_TYPE> 8 bits 0xFFL */
  46. #define SNS_TEMP_DS18S20        0x08L
  47. #define SNS_TEMP_TC1047         0x09L
  48. #define SNS_IR_RECEIVE          0x0AL
  49. #define SNS_ACT_STATUS_RELAY    0x0BL
  50. #define SNS_ACT_STATUS_SERVO    0x0CL
  51. #define SNS_ACT_STATUS_DIMMER   0x0DL
  52. #define SNS_ACT_BUTTON          0x0EL
  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. #define ACT_TYPE_RGBLED     0x06L
  87.  
  88. /* ACT LCD 12 bits <ACTION><SIZE> 0xFFFL
  89.  *
  90.  * <ACTION>, 4 bits = Type och action.
  91.  * <SIZE>, 8 bits = Size of display.
  92.  */
  93. #define LCD_ACTION_MASK 0xF00L /* bit[12..8] */
  94. #define LCD_SIZE_MASK 0x0FFL /* bit[7..0] */
  95.  
  96. #define LCD_ACTION_BITS 8
  97. #define LCD_SIZE_BITS 0
  98.  
  99.  
  100. /* <ACTION> 4 bits 0xFL */
  101.  
  102. #define LCD_ACTION_CLR          0x0L
  103. #define LCD_ACTION_CURS         0x1L
  104. #define LCD_ACTION_TEXT         0x2L
  105. #define LCD_ACTION_GET_SIZE     0x3L
  106. #define LCD_ACTION_SET_CONT     0x4L
  107. #define LCD_ACTION_SET_BLIGHT   0x5L
  108. #define LCD_ACTION_GET_CONT     0x6L
  109. #define LCD_ACTION_GET_BLIGHT   0x7L
  110.  
  111. #define LCD_ACTION_SEND_CONT    0x8L
  112. #define LCD_ACTION_SEND_BLIGHT  0x9L
  113.  
  114.  
  115.  
  116. /* <SIZE> 8 bits 0xFFL */
  117. #define LCD_SIZE_ALL    0x00L
  118. #define LCD_SIZE_16x2   0x02L
  119. #define LCD_SIZE_20x4   0x10L
  120.  
  121. /*************************************************************
  122.  * <SID> 8 bits 0xFFL
  123.  ************************************************************/
  124.  
  125.  
  126. ////////////////////////////////////////////////////////////
  127.  
  128.  
  129.  
  130.  
  131. /* LCD: strings */
  132. #define LCD_SENSOR_TEMPERATURE_INSIDE           "Inne      "
  133. #define LCD_SENSOR_TEMPERATURE_OUTSIDE          "Ute       "
  134. #define LCD_SENSOR_TEMPERATURE_FREEZER          "Frys      "
  135. #define LCD_SENSOR_TEMPERATURE_REFRIGERATOR     "Kyl       "
  136.  
  137. /* DS18S20 serial ID */
  138. #define DS18S20_FREEZER                         0x10A7022601080005
  139. #define DS18S20_OUTSIDE                         0x100901E50008001E
  140. #define DS18S20_INSIDE_1                        0x1061C125010800CC
  141. //#define DS18S20_INSIDE_2
  142. //#define DS18S20_REFRIGERATOR
  143. #define DS18S20_UNDEF                           0x00
  144.  
  145.  
  146.