Subversion Repositories HomeAutomation

Rev

Rev 317 | 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   0x1FE00L    /* bit[16..9] */
  41. #define SNS_ID_MASK     0x001FFL    /* bit[8..0] */
  42.  
  43. #define SNS_TYPE_BITS   9
  44. #define SNS_ID_BITS     0
  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.  
  57. /* ACT: Actuator data */
  58.  
  59. /* <ACT_TYPE><GROUP><NODE>
  60.  *
  61.  * <ACT_TYPE>, 5 bits = Actuator type, relay, dimmer etc.
  62.  * <GROUP>, 4 bits = To adress larger groups of actuators.
  63.  * <NODE>, 8 bits = Specific node.
  64.  */
  65. /* ACT masking */
  66. #define ACT_TYPE_MASK   0x1F000L    /* bit[16..12] */
  67. #define ACT_GROUP_MASK  0x00F00L    /* bit[11..8] */
  68. #define ACT_NODE_MASK   0x000FFL    /* bit[7..0] */
  69.  
  70. #define ACT_TYPE_BITS   12
  71. #define ACT_GROUP_BITS  8
  72. #define ACT_NODE_BITS   0
  73.  
  74. /* <ACT_TYPE> 5 bits 0x1FL */
  75. #define ACT_TYPE_RELAY      0x01L
  76. #define ACT_TYPE_DIMMER     0x02L
  77. #define ACT_TYPE_SERVO      0x03L
  78. #define ACT_TYPE_BLINDS     ACT_TYPE_SERVO
  79. #define ACT_TYPE_LCD        0x04L
  80. #define ACT_TYPE_IRTRANS    0x05L
  81.  
  82.  
  83. /*************************************************************
  84.  * <SID> 8 bits 0xFFL
  85.  ************************************************************/
  86.  
  87.  
  88. ////////////////////////////////////////////////////////////
  89.  
  90.  
  91.  
  92.  
  93. /* LCD: strings */
  94. #define LCD_SENSOR_TEMPERATURE_INSIDE           "Inne      "
  95. #define LCD_SENSOR_TEMPERATURE_OUTSIDE          "Ute       "
  96. #define LCD_SENSOR_TEMPERATURE_FREEZER          "Frys      "
  97. #define LCD_SENSOR_TEMPERATURE_REFRIGERATOR     "Kyl       "
  98.  
  99. /* DS18S20 serial ID */
  100. #define DS18S20_FREEZER                         0x10A7022601080005
  101. #define DS18S20_OUTSIDE                         0x100901E50008001E
  102. #define DS18S20_INSIDE_1                        0x1061C125010800CC
  103. //#define DS18S20_INSIDE_2
  104. //#define DS18S20_REFRIGERATOR
  105. #define DS18S20_UNDEF                           0x00
  106.  
  107.  
  108.