DrandMSG.h.~1.10.~
上传用户:joranyuan
上传日期:2022-06-23
资源大小:3306k
文件大小:1k
源码类别:

网络

开发平台:

Others

  1. #ifndef DRAND_MSG_H
  2. #define DRAND_MSG_H
  3. #include "SClock.h"
  4. //#define ZMAC_DEBUG // for mac level debug
  5. #ifndef DEBUG
  6. #define DEBUG // for sodbg
  7. #endif
  8. #ifndef ES_DEBUG
  9. #define ES_DEBUG // for "essential" debug information
  10. #endif
  11. //#define HELLO_DEBUG // for hello world debug
  12. #define DRAND_DEBUG // for drand debug
  13. //#define REPORT_DEBUG // for report debug
  14. //#define FRAME_DEBUG // for frame debug
  15. //#define LDEBUG  // for led debug
  16. enum {
  17.   MAX_NBR = 30,
  18.   MAX_ONE_HOP = 20
  19. };
  20. enum { // max number of times 
  21.   MAX_GRANT = 10,
  22.   MAX_REQUEST = 10,
  23.   MAX_FRAME = 10, // after 10 reXmit, stop sending frame
  24.   MAX_REPORT = 10
  25. };
  26. enum {
  27.   AM_HELLO = 31,
  28. AM_REQUEST = 32,
  29. AM_GRANT = 33,
  30. AM_RELEASE = 34,
  31. AM_REJECT = 35,
  32. AM_TWOHOP = 36,
  33.   AM_REPORT = 37,
  34.   AM_FRAME = 38
  35. };
  36. //can set the period of timeSync and hello (everything in ms)
  37. enum {
  38. HELLO_PERIOD = 60000L, //*(1/115200)sec
  39.   HELLO_INTERVAL = 5000,
  40.   GRANT_INTERVAL = 10,
  41.   REPORT_INTERVAL = 1000,
  42.   REPORT_PERIOD = 2000,
  43. FRAME_INTERVAL = 1000,
  44.   FRAME_PERIOD = 2000,
  45.   DRAND_PERIOD = 120000L
  46. };
  47. enum { //Each state
  48. HELLO_STATE,
  49.   REQUEST_STATE,
  50. GRANT_STATE,
  51. IDLE_STATE2, // seems BMAC also has IDLE_STATE ;)
  52. RELEASE_STATE,
  53. REPORT_STATE,
  54.   FRAME_STATE
  55. };
  56. enum{ // nodeInfo bit map masks
  57.   ONE_HOP = 0x1,
  58.   TWO_HOP = 0x2,
  59.   GRANT_SENT = 0x4,
  60.   REPORT_SENT = 0x8
  61. };
  62. enum{ // frame message types
  63.   FRAME_REQUEST = 1,
  64.   FRAME_REPLY = 0
  65. };
  66. #endif