app.c
上传用户:joranyuan
上传日期:2022-06-23
资源大小:3306k
文件大小:273k
源码类别:

网络

开发平台:

Others

  1. #define dbg(mode, format, ...) ((void)0)
  2. #define dbg_clear(mode, format, ...) ((void)0)
  3. #define dbg_active(mode) 0
  4. # 65 "/usr/avr/include/stdint.h"
  5. typedef signed char int8_t;
  6. typedef unsigned char uint8_t;
  7. # 104 "/usr/avr/include/stdint.h" 3
  8. typedef int int16_t;
  9. typedef unsigned int uint16_t;
  10. typedef long int32_t;
  11. typedef unsigned long uint32_t;
  12. typedef long long int64_t;
  13. typedef unsigned long long uint64_t;
  14. #line 155
  15. typedef int16_t intptr_t;
  16. typedef uint16_t uintptr_t;
  17. # 213 "/usr/lib/gcc-lib/avr/3.3/include/stddef.h" 3
  18. typedef unsigned int size_t;
  19. # 70 "/usr/avr/include/string.h"
  20. extern char *strcat(char *, const char *);
  21. extern size_t __attribute((__pure__)) strlen(const char *);
  22. # 325 "/usr/lib/gcc-lib/avr/3.3/include/stddef.h" 3
  23. typedef int wchar_t;
  24. # 66 "/usr/avr/include/stdlib.h"
  25. typedef struct __nesc_unnamed4242 {
  26.   int quot;
  27.   int rem;
  28. } div_t;
  29. typedef struct __nesc_unnamed4243 {
  30.   long quot;
  31.   long rem;
  32. } ldiv_t;
  33. typedef int (*__compar_fn_t)(const void *, const void *);
  34. # 151 "/usr/lib/gcc-lib/avr/3.3/include/stddef.h" 3
  35. typedef int ptrdiff_t;
  36. # 91 "/home/testuser/tinyos-1.x/tos/system/tos.h"
  37. typedef unsigned char bool;
  38. enum __nesc_unnamed4244 {
  39.   FALSE = 0, 
  40.   TRUE = 1
  41. };
  42. uint16_t TOS_LOCAL_ADDRESS = 1;
  43. enum __nesc_unnamed4245 {
  44.   FAIL = 0, 
  45.   SUCCESS = 1
  46. };
  47. static inline 
  48. uint8_t rcombine(uint8_t r1, uint8_t r2);
  49. typedef uint8_t  result_t;
  50. static inline 
  51. result_t rcombine(result_t r1, result_t r2);
  52. static inline 
  53. #line 133
  54. result_t rcombine4(result_t r1, result_t r2, result_t r3, 
  55. result_t r4);
  56. enum __nesc_unnamed4246 {
  57.   NULL = 0x0
  58. };
  59. # 90 "/usr/avr/include/avr/pgmspace.h"
  60. typedef void __attribute((__progmem__)) prog_void;
  61. typedef char __attribute((__progmem__)) prog_char;
  62. typedef unsigned char __attribute((__progmem__)) prog_uchar;
  63. typedef int8_t __attribute((__progmem__)) prog_int8_t;
  64. typedef uint8_t __attribute((__progmem__)) prog_uint8_t;
  65. typedef int16_t __attribute((__progmem__)) prog_int16_t;
  66. typedef uint16_t __attribute((__progmem__)) prog_uint16_t;
  67. typedef int32_t __attribute((__progmem__)) prog_int32_t;
  68. typedef uint32_t __attribute((__progmem__)) prog_uint32_t;
  69. typedef int64_t __attribute((__progmem__)) prog_int64_t;
  70. typedef uint64_t __attribute((__progmem__)) prog_uint64_t;
  71. # 139 "/home/testuser/tinyos-1.x/tos/platform/avrmote/avrhardware.h"
  72. enum __nesc_unnamed4247 {
  73.   TOSH_period16 = 0x00, 
  74.   TOSH_period32 = 0x01, 
  75.   TOSH_period64 = 0x02, 
  76.   TOSH_period128 = 0x03, 
  77.   TOSH_period256 = 0x04, 
  78.   TOSH_period512 = 0x05, 
  79.   TOSH_period1024 = 0x06, 
  80.   TOSH_period2048 = 0x07
  81. };
  82. static inline 
  83. void TOSH_wait(void);
  84. typedef uint8_t __nesc_atomic_t;
  85. __nesc_atomic_t __nesc_atomic_start(void );
  86. void __nesc_atomic_end(__nesc_atomic_t oldSreg);
  87. __inline __nesc_atomic_t  __nesc_atomic_start(void );
  88. __inline void  __nesc_atomic_end(__nesc_atomic_t oldSreg);
  89. static 
  90. __inline void __nesc_atomic_sleep(void);
  91. static 
  92. __inline void __nesc_enable_interrupt(void);
  93. # 241 "../../tos/platform/mica2/CC1000Const.h"
  94. static const prog_uchar CC1K_LPL_PreambleLength[9 * 2] = { 
  95. 0, 6, 
  96. 0x0, 48, 
  97. 0x0, 60, 
  98. 0x0, 144, 
  99. 0x1, 0x0f, 
  100. 0x1, 0xf8, 
  101. 0x3, 0xd9, 
  102. 0x7, 0x9b, 
  103. 0xf, 0x06 };
  104. static const prog_uchar CC1K_LPL_SleepTime[9 * 2] = { 
  105. 0, 0, 
  106. 0x0, 10, 
  107. 0x0, 25, 
  108. 0x0, 50, 
  109. 0x0, 100, 
  110. 0x0, 200, 
  111. 0x1, 0x90, 
  112. 0x3, 0x20, 
  113. 0x6, 0x40 };
  114. #line 277
  115. static const prog_uchar CC1K_Params[6][31] = { 
  116. 0x31, 
  117. 0x58, 0x00, 0x00, 
  118. 0x57, 0xf6, 0x85, 
  119. 0X03, 0x55, (
  120. 4 << 4) | (1 << 2), 
  121. 1 << 1, (
  122. 0x0 << 4) | (0xf << 0), 
  123. 12 << 3, 
  124. 0xe << 4, (
  125. 1 << 5) | (6 << 0), (
  126. 0 << 7) | (28 << 0), (((
  127. 3 << 5) | (1 << 3)) | (1 << 1)) | (1 << 0), ((
  128. 5 << 4) | (1 << 2)) | (1 << 0), (
  129. 0x7 << 4) | (0x0 << 0), 
  130. 1 << 0, 
  131. 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
  132. 0x00, 
  133. 0x00, (
  134. 8 << 4) | (1 << 0), 
  135. TRUE }, 
  136. 0x31, 
  137. 0x7c, 0x00, 0x00, 
  138. 0x7b, 0xf9, 0xae, 
  139. 0x02, 0x38, (
  140. 8 << 4) | (3 << 2), ((
  141. 1 << 5) | (2 << 3)) | (1 << 1), (
  142. 0x8 << 4) | (0x0 << 0), 
  143. 8 << 3, 
  144. 0x1 << 4, (
  145. 1 << 5) | (6 << 0), (
  146. 1 << 7) | (33 << 0), (((
  147. 3 << 5) | (1 << 3)) | (1 << 1)) | (1 << 0), ((
  148. 5 << 4) | (1 << 2)) | (1 << 0), (
  149. 0x1 << 4) | (0x0 << 0), 
  150. 1 << 0, 
  151. 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
  152. 0x00, 
  153. 0x00, (
  154. 15 << 4) | (3 << 0), 
  155. TRUE }, 
  156. 0x31, 
  157. 0x51, 0x00, 0x00, 
  158. 0x50, 0xf7, 0x4F, 
  159. 0X03, 0x0E, (
  160. 4 << 4) | (1 << 2), 
  161. 1 << 1, (
  162. 0x0 << 4) | (0xf << 0), 
  163. 11 << 3, 
  164. 0xe << 4, (
  165. 1 << 5) | (6 << 0), (
  166. 1 << 7) | (33 << 0), (((
  167. 3 << 5) | (1 << 3)) | (1 << 1)) | (1 << 0), ((
  168. 5 << 4) | (1 << 2)) | (1 << 0), (
  169. 0x7 << 4) | (0x0 << 0), 
  170. 1 << 0, 
  171. 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
  172. 0x00, 
  173. 0x00, (
  174. 8 << 4) | (1 << 0), 
  175. TRUE }, 
  176. 0x31, 
  177. 0x5c, 0xe0, 0x00, 
  178. 0x5c, 0xdb, 0x42, 
  179. 0x01, 0xAA, (
  180. 8 << 4) | (3 << 2), ((
  181. 1 << 5) | (2 << 3)) | (1 << 1), (
  182. 0x8 << 4) | (0x0 << 0), 
  183. 6 << 3, 
  184. 0x1 << 4, (
  185. 1 << 5) | (6 << 0), (
  186. 1 << 7) | (33 << 0), (((
  187. 3 << 5) | (1 << 3)) | (1 << 1)) | (1 << 0), ((
  188. 5 << 4) | (1 << 2)) | (1 << 0), (
  189. 0x1 << 4) | (0x0 << 0), 
  190. 1 << 0, 
  191. 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
  192. 0x00, 
  193. 0x00, (
  194. 15 << 4) | (3 << 0), 
  195. TRUE }, 
  196. 0x31, 
  197. 0x45, 0x60, 0x00, 
  198. 0x45, 0x55, 0xBB, 
  199. 0X03, 0x9C, (
  200. 8 << 4) | (0 << 2), 
  201. 1 << 1, (
  202. 0x0 << 4) | (0xf << 0), 
  203. 13 << 3, 
  204. 0xe << 4, (
  205. 1 << 5) | (6 << 0), (
  206. 1 << 7) | (33 << 0), (((
  207. 3 << 5) | (1 << 3)) | (1 << 1)) | (1 << 0), ((
  208. 5 << 4) | (1 << 2)) | (0 << 0), (
  209. 0x7 << 4) | (0x0 << 0), 
  210. 1 << 0, 
  211. 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
  212. 0x00, 
  213. 0x00, (
  214. 8 << 4) | (1 << 0), 
  215. TRUE }, 
  216. 0x31, 
  217. 0x58, 0x00, 0x00, 
  218. 0x57, 0xf6, 0x85, 
  219. 0X03, 0x55, (
  220. 8 << 4) | (4 << 2), 
  221. 1 << 1, (
  222. 0x0 << 4) | (0xf << 0), 
  223. 12 << 3, 
  224. 0xe << 4, (
  225. 1 << 5) | (6 << 0), (
  226. 1 << 7) | (33 << 0), (((
  227. 3 << 5) | (1 << 3)) | (1 << 1)) | (1 << 0), ((
  228. 5 << 4) | (1 << 2)) | (1 << 0), (
  229. 0x7 << 4) | (0x0 << 0), 
  230. 1 << 0, 
  231. 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
  232. 0x00, 
  233. 0x00, (
  234. 8 << 4) | (1 << 0), 
  235. TRUE } };
  236. static 
  237. # 101 "../../tos/platform/mica2/hardware.h"
  238. void __inline TOSH_uwait(int u_sec);
  239. #line 120
  240. static __inline void TOSH_CLR_SERIAL_ID_PIN(void);
  241. #line 120
  242. static __inline void TOSH_MAKE_SERIAL_ID_INPUT(void);
  243. static __inline void TOSH_MAKE_CC_CHP_OUT_INPUT(void);
  244. static __inline void TOSH_SET_CC_PDATA_PIN(void);
  245. #line 126
  246. static __inline void TOSH_CLR_CC_PDATA_PIN(void);
  247. #line 126
  248. static __inline int TOSH_READ_CC_PDATA_PIN(void);
  249. #line 126
  250. static __inline void TOSH_MAKE_CC_PDATA_OUTPUT(void);
  251. #line 126
  252. static __inline void TOSH_MAKE_CC_PDATA_INPUT(void);
  253. static __inline void TOSH_SET_CC_PCLK_PIN(void);
  254. #line 127
  255. static __inline void TOSH_CLR_CC_PCLK_PIN(void);
  256. #line 127
  257. static __inline void TOSH_MAKE_CC_PCLK_OUTPUT(void);
  258. static __inline void TOSH_SET_CC_PALE_PIN(void);
  259. #line 128
  260. static __inline void TOSH_CLR_CC_PALE_PIN(void);
  261. #line 128
  262. static __inline void TOSH_MAKE_CC_PALE_OUTPUT(void);
  263. #line 143
  264. static __inline void TOSH_MAKE_MOSI_OUTPUT(void);
  265. #line 143
  266. static __inline void TOSH_MAKE_MOSI_INPUT(void);
  267. static __inline void TOSH_MAKE_MISO_OUTPUT(void);
  268. #line 144
  269. static __inline void TOSH_MAKE_MISO_INPUT(void);
  270. static __inline void TOSH_MAKE_SPI_OC1C_INPUT(void);
  271. static __inline void TOSH_MAKE_SPI_SCK_INPUT(void);
  272. static __inline void TOSH_MAKE_PW0_OUTPUT(void);
  273. static __inline void TOSH_MAKE_PW1_OUTPUT(void);
  274. static __inline void TOSH_MAKE_PW2_OUTPUT(void);
  275. static __inline void TOSH_MAKE_PW3_OUTPUT(void);
  276. static __inline void TOSH_MAKE_PW4_OUTPUT(void);
  277. static __inline void TOSH_MAKE_PW5_OUTPUT(void);
  278. static __inline void TOSH_MAKE_PW6_OUTPUT(void);
  279. static __inline void TOSH_MAKE_PW7_OUTPUT(void);
  280. static inline 
  281. #line 171
  282. void TOSH_SET_PIN_DIRECTIONS(void );
  283. #line 201
  284. enum __nesc_unnamed4248 {
  285.   TOSH_ADC_PORTMAPSIZE = 12
  286. };
  287. enum __nesc_unnamed4249 {
  288.   TOSH_ACTUAL_CC_RSSI_PORT = 0, 
  289.   TOSH_ACTUAL_VOLTAGE_PORT = 7, 
  290.   TOSH_ACTUAL_BANDGAP_PORT = 30, 
  291.   TOSH_ACTUAL_GND_PORT = 31
  292. };
  293. enum __nesc_unnamed4250 {
  294.   TOS_ADC_CC_RSSI_PORT = 0, 
  295.   TOS_ADC_VOLTAGE_PORT = 7, 
  296.   TOS_ADC_BANDGAP_PORT = 10, 
  297.   TOS_ADC_GND_PORT = 11
  298. };
  299. # 54 "/home/testuser/tinyos-1.x/tos/types/dbg_modes.h"
  300. typedef long long TOS_dbg_mode;
  301. enum __nesc_unnamed4251 {
  302.   DBG_ALL = ~0ULL, 
  303.   DBG_BOOT = 1ULL << 0, 
  304.   DBG_CLOCK = 1ULL << 1, 
  305.   DBG_TASK = 1ULL << 2, 
  306.   DBG_SCHED = 1ULL << 3, 
  307.   DBG_SENSOR = 1ULL << 4, 
  308.   DBG_LED = 1ULL << 5, 
  309.   DBG_CRYPTO = 1ULL << 6, 
  310.   DBG_ROUTE = 1ULL << 7, 
  311.   DBG_AM = 1ULL << 8, 
  312.   DBG_CRC = 1ULL << 9, 
  313.   DBG_PACKET = 1ULL << 10, 
  314.   DBG_ENCODE = 1ULL << 11, 
  315.   DBG_RADIO = 1ULL << 12, 
  316.   DBG_LOG = 1ULL << 13, 
  317.   DBG_ADC = 1ULL << 14, 
  318.   DBG_I2C = 1ULL << 15, 
  319.   DBG_UART = 1ULL << 16, 
  320.   DBG_PROG = 1ULL << 17, 
  321.   DBG_SOUNDER = 1ULL << 18, 
  322.   DBG_TIME = 1ULL << 19, 
  323.   DBG_POWER = 1ULL << 20, 
  324.   DBG_SIM = 1ULL << 21, 
  325.   DBG_QUEUE = 1ULL << 22, 
  326.   DBG_SIMRADIO = 1ULL << 23, 
  327.   DBG_HARD = 1ULL << 24, 
  328.   DBG_MEM = 1ULL << 25, 
  329.   DBG_USR1 = 1ULL << 27, 
  330.   DBG_USR2 = 1ULL << 28, 
  331.   DBG_USR3 = 1ULL << 29, 
  332.   DBG_TEMP = 1ULL << 30, 
  333.   DBG_ERROR = 1ULL << 31, 
  334.   DBG_NONE = 0, 
  335.   DBG_DEFAULT = DBG_ALL
  336. };
  337. # 59 "/home/testuser/tinyos-1.x/tos/system/sched.c"
  338. typedef struct __nesc_unnamed4252 {
  339.   void (*tp)(void);
  340. } TOSH_sched_entry_T;
  341. enum __nesc_unnamed4253 {
  342.   TOSH_MAX_TASKS = 8, 
  343.   TOSH_TASK_BITMASK = TOSH_MAX_TASKS - 1
  344. };
  345. volatile TOSH_sched_entry_T TOSH_queue[TOSH_MAX_TASKS];
  346. uint8_t TOSH_sched_full;
  347. volatile uint8_t TOSH_sched_free;
  348. static inline 
  349. void TOSH_sched_init(void );
  350. bool TOS_post(void (*tp)(void));
  351. #line 102
  352. bool  TOS_post(void (*tp)(void));
  353. static inline 
  354. #line 136
  355. bool TOSH_run_next_task(void);
  356. static inline 
  357. #line 159
  358. void TOSH_run_task(void);
  359. # 28 "/home/testuser/tinyos-1.x/tos/system/Ident.h"
  360. enum __nesc_unnamed4254 {
  361.   IDENT_MAX_PROGRAM_NAME_LENGTH = 16
  362. };
  363. typedef struct __nesc_unnamed4255 {
  364.   uint32_t unix_time;
  365.   uint32_t user_hash;
  366.   char program_name[IDENT_MAX_PROGRAM_NAME_LENGTH];
  367. } Ident_t;
  368. # 4 "../../tos/platform/mica2/zmacInfo.h"
  369. typedef struct syncMsgType {
  370.   uint16_t mticks;
  371.   uint16_t sticks;
  372.   uint8_t trust;
  373.   uint16_t sender;
  374. } syncMsgType;
  375. typedef struct ecnMsgType {
  376.   uint8_t hopCount;
  377.   uint16_t nextHop;
  378.   uint16_t senderAddress;
  379. } ecnMsgType;
  380. typedef struct ecnForwardMsgType {
  381.   uint8_t hopCount;
  382.   uint16_t nextHop;
  383.   uint16_t senderAddress;
  384. } ecnForwardMsgType;
  385. # 39 "../../tos/interfaces/SClock.h"
  386. enum __nesc_unnamed4256 {
  387.   CLK_STOP = 0, 
  388.   CLK_DIV_1 = 1, 
  389.   CLK_DIV_8 = 2, 
  390.   CLK_DIV_64 = 3, 
  391.   CLK_DIV_256 = 4, 
  392.   CLK_DIV_1024 = 5
  393. };
  394. enum __nesc_unnamed4257 {
  395.   MAX_VAL = 0xFFFF
  396. };
  397. enum __nesc_unnamed4258 {
  398.   POSITIVE = 1, 
  399.   NEGATIVE = 2, 
  400.   ZERO = 3
  401. };
  402. typedef struct GTime {
  403.   uint16_t sticks;
  404.   uint16_t mticks;
  405. } GTime;
  406. # 6 "../../tos/system/DrandMSG.h"
  407. enum __nesc_unnamed4259 {
  408.   MAX_NBR = 20, 
  409.   MAX_ONE_HOP = 15
  410. };
  411. enum __nesc_unnamed4260 {
  412.   MAX_GRANT = 30, 
  413.   MAX_REQUEST = 30, 
  414.   MAX_FRAME = 30, 
  415.   MAX_REPORT = 30
  416. };
  417. enum __nesc_unnamed4261 {
  418.   AM_HELLO = 31, 
  419.   AM_REQUEST = 32, 
  420.   AM_GRANT = 33, 
  421.   AM_RELEASE = 34, 
  422.   AM_REJECT = 35, 
  423.   AM_TWOHOP = 36, 
  424.   AM_REPORT = 37, 
  425.   AM_FRAME = 38
  426. };
  427. enum __nesc_unnamed4262 {
  428.   HELLO_PERIOD = 30000L, 
  429.   HELLO_INTERVAL = 500, 
  430.   GRANT_INTERVAL = 100, 
  431.   REPORT_INTERVAL = 100, 
  432.   REPORT_XPERIOD = 1000, 
  433.   FRAME_INTERVAL = 100, 
  434.   FRAME_XPERIOD = 1000, 
  435.   DRAND_PERIOD = 120000L, 
  436.   REPORT_PERIOD = 30000L
  437. };
  438. enum __nesc_unnamed4263 {
  439.   HELLO_STATE, 
  440.   REQUEST_STATE, 
  441.   GRANT_STATE, 
  442.   IDLE_STATE2, 
  443.   RELEASE_STATE, 
  444.   REPORT_STATE, 
  445.   FRAME_STATE
  446. };
  447. enum __nesc_unnamed4264 {
  448.   ONE_HOP = 0x1, 
  449.   TWO_HOP = 0x2, 
  450.   GRANT_SENT = 0x4
  451. };
  452. enum __nesc_unnamed4265 {
  453.   REPORT_REQUEST = 0, 
  454.   REPORT_REPLY = 1, 
  455.   FRAME_REQUEST = 2, 
  456.   FRAME_REPLY = 3
  457. };
  458. # 7 "../../tos/system/DrandInfo.h"
  459. typedef struct nodeInfo {
  460.   uint8_t nodeID;
  461.   uint8_t slot;
  462.   uint8_t frame;
  463.   uint8_t bitMap;
  464. } nodeInfo;
  465. typedef struct helloMsg {
  466.   uint8_t sendID;
  467.   uint8_t OneWayLen;
  468.   uint8_t OneWayId[MAX_NBR];
  469. } helloMsg;
  470. typedef struct requestMsg {
  471.   uint8_t sendID;
  472.   uint8_t myState;
  473.   uint8_t lastRequestID;
  474.   uint8_t roundNum;
  475.   uint8_t numRemaining;
  476.   uint16_t OTT;
  477.   GTime timestamp;
  478.   uint8_t idMap[MAX_NBR];
  479. } requestMsg;
  480. typedef struct grantMsg {
  481.   uint8_t sendID;
  482.   uint8_t myState;
  483.   uint8_t lastRequestID;
  484.   uint8_t roundNum;
  485.   uint8_t timeSlot[MAX_NBR];
  486.   GTime timestamp;
  487. } grantMsg;
  488. typedef struct rejectMsg {
  489.   uint8_t sendID;
  490.   uint8_t myState;
  491.   uint8_t lastRequestID;
  492.   uint8_t roundNum;
  493. rejectMsg;
  494. typedef struct releaseMsg {
  495.   uint8_t sendID;
  496.   uint8_t myState;
  497.   uint8_t lastRequestID;
  498.   uint8_t roundNum;
  499.   uint8_t slot;
  500. } releaseMsg;
  501. typedef struct twoHopMsg {
  502.   uint8_t sendID;
  503.   uint8_t myState;
  504.   uint8_t lastRequestID;
  505.   uint8_t roundNum;
  506.   uint8_t slot;
  507.   uint8_t slotID;
  508. } twoHopMsg;
  509. typedef struct frameMsg {
  510.   uint8_t sendID;
  511.   uint8_t frame;
  512.   uint8_t type;
  513.   uint8_t oneHopNodeID[MAX_ONE_HOP];
  514.   uint8_t frameArray[MAX_ONE_HOP];
  515. } frameMsg;
  516. typedef struct reportMsg {
  517.   uint8_t sendID;
  518.   uint8_t slot;
  519.   uint8_t type;
  520.   uint8_t timeSlot[MAX_NBR];
  521. } reportMsg;
  522. # 49 "/home/testuser/tinyos-1.x/tos/types/AM.h"
  523. enum __nesc_unnamed4266 {
  524.   TOS_BCAST_ADDR = 0xffff, 
  525.   TOS_UART_ADDR = 0x007e
  526. };
  527. enum __nesc_unnamed4267 {
  528.   TOS_DEFAULT_AM_GROUP = 0x7d
  529. };
  530. uint8_t TOS_AM_GROUP = TOS_DEFAULT_AM_GROUP;
  531. #line 84
  532. typedef struct TOS_Msg {
  533.   uint16_t addr;
  534.   uint8_t type;
  535.   uint8_t group;
  536.   uint8_t length;
  537.   int8_t data[29];
  538.   uint16_t crc;
  539.   uint16_t strength;
  540.   uint8_t ack;
  541.   uint16_t time;
  542.   uint8_t sendSecurityMode;
  543.   uint8_t receiveSecurityMode;
  544. } TOS_Msg;
  545. typedef struct TOS_Msg_TinySecCompat {
  546.   uint16_t addr;
  547.   uint8_t type;
  548.   uint8_t length;
  549.   uint8_t group;
  550.   int8_t data[29];
  551.   uint16_t crc;
  552.   uint16_t strength;
  553.   uint8_t ack;
  554.   uint16_t time;
  555.   uint8_t sendSecurityMode;
  556.   uint8_t receiveSecurityMode;
  557. } TOS_Msg_TinySecCompat;
  558. typedef struct TinySec_Msg {
  559.   uint16_t addr;
  560.   uint8_t type;
  561.   uint8_t length;
  562.   uint8_t iv[4];
  563.   uint8_t enc[29];
  564.   uint8_t mac[4];
  565.   uint8_t calc_mac[4];
  566.   uint8_t ack_byte;
  567.   bool cryptoDone;
  568.   bool receiveDone;
  569.   bool MACcomputed;
  570. } __attribute((packed))  TinySec_Msg;
  571. enum __nesc_unnamed4268 {
  572.   MSG_DATA_SIZE = (size_t )& ((struct TOS_Msg *)0)->crc + sizeof(uint16_t ), 
  573.   TINYSEC_MSG_DATA_SIZE = (size_t )& ((struct TinySec_Msg *)0)->mac + 4, 
  574.   DATA_LENGTH = 29, 
  575.   LENGTH_BYTE_NUMBER = (size_t )& ((struct TOS_Msg *)0)->length + 1, 
  576.   TINYSEC_NODE_ID_SIZE = sizeof(uint16_t )
  577. };
  578. enum __nesc_unnamed4269 {
  579.   TINYSEC_AUTH_ONLY = 1, 
  580.   TINYSEC_ENCRYPT_AND_AUTH = 2, 
  581.   TINYSEC_DISABLED = 3, 
  582.   TINYSEC_RECEIVE_AUTHENTICATED = 4, 
  583.   TINYSEC_RECEIVE_CRC = 5, 
  584.   TINYSEC_RECEIVE_ANY = 6, 
  585.   TINYSEC_ENABLED_BIT = 128, 
  586.   TINYSEC_ENCRYPT_ENABLED_BIT = 64
  587. } __attribute((packed)) ;
  588. typedef TOS_Msg *TOS_MsgPtr;
  589. # 39 "/home/testuser/tinyos-1.x/tos/interfaces/Timer.h"
  590. enum __nesc_unnamed4270 {
  591.   TIMER_REPEAT = 0, 
  592.   TIMER_ONE_SHOT = 1, 
  593.   NUM_TIMERS = 8
  594. };
  595. # 31 "/home/testuser/tinyos-1.x/tos/platform/avrmote/crc.h"
  596. uint16_t __attribute((__progmem__)) crcTable[256] = { 
  597. 0x0000, 0x1021, 0x2042, 0x3063, 0x4084, 0x50a5, 0x60c6, 0x70e7, 
  598. 0x8108, 0x9129, 0xa14a, 0xb16b, 0xc18c, 0xd1ad, 0xe1ce, 0xf1ef, 
  599. 0x1231, 0x0210, 0x3273, 0x2252, 0x52b5, 0x4294, 0x72f7, 0x62d6, 
  600. 0x9339, 0x8318, 0xb37b, 0xa35a, 0xd3bd, 0xc39c, 0xf3ff, 0xe3de, 
  601. 0x2462, 0x3443, 0x0420, 0x1401, 0x64e6, 0x74c7, 0x44a4, 0x5485, 
  602. 0xa56a, 0xb54b, 0x8528, 0x9509, 0xe5ee, 0xf5cf, 0xc5ac, 0xd58d, 
  603. 0x3653, 0x2672, 0x1611, 0x0630, 0x76d7, 0x66f6, 0x5695, 0x46b4, 
  604. 0xb75b, 0xa77a, 0x9719, 0x8738, 0xf7df, 0xe7fe, 0xd79d, 0xc7bc, 
  605. 0x48c4, 0x58e5, 0x6886, 0x78a7, 0x0840, 0x1861, 0x2802, 0x3823, 
  606. 0xc9cc, 0xd9ed, 0xe98e, 0xf9af, 0x8948, 0x9969, 0xa90a, 0xb92b, 
  607. 0x5af5, 0x4ad4, 0x7ab7, 0x6a96, 0x1a71, 0x0a50, 0x3a33, 0x2a12, 
  608. 0xdbfd, 0xcbdc, 0xfbbf, 0xeb9e, 0x9b79, 0x8b58, 0xbb3b, 0xab1a, 
  609. 0x6ca6, 0x7c87, 0x4ce4, 0x5cc5, 0x2c22, 0x3c03, 0x0c60, 0x1c41, 
  610. 0xedae, 0xfd8f, 0xcdec, 0xddcd, 0xad2a, 0xbd0b, 0x8d68, 0x9d49, 
  611. 0x7e97, 0x6eb6, 0x5ed5, 0x4ef4, 0x3e13, 0x2e32, 0x1e51, 0x0e70, 
  612. 0xff9f, 0xefbe, 0xdfdd, 0xcffc, 0xbf1b, 0xaf3a, 0x9f59, 0x8f78, 
  613. 0x9188, 0x81a9, 0xb1ca, 0xa1eb, 0xd10c, 0xc12d, 0xf14e, 0xe16f, 
  614. 0x1080, 0x00a1, 0x30c2, 0x20e3, 0x5004, 0x4025, 0x7046, 0x6067, 
  615. 0x83b9, 0x9398, 0xa3fb, 0xb3da, 0xc33d, 0xd31c, 0xe37f, 0xf35e, 
  616. 0x02b1, 0x1290, 0x22f3, 0x32d2, 0x4235, 0x5214, 0x6277, 0x7256, 
  617. 0xb5ea, 0xa5cb, 0x95a8, 0x8589, 0xf56e, 0xe54f, 0xd52c, 0xc50d, 
  618. 0x34e2, 0x24c3, 0x14a0, 0x0481, 0x7466, 0x6447, 0x5424, 0x4405, 
  619. 0xa7db, 0xb7fa, 0x8799, 0x97b8, 0xe75f, 0xf77e, 0xc71d, 0xd73c, 
  620. 0x26d3, 0x36f2, 0x0691, 0x16b0, 0x6657, 0x7676, 0x4615, 0x5634, 
  621. 0xd94c, 0xc96d, 0xf90e, 0xe92f, 0x99c8, 0x89e9, 0xb98a, 0xa9ab, 
  622. 0x5844, 0x4865, 0x7806, 0x6827, 0x18c0, 0x08e1, 0x3882, 0x28a3, 
  623. 0xcb7d, 0xdb5c, 0xeb3f, 0xfb1e, 0x8bf9, 0x9bd8, 0xabbb, 0xbb9a, 
  624. 0x4a75, 0x5a54, 0x6a37, 0x7a16, 0x0af1, 0x1ad0, 0x2ab3, 0x3a92, 
  625. 0xfd2e, 0xed0f, 0xdd6c, 0xcd4d, 0xbdaa, 0xad8b, 0x9de8, 0x8dc9, 
  626. 0x7c26, 0x6c07, 0x5c64, 0x4c45, 0x3ca2, 0x2c83, 0x1ce0, 0x0cc1, 
  627. 0xef1f, 0xff3e, 0xcf5d, 0xdf7c, 0xaf9b, 0xbfba, 0x8fd9, 0x9ff8, 
  628. 0x6e17, 0x7e36, 0x4e55, 0x5e74, 0x2e93, 0x3eb2, 0x0ed1, 0x1ef0 };
  629. static inline 
  630. uint16_t crcByte(uint16_t oldCrc, uint8_t byte);
  631. # 35 "/home/testuser/tinyos-1.x/tos/interfaces/ADC.h"
  632. enum __nesc_unnamed4271 {
  633.   TOS_ADCSample3750ns = 0, 
  634.   TOS_ADCSample7500ns = 1, 
  635.   TOS_ADCSample15us = 2, 
  636.   TOS_ADCSample30us = 3, 
  637.   TOS_ADCSample60us = 4, 
  638.   TOS_ADCSample120us = 5, 
  639.   TOS_ADCSample240us = 6, 
  640.   TOS_ADCSample480us = 7
  641. };
  642. # 33 "/home/testuser/tinyos-1.x/tos/platform/mica128/Clock.h"
  643. enum __nesc_unnamed4272 {
  644.   TOS_I1000PS = 32, TOS_S1000PS = 1, 
  645.   TOS_I100PS = 40, TOS_S100PS = 2, 
  646.   TOS_I10PS = 101, TOS_S10PS = 3, 
  647.   TOS_I1024PS = 0, TOS_S1024PS = 3, 
  648.   TOS_I512PS = 1, TOS_S512PS = 3, 
  649.   TOS_I256PS = 3, TOS_S256PS = 3, 
  650.   TOS_I128PS = 7, TOS_S128PS = 3, 
  651.   TOS_I64PS = 15, TOS_S64PS = 3, 
  652.   TOS_I32PS = 31, TOS_S32PS = 3, 
  653.   TOS_I16PS = 63, TOS_S16PS = 3, 
  654.   TOS_I8PS = 127, TOS_S8PS = 3, 
  655.   TOS_I4PS = 255, TOS_S4PS = 3, 
  656.   TOS_I2PS = 15, TOS_S2PS = 7, 
  657.   TOS_I1PS = 31, TOS_S1PS = 7, 
  658.   TOS_I0PS = 0, TOS_S0PS = 0
  659. };
  660. enum __nesc_unnamed4273 {
  661.   DEFAULT_SCALE = 3, DEFAULT_INTERVAL = 127
  662. };
  663. static  result_t PotM$Pot$init(uint8_t arg_0x8515e08);
  664. static  result_t HPLPotC$Pot$finalise(void);
  665. static  result_t HPLPotC$Pot$decrease(void);
  666. static  result_t HPLPotC$Pot$increase(void);
  667. static  result_t HPLInit$init(void);
  668. static   void TestBedTopologyM$Drand$gotFrame(void);
  669. static   void TestBedTopologyM$Drand$helloOver(void);
  670. static  result_t TestBedTopologyM$StdControl$init(void);
  671. static  result_t TestBedTopologyM$StdControl$start(void);
  672. static  result_t DrandM$drandRoundTimer$fired(void);
  673. static  TOS_MsgPtr DrandM$ReceiveReportMsg$receive(TOS_MsgPtr arg_0x856c0f0);
  674. static  TOS_MsgPtr DrandM$ReceiveRequestMsg$receive(TOS_MsgPtr arg_0x856c0f0);
  675. static  TOS_MsgPtr DrandM$ReceiveHelloMsg$receive(TOS_MsgPtr arg_0x856c0f0);
  676. static  result_t DrandM$SendGrantMsg$sendDone(TOS_MsgPtr arg_0x857b1d0, result_t arg_0x857b320);
  677. static  TOS_MsgPtr DrandM$ReceiveRejectMsg$receive(TOS_MsgPtr arg_0x856c0f0);
  678. static  TOS_MsgPtr DrandM$ReceiveGrantMsg$receive(TOS_MsgPtr arg_0x856c0f0);
  679. static  result_t DrandM$SendReportMsg$sendDone(TOS_MsgPtr arg_0x857b1d0, result_t arg_0x857b320);
  680. static  result_t DrandM$SendRequestMsg$sendDone(TOS_MsgPtr arg_0x857b1d0, result_t arg_0x857b320);
  681. static  TOS_MsgPtr DrandM$ReceiveReleaseMsg$receive(TOS_MsgPtr arg_0x856c0f0);
  682. static  result_t DrandM$SendRejectMsg$sendDone(TOS_MsgPtr arg_0x857b1d0, result_t arg_0x857b320);
  683. static  TOS_MsgPtr DrandM$ReceiveTwoHopMsg$receive(TOS_MsgPtr arg_0x856c0f0);
  684. static  result_t DrandM$SendHelloMsg$sendDone(TOS_MsgPtr arg_0x857b1d0, result_t arg_0x857b320);
  685. static  result_t DrandM$SendReleaseMsg$sendDone(TOS_MsgPtr arg_0x857b1d0, result_t arg_0x857b320);
  686. static  result_t DrandM$roundTimer$fired(void);
  687. static  result_t DrandM$reXTimer$fired(void);
  688. static  result_t DrandM$SendTwoHopMsg$sendDone(TOS_MsgPtr arg_0x857b1d0, result_t arg_0x857b320);
  689. static  TOS_MsgPtr DrandM$ReceiveFrameMsg$receive(TOS_MsgPtr arg_0x856c0f0);
  690. static   result_t DrandM$SClock$syncDone(void);
  691. static   result_t DrandM$SClock$fire(uint16_t arg_0x8585230);
  692. static  result_t DrandM$StdControl$init(void);
  693. static  result_t DrandM$StdControl$start(void);
  694. static  result_t DrandM$SendFrameMsg$sendDone(TOS_MsgPtr arg_0x857b1d0, result_t arg_0x857b320);
  695. static  TOS_MsgPtr AMStandard$ReceiveMsg$default$receive(uint8_t arg_0x86aab68, TOS_MsgPtr arg_0x856c0f0);
  696. static  result_t AMStandard$ActivityTimer$fired(void);
  697. static  result_t AMStandard$UARTSend$sendDone(TOS_MsgPtr arg_0x86bed88, result_t arg_0x86beed8);
  698. static  TOS_MsgPtr AMStandard$RadioReceive$receive(TOS_MsgPtr arg_0x856c0f0);
  699. static  result_t AMStandard$Control$init(void);
  700. static  result_t AMStandard$Control$start(void);
  701. static  result_t AMStandard$default$sendDone(void);
  702. static  result_t AMStandard$RadioSend$sendDone(TOS_MsgPtr arg_0x86bed88, result_t arg_0x86beed8);
  703. static  result_t AMStandard$SendMsg$send(uint8_t arg_0x86aa5b0, uint16_t arg_0x857ab18, uint8_t arg_0x857ac60, TOS_MsgPtr arg_0x857adb0);
  704. static  result_t AMStandard$SendMsg$default$sendDone(uint8_t arg_0x86aa5b0, TOS_MsgPtr arg_0x857b1d0, result_t arg_0x857b320);
  705. static  TOS_MsgPtr AMStandard$UARTReceive$receive(TOS_MsgPtr arg_0x856c0f0);
  706. static  result_t CC1000RadioIntM$SquelchTimer$fired(void);
  707. static   uint16_t CC1000RadioIntM$GetSquelch(void);
  708. static  result_t CC1000RadioIntM$Send$send(TOS_MsgPtr arg_0x86be870);
  709. static  result_t CC1000RadioIntM$TDMATimer$fired(void);
  710. static   result_t CC1000RadioIntM$SpiByteFifo$dataReady(uint8_t arg_0x8713520);
  711. static  result_t CC1000RadioIntM$WakeupTimer$fired(void);
  712. static   void CC1000RadioIntM$RadioReceiveCoordinator$default$byte(TOS_MsgPtr arg_0x86d4f68, uint8_t arg_0x86d50b8);
  713. static   void CC1000RadioIntM$RadioReceiveCoordinator$default$blockTimer(void);
  714. static   void CC1000RadioIntM$RadioReceiveCoordinator$default$startSymbol(uint8_t arg_0x86d4858, uint8_t arg_0x86d49a0, TOS_MsgPtr arg_0x86d4af0);
  715. static   void CC1000RadioIntM$RadioSendCoordinator$default$byte(TOS_MsgPtr arg_0x86d4f68, uint8_t arg_0x86d50b8);
  716. static   void CC1000RadioIntM$RadioSendCoordinator$default$blockTimer(void);
  717. static   void CC1000RadioIntM$RadioSendCoordinator$default$startSymbol(uint8_t arg_0x86d4858, uint8_t arg_0x86d49a0, TOS_MsgPtr arg_0x86d4af0);
  718. static   result_t CC1000RadioIntM$SClock$syncDone(void);
  719. static   result_t CC1000RadioIntM$SClock$fire(uint16_t arg_0x8585230);
  720. static  result_t CC1000RadioIntM$StdControl$init(void);
  721. static  result_t CC1000RadioIntM$StdControl$start(void);
  722. static   result_t CC1000RadioIntM$RSSIADC$dataReady(uint16_t arg_0x86fa7d8);
  723. static   int16_t CC1000RadioIntM$MacBackoff$default$initialBackoff(TOS_MsgPtr arg_0x86d6c88);
  724. static   int16_t CC1000RadioIntM$MacBackoff$default$congestionBackoff(TOS_MsgPtr arg_0x86d70b0);
  725. static  result_t CC1000ControlM$CC1000Control$SetRFPower(uint8_t arg_0x85440e8);
  726. static  bool CC1000ControlM$CC1000Control$GetLOStatus(void);
  727. static  result_t CC1000ControlM$CC1000Control$TunePreset(uint8_t arg_0x853c680);
  728. static   result_t CC1000ControlM$CC1000Control$RxMode(void);
  729. static  result_t CC1000ControlM$CC1000Control$BIASOn(void);
  730. static   result_t CC1000ControlM$CC1000Control$TxMode(void);
  731. static  result_t CC1000ControlM$CC1000Control$SelectLock(uint8_t arg_0x8544980);
  732. static  result_t CC1000ControlM$StdControl$init(void);
  733. static  result_t CC1000ControlM$StdControl$start(void);
  734. static  result_t CC1000ControlM$StdControl$stop(void);
  735. static  result_t HPLCC1000M$HPLCC1000$init(void);
  736. static   uint8_t HPLCC1000M$HPLCC1000$read(uint8_t arg_0x8873158);
  737. static   result_t HPLCC1000M$HPLCC1000$write(uint8_t arg_0x8872ba0, uint8_t arg_0x8872ce8);
  738. static   uint16_t RandomLFSR$Random$rand(void);
  739. static   result_t RandomLFSR$Random$init(void);
  740. static   result_t ADCREFM$HPLADC$dataReady(uint16_t arg_0x88c8548);
  741. static   result_t ADCREFM$CalADC$default$dataReady(uint8_t arg_0x86d1290, uint16_t arg_0x86fa7d8);
  742. static  result_t ADCREFM$ADCControl$bindPort(uint8_t arg_0x86fe5c0, uint8_t arg_0x86fe708);
  743. static  result_t ADCREFM$ADCControl$init(void);
  744. static   result_t ADCREFM$ADCControl$manualCalibrate(void);
  745. static   result_t ADCREFM$ADC$getData(uint8_t arg_0x86d0c08);
  746. static   result_t ADCREFM$ADC$default$dataReady(uint8_t arg_0x86d0c08, uint16_t arg_0x86fa7d8);
  747. static  result_t ADCREFM$Timer$fired(void);
  748. static   result_t HPLADCM$ADC$bindPort(uint8_t arg_0x88ab3d0, uint8_t arg_0x88ab518);
  749. static   result_t HPLADCM$ADC$init(void);
  750. static   result_t HPLADCM$ADC$samplePort(uint8_t arg_0x88aba00);
  751. static   result_t TimerM$Clock$fire(void);
  752. static  result_t TimerM$StdControl$init(void);
  753. static  result_t TimerM$StdControl$start(void);
  754. static  result_t TimerM$Timer$default$fired(uint8_t arg_0x88d4158);
  755. static  result_t TimerM$Timer$start(uint8_t arg_0x88d4158, char arg_0x85800e0, uint32_t arg_0x8580238);
  756. static  result_t TimerM$Timer$stop(uint8_t arg_0x88d4158);
  757. static   void HPLClock$Clock$setInterval(uint8_t arg_0x88f08c8);
  758. static   uint8_t HPLClock$Clock$readCounter(void);
  759. static   result_t HPLClock$Clock$setRate(char arg_0x8913d88, char arg_0x8913ec8);
  760. static   uint8_t HPLClock$Clock$getInterval(void);
  761. static   result_t NoLeds$Leds$redToggle(void);
  762. static   uint8_t HPLPowerManagementM$PowerManagement$adjustPower(void);
  763. static   result_t HPLSpiM$SpiByteFifo$initSlave(void);
  764. static   result_t HPLSpiM$SpiByteFifo$disableIntr(void);
  765. static   result_t HPLSpiM$SpiByteFifo$writeByte(uint8_t arg_0x86fbd50);
  766. static   result_t HPLSpiM$SpiByteFifo$enableIntr(void);
  767. static   result_t HPLSpiM$SpiByteFifo$txMode(void);
  768. static   result_t HPLSpiM$SpiByteFifo$rxMode(void);
  769. static   void HPLSClock$SClock$getTime(GTime *arg_0x8584228);
  770. static   void HPLSClock$SClock$setTime(uint8_t arg_0x8584670, GTime *arg_0x85847d0);
  771. static   result_t HPLSClock$SClock$SetRate(uint16_t arg_0x857f4a8, char arg_0x857f5e8);
  772. static   result_t FramerM$ByteComm$txDone(void);
  773. static   result_t FramerM$ByteComm$txByteReady(bool arg_0x8978ad8);
  774. static   result_t FramerM$ByteComm$rxByteReady(uint8_t arg_0x8978308, bool arg_0x8978450, uint16_t arg_0x89785a8);
  775. static  result_t FramerM$BareSendMsg$send(TOS_MsgPtr arg_0x86be870);
  776. static  result_t FramerM$StdControl$init(void);
  777. static  result_t FramerM$StdControl$start(void);
  778. static  result_t FramerM$TokenReceiveMsg$ReflectToken(uint8_t arg_0x897a0e8);
  779. static  TOS_MsgPtr FramerAckM$ReceiveMsg$receive(TOS_MsgPtr arg_0x856c0f0);
  780. static  TOS_MsgPtr FramerAckM$TokenReceiveMsg$receive(TOS_MsgPtr arg_0x897f970, uint8_t arg_0x897fab8);
  781. static   result_t UARTM$HPLUART$get(uint8_t arg_0x89be800);
  782. static   result_t UARTM$HPLUART$putDone(void);
  783. static   result_t UARTM$ByteComm$txByte(uint8_t arg_0x897bdd8);
  784. static  result_t UARTM$Control$init(void);
  785. static  result_t UARTM$Control$start(void);
  786. static   result_t HPLUART0M$UART$init(void);
  787. static   result_t HPLUART0M$UART$put(uint8_t arg_0x89be300);
  788. static  
  789. # 47 "/home/testuser/tinyos-1.x/tos/system/RealMain.nc"
  790. result_t RealMain$hardwareInit(void);
  791. static  
  792. # 78 "/home/testuser/tinyos-1.x/tos/interfaces/Pot.nc"
  793. result_t RealMain$Pot$init(uint8_t arg_0x8515e08);
  794. static  
  795. # 63 "/home/testuser/tinyos-1.x/tos/interfaces/StdControl.nc"
  796. result_t RealMain$StdControl$init(void);
  797. static  
  798. result_t RealMain$StdControl$start(void);
  799. # 54 "/home/testuser/tinyos-1.x/tos/system/RealMain.nc"
  800. int   main(void);
  801. static  
  802. # 74 "/home/testuser/tinyos-1.x/tos/interfaces/HPLPot.nc"
  803. result_t PotM$HPLPot$finalise(void);
  804. static  
  805. #line 59
  806. result_t PotM$HPLPot$decrease(void);
  807. static  
  808. result_t PotM$HPLPot$increase(void);
  809. # 91 "/home/testuser/tinyos-1.x/tos/system/PotM.nc"
  810. uint8_t PotM$potSetting;
  811. static inline 
  812. void PotM$setPot(uint8_t value);
  813. static inline  
  814. #line 106
  815. result_t PotM$Pot$init(uint8_t initialSetting);
  816. static inline  
  817. # 57 "../../tos/platform/mica2/HPLPotC.nc"
  818. result_t HPLPotC$Pot$decrease(void);
  819. static inline  
  820. result_t HPLPotC$Pot$increase(void);
  821. static inline  
  822. result_t HPLPotC$Pot$finalise(void);
  823. static inline  
  824. # 57 "/home/testuser/tinyos-1.x/tos/platform/avrmote/HPLInit.nc"
  825. result_t HPLInit$init(void);
  826. static  
  827. # 63 "/home/testuser/tinyos-1.x/tos/interfaces/StdControl.nc"
  828. result_t TestBedTopologyM$SubControl$init(void);
  829. static  
  830. result_t TestBedTopologyM$SubControl$start(void);
  831. static  
  832. # 150 "../../tos/platform/mica2/CC1000Control.nc"
  833. result_t TestBedTopologyM$RFset$SetRFPower(uint8_t arg_0x85440e8);
  834. static inline  
  835. # 15 "TestBedTopologyM.nc"
  836. result_t TestBedTopologyM$StdControl$init(void);
  837. static inline  
  838. result_t TestBedTopologyM$StdControl$start(void);
  839. static inline   
  840. #line 32
  841. void TestBedTopologyM$Drand$gotFrame(void);
  842. static inline   void TestBedTopologyM$Drand$helloOver(void);
  843. static  
  844. # 59 "/home/testuser/tinyos-1.x/tos/interfaces/Timer.nc"
  845. result_t DrandM$drandRoundTimer$start(char arg_0x85800e0, uint32_t arg_0x8580238);
  846. static  
  847. result_t DrandM$drandRoundTimer$stop(void);
  848. static   
  849. # 5 "../../tos/interfaces/Drand.nc"
  850. void DrandM$Drand$gotFrame(void);
  851. static   void DrandM$Drand$helloOver(void);
  852. static  
  853. # 48 "/home/testuser/tinyos-1.x/tos/interfaces/SendMsg.nc"
  854. result_t DrandM$SendGrantMsg$send(uint16_t arg_0x857ab18, uint8_t arg_0x857ac60, TOS_MsgPtr arg_0x857adb0);
  855. static  
  856. #line 48
  857. result_t DrandM$SendReportMsg$send(uint16_t arg_0x857ab18, uint8_t arg_0x857ac60, TOS_MsgPtr arg_0x857adb0);
  858. static  
  859. #line 48
  860. result_t DrandM$SendRequestMsg$send(uint16_t arg_0x857ab18, uint8_t arg_0x857ac60, TOS_MsgPtr arg_0x857adb0);
  861. static  
  862. #line 48
  863. result_t DrandM$SendRejectMsg$send(uint16_t arg_0x857ab18, uint8_t arg_0x857ac60, TOS_MsgPtr arg_0x857adb0);
  864. static  
  865. #line 48
  866. result_t DrandM$SendHelloMsg$send(uint16_t arg_0x857ab18, uint8_t arg_0x857ac60, TOS_MsgPtr arg_0x857adb0);
  867. static  
  868. #line 48
  869. result_t DrandM$SendReleaseMsg$send(uint16_t arg_0x857ab18, uint8_t arg_0x857ac60, TOS_MsgPtr arg_0x857adb0);
  870. static  
  871. # 59 "/home/testuser/tinyos-1.x/tos/interfaces/Timer.nc"
  872. result_t DrandM$roundTimer$start(char arg_0x85800e0, uint32_t arg_0x8580238);
  873. static  
  874. #line 59
  875. result_t DrandM$reXTimer$start(char arg_0x85800e0, uint32_t arg_0x8580238);
  876. static  
  877. result_t DrandM$reXTimer$stop(void);
  878. static  
  879. # 48 "/home/testuser/tinyos-1.x/tos/interfaces/SendMsg.nc"
  880. result_t DrandM$SendTwoHopMsg$send(uint16_t arg_0x857ab18, uint8_t arg_0x857ac60, TOS_MsgPtr arg_0x857adb0);
  881. static   
  882. # 63 "../../tos/interfaces/SClock.nc"
  883. void DrandM$SClock$getTime(GTime *arg_0x8584228);
  884. static  
  885. # 48 "/home/testuser/tinyos-1.x/tos/interfaces/SendMsg.nc"
  886. result_t DrandM$SendFrameMsg$send(uint16_t arg_0x857ab18, uint8_t arg_0x857ac60, TOS_MsgPtr arg_0x857adb0);
  887. # 43 "/usr/lib/gcc-lib/avr/3.3/include/stdarg.h" 3
  888. typedef __builtin_va_list DrandM$__gnuc_va_list;
  889. #line 105
  890. typedef DrandM$__gnuc_va_list DrandM$va_list;
  891. # 8 "../../tos/interfaces/SODebug.h"
  892. char DrandM$debugbuf[256];
  893. static inline 
  894. void DrandM$init_debug(void);
  895. static 
  896. #line 35
  897. void DrandM$UARTPutChar(char c);
  898. static 
  899. void DrandM$writedebug(void);
  900. static 
  901. int DrandM$sprintf(uint8_t *buf, const uint8_t *format, ...);
  902. # 43 "../../tos/system/DrandM.nc"
  903. struct TOS_Msg DrandM$DataPkt;
  904. uint8_t DrandM$globalState;
  905. bool DrandM$setMySlot;
  906. #line 46
  907. bool DrandM$gotAllFrames;
  908. uint8_t DrandM$OneWayId[MAX_NBR];
  909. uint8_t DrandM$TwoWayId[MAX_NBR];
  910. nodeInfo DrandM$nbrInfo[MAX_NBR];
  911. #line 51
  912. nodeInfo DrandM$myInfo;
  913. uint8_t DrandM$requestFireCount;
  914. #line 53
  915. uint8_t DrandM$grantFireCount;
  916. #line 53
  917. uint8_t DrandM$frameFireCount;
  918. #line 53
  919. uint8_t DrandM$reportFireCount;
  920. uint16_t DrandM$OTT;
  921. #line 54
  922. uint16_t DrandM$ROUND_TIME;
  923. #line 54
  924. uint16_t DrandM$REQUEST_TIME;
  925. #line 54
  926. uint16_t DrandM$GRANT_TIME;
  927. GTime DrandM$requestStartTime;
  928. #line 55
  929. GTime DrandM$locTime;
  930. #line 55
  931. GTime DrandM$drandStartTime;
  932. #line 55
  933. GTime DrandM$drandRunTime;
  934. uint16_t DrandM$shiftReg;
  935. #line 56
  936. uint16_t DrandM$mask;
  937. GTime DrandM$roundStartTime;
  938. uint8_t DrandM$reqCount;
  939. #line 59
  940. uint8_t DrandM$graCount;
  941. #line 59
  942. uint8_t DrandM$rejCount;
  943. #line 59
  944. uint8_t DrandM$relCount;
  945. #line 59
  946. uint8_t DrandM$twoCount;
  947. #line 59
  948. uint8_t DrandM$reqXCount;
  949. #line 59
  950. uint8_t DrandM$graXCount;
  951. bool DrandM$reqX;
  952. #line 60
  953. bool DrandM$graX;
  954. uint8_t DrandM$roundNum;
  955. bool DrandM$sendBusy;
  956. #line 64
  957. bool DrandM$drandFinishedFirstTime;
  958. #line 64
  959. bool DrandM$reportFinishedFirstTime;
  960. #line 64
  961. bool DrandM$sentRelease;
  962. #line 64
  963. bool DrandM$firstGrant;
  964. uint8_t DrandM$lastReqID;
  965. static 
  966. GTime DrandM$timeDiff(GTime A, GTime B);
  967. static 
  968. #line 109
  969. void DrandM$printNbrInfo(void);
  970. static 
  971. #line 146
  972. void DrandM$timeCheck(void);
  973. static 
  974. #line 204
  975. int DrandM$isPresentHelloID(uint8_t node, uint8_t *array, uint8_t max);
  976. static inline 
  977. bool DrandM$checkForRetransGrant(requestMsg *reqMsgPtr);
  978. static inline 
  979. bool DrandM$checkForRetransReport(void);
  980. static inline 
  981. #line 233
  982. bool DrandM$checkForRetransFrame(void);
  983. static 
  984. #line 245
  985. uint8_t DrandM$getMaxSlot(void);
  986. static 
  987. void DrandM$addNode(uint8_t nodeID, uint8_t type);
  988. static 
  989. #line 271
  990. void DrandM$removeNode(uint8_t nodeID, uint8_t type);
  991. static inline 
  992. #line 283
  993. void DrandM$initializeGrantSent(void);
  994. static 
  995. uint8_t DrandM$numGrantsRemaining(void);
  996. static inline 
  997. #line 302
  998. uint8_t DrandM$numOneHop(void);
  999. static 
  1000. bool DrandM$updateNeighborInfo(uint8_t nID, uint8_t slot);
  1001. static inline 
  1002. void DrandM$fillGrantSendInfo(uint8_t *array);
  1003. static inline 
  1004. void DrandM$fillTimeSlotInfo(uint8_t *array);
  1005. static inline 
  1006. void DrandM$fillFrameInfo(frameMsg *pkt);
  1007. static inline 
  1008. #line 355
  1009. void DrandM$fillTimeSlotInfoForReport(uint8_t *array);
  1010. static 
  1011. void DrandM$addHelloID(uint8_t node, uint8_t *array);
  1012. static 
  1013. #line 380
  1014. void DrandM$removeHelloID(uint8_t node, uint8_t *array);
  1015. static 
  1016. #line 392
  1017. int DrandM$isPresent(uint8_t nodeID, uint8_t type);
  1018. static 
  1019. uint8_t DrandM$getContenders(void);
  1020. static inline 
  1021. void DrandM$removeNodesForRequest(void);
  1022. static inline 
  1023. #line 424
  1024. void DrandM$removeNodeForGrant(uint8_t nodeID);
  1025. static 
  1026. #line 440
  1027. void DrandM$removeNodesForReport(void);
  1028. static inline 
  1029. #line 454
  1030. void DrandM$removeNodesForFrame(void);
  1031. static inline 
  1032. #line 468
  1033. void DrandM$updateNeighborInfoForReport(int nIndex, reportMsg *pkt);
  1034. static inline 
  1035. #line 485
  1036. void DrandM$updateNeighborInfoForFrame(uint8_t nIndex, frameMsg *pkt);
  1037. static 
  1038. #line 501
  1039. uint16_t DrandM$randNew(void);
  1040. static inline  
  1041. #line 517
  1042. result_t DrandM$StdControl$init(void);
  1043. static inline  
  1044. #line 565
  1045. result_t DrandM$StdControl$start(void);
  1046. static 
  1047. #line 579
  1048. void DrandM$sendHelloMsg(void);
  1049. static 
  1050. #line 616
  1051. void DrandM$sendRequestMsg(void);
  1052. static inline 
  1053. #line 648
  1054. void DrandM$sendRejectMsg(uint8_t msgADDR);
  1055. static 
  1056. #line 670
  1057. void DrandM$sendReleaseMsg(uint8_t slot);
  1058. static 
  1059. #line 693
  1060. void DrandM$setSlot(void);
  1061. static 
  1062. #line 722
  1063. void DrandM$setFrame(void);
  1064. static inline 
  1065. #line 738
  1066. void DrandM$sendTwoHopMsg(uint8_t slot, uint8_t sendID);
  1067. static inline 
  1068. #line 761
  1069. void DrandM$sendGrantMsg(uint8_t msgADDR);
  1070. static 
  1071. #line 792
  1072. void DrandM$sendReportMsg(uint8_t type);
  1073. static 
  1074. #line 817
  1075. void DrandM$sendFrameMsg(uint8_t frameType);
  1076. static inline  
  1077. #line 842
  1078. result_t DrandM$SendHelloMsg$sendDone(TOS_MsgPtr msg, result_t success);
  1079. static inline  
  1080. #line 856
  1081. result_t DrandM$SendRequestMsg$sendDone(TOS_MsgPtr msg, result_t success);
  1082. static inline  
  1083. #line 886
  1084. result_t DrandM$SendRejectMsg$sendDone(TOS_MsgPtr msg, result_t success);
  1085. static inline  
  1086. #line 910
  1087. result_t DrandM$SendReleaseMsg$sendDone(TOS_MsgPtr msg, result_t success);
  1088. static inline  
  1089. #line 932
  1090. result_t DrandM$SendTwoHopMsg$sendDone(TOS_MsgPtr msg, result_t success);
  1091. static inline  
  1092. #line 954
  1093. result_t DrandM$SendGrantMsg$sendDone(TOS_MsgPtr msg, result_t success);
  1094. static inline  
  1095. #line 984
  1096. result_t DrandM$SendReportMsg$sendDone(TOS_MsgPtr msg, result_t success);
  1097. static inline  
  1098. #line 1002
  1099. result_t DrandM$SendFrameMsg$sendDone(TOS_MsgPtr msg, result_t success);
  1100. static inline  
  1101. #line 1017
  1102. TOS_MsgPtr DrandM$ReceiveHelloMsg$receive(TOS_MsgPtr m);
  1103. static inline  
  1104. #line 1098
  1105. TOS_MsgPtr DrandM$ReceiveRequestMsg$receive(TOS_MsgPtr m);
  1106. static inline  
  1107. #line 1149
  1108. TOS_MsgPtr DrandM$ReceiveRejectMsg$receive(TOS_MsgPtr m);
  1109. static  
  1110. #line 1177
  1111. TOS_MsgPtr DrandM$ReceiveReleaseMsg$receive(TOS_MsgPtr m);
  1112. static inline  
  1113. #line 1215
  1114. TOS_MsgPtr DrandM$ReceiveTwoHopMsg$receive(TOS_MsgPtr m);
  1115. static inline  
  1116. #line 1236
  1117. TOS_MsgPtr DrandM$ReceiveGrantMsg$receive(TOS_MsgPtr m);
  1118. static 
  1119. #line 1308
  1120. void DrandM$reXFrame(void);
  1121. static 
  1122. #line 1331
  1123. void DrandM$reXReport(void);
  1124. static inline  
  1125. #line 1347
  1126. TOS_MsgPtr DrandM$ReceiveReportMsg$receive(TOS_MsgPtr m);
  1127. static inline  
  1128. #line 1373
  1129. TOS_MsgPtr DrandM$ReceiveFrameMsg$receive(TOS_MsgPtr m);
  1130. static inline 
  1131. #line 1393
  1132. void DrandM$reXHello(void);
  1133. static inline 
  1134. void DrandM$reXRequest(void);
  1135. static inline 
  1136. #line 1425
  1137. void DrandM$reXGrant(void);
  1138. static inline 
  1139. #line 1454
  1140. void DrandM$helloOver(void);
  1141. static inline 
  1142. #line 1498
  1143. void DrandM$drandRoundOver(void);
  1144. static inline  
  1145. #line 1537
  1146. result_t DrandM$reXTimer$fired(void);
  1147. static inline  
  1148. #line 1560
  1149. result_t DrandM$roundTimer$fired(void);
  1150. static inline  
  1151. #line 1582
  1152. result_t DrandM$drandRoundTimer$fired(void);
  1153. static inline   
  1154. #line 1601
  1155. result_t DrandM$SClock$syncDone(void);
  1156. static inline   result_t DrandM$SClock$fire(uint16_t mticks);
  1157. static  
  1158. # 75 "/home/testuser/tinyos-1.x/tos/interfaces/ReceiveMsg.nc"
  1159. TOS_MsgPtr AMStandard$ReceiveMsg$receive(
  1160. # 56 "/home/testuser/tinyos-1.x/tos/system/AMStandard.nc"
  1161. uint8_t arg_0x86aab68, 
  1162. # 75 "/home/testuser/tinyos-1.x/tos/interfaces/ReceiveMsg.nc"
  1163. TOS_MsgPtr arg_0x856c0f0);
  1164. static  
  1165. # 59 "/home/testuser/tinyos-1.x/tos/interfaces/Timer.nc"
  1166. result_t AMStandard$ActivityTimer$start(char arg_0x85800e0, uint32_t arg_0x8580238);
  1167. static  
  1168. # 58 "/home/testuser/tinyos-1.x/tos/interfaces/BareSendMsg.nc"
  1169. result_t AMStandard$UARTSend$send(TOS_MsgPtr arg_0x86be870);
  1170. static   
  1171. # 41 "/home/testuser/tinyos-1.x/tos/interfaces/PowerManagement.nc"
  1172. uint8_t AMStandard$PowerManagement$adjustPower(void);
  1173. static  
  1174. # 63 "/home/testuser/tinyos-1.x/tos/interfaces/StdControl.nc"
  1175. result_t AMStandard$RadioControl$init(void);
  1176. static  
  1177. result_t AMStandard$RadioControl$start(void);
  1178. static  
  1179. #line 63
  1180. result_t AMStandard$TimerControl$init(void);
  1181. static  
  1182. result_t AMStandard$TimerControl$start(void);
  1183. static  
  1184. #line 63
  1185. result_t AMStandard$UARTControl$init(void);
  1186. static  
  1187. result_t AMStandard$UARTControl$start(void);
  1188. static  
  1189. # 65 "/home/testuser/tinyos-1.x/tos/system/AMStandard.nc"
  1190. result_t AMStandard$sendDone(void);
  1191. static  
  1192. # 58 "/home/testuser/tinyos-1.x/tos/interfaces/BareSendMsg.nc"
  1193. result_t AMStandard$RadioSend$send(TOS_MsgPtr arg_0x86be870);
  1194. static  
  1195. # 49 "/home/testuser/tinyos-1.x/tos/interfaces/SendMsg.nc"
  1196. result_t AMStandard$SendMsg$sendDone(
  1197. # 55 "/home/testuser/tinyos-1.x/tos/system/AMStandard.nc"
  1198. uint8_t arg_0x86aa5b0, 
  1199. # 49 "/home/testuser/tinyos-1.x/tos/interfaces/SendMsg.nc"
  1200. TOS_MsgPtr arg_0x857b1d0, result_t arg_0x857b320);
  1201. # 81 "/home/testuser/tinyos-1.x/tos/system/AMStandard.nc"
  1202. bool AMStandard$state;
  1203. TOS_MsgPtr AMStandard$buffer;
  1204. uint16_t AMStandard$lastCount;
  1205. uint16_t AMStandard$counter;
  1206. static inline  
  1207. bool AMStandard$Control$init(void);
  1208. static inline  
  1209. #line 103
  1210. bool AMStandard$Control$start(void);
  1211. static inline 
  1212. #line 132
  1213. void AMStandard$dbgPacket(TOS_MsgPtr data);
  1214. static 
  1215. result_t AMStandard$reportSendDone(TOS_MsgPtr msg, result_t success);
  1216. static inline  
  1217. result_t AMStandard$ActivityTimer$fired(void);
  1218. static inline   
  1219. result_t AMStandard$SendMsg$default$sendDone(uint8_t id, TOS_MsgPtr msg, result_t success);
  1220. static inline   
  1221. result_t AMStandard$default$sendDone(void);
  1222. static inline  
  1223. void AMStandard$sendTask(void);
  1224. static  
  1225. #line 179
  1226. result_t AMStandard$SendMsg$send(uint8_t id, uint16_t addr, uint8_t length, TOS_MsgPtr data);
  1227. static inline  
  1228. #line 207
  1229. result_t AMStandard$UARTSend$sendDone(TOS_MsgPtr msg, result_t success);
  1230. static inline  
  1231. result_t AMStandard$RadioSend$sendDone(TOS_MsgPtr msg, result_t success);
  1232. TOS_MsgPtr   received(TOS_MsgPtr packet);
  1233. static inline   
  1234. #line 242
  1235. TOS_MsgPtr AMStandard$ReceiveMsg$default$receive(uint8_t id, TOS_MsgPtr msg);
  1236. static inline  
  1237. TOS_MsgPtr AMStandard$UARTReceive$receive(TOS_MsgPtr packet);
  1238. static inline  
  1239. TOS_MsgPtr AMStandard$RadioReceive$receive(TOS_MsgPtr packet);
  1240. static  
  1241. # 59 "/home/testuser/tinyos-1.x/tos/interfaces/Timer.nc"
  1242. result_t CC1000RadioIntM$SquelchTimer$start(char arg_0x85800e0, uint32_t arg_0x8580238);
  1243. static  
  1244. result_t CC1000RadioIntM$SquelchTimer$stop(void);
  1245. static  
  1246. # 67 "/home/testuser/tinyos-1.x/tos/interfaces/BareSendMsg.nc"
  1247. result_t CC1000RadioIntM$Send$sendDone(TOS_MsgPtr arg_0x86bed88, result_t arg_0x86beed8);
  1248. static   
  1249. # 63 "/home/testuser/tinyos-1.x/tos/interfaces/Random.nc"
  1250. uint16_t CC1000RadioIntM$Random$rand(void);
  1251. static   
  1252. #line 57
  1253. result_t CC1000RadioIntM$Random$init(void);
  1254. static  
  1255. # 116 "../../tos/platform/mica2/ADCControl.nc"
  1256. result_t CC1000RadioIntM$ADCControl$bindPort(uint8_t arg_0x86fe5c0, uint8_t arg_0x86fe708);
  1257. static  
  1258. #line 77
  1259. result_t CC1000RadioIntM$ADCControl$init(void);
  1260. static  
  1261. # 59 "/home/testuser/tinyos-1.x/tos/interfaces/Timer.nc"
  1262. result_t CC1000RadioIntM$TDMATimer$start(char arg_0x85800e0, uint32_t arg_0x8580238);
  1263. static  
  1264. # 63 "/home/testuser/tinyos-1.x/tos/interfaces/StdControl.nc"
  1265. result_t CC1000RadioIntM$CC1000StdControl$init(void);
  1266. static  
  1267. result_t CC1000RadioIntM$CC1000StdControl$start(void);
  1268. static  
  1269. result_t CC1000RadioIntM$CC1000StdControl$stop(void);
  1270. static  
  1271. #line 63
  1272. result_t CC1000RadioIntM$TimerControl$init(void);
  1273. static  
  1274. # 75 "/home/testuser/tinyos-1.x/tos/interfaces/ReceiveMsg.nc"
  1275. TOS_MsgPtr CC1000RadioIntM$Receive$receive(TOS_MsgPtr arg_0x856c0f0);
  1276. static   
  1277. # 38 "../../tos/platform/mica2/SpiByteFifo.nc"
  1278. result_t CC1000RadioIntM$SpiByteFifo$initSlave(void);
  1279. static   
  1280. #line 37
  1281. result_t CC1000RadioIntM$SpiByteFifo$disableIntr(void);
  1282. static   
  1283. #line 33
  1284. result_t CC1000RadioIntM$SpiByteFifo$writeByte(uint8_t arg_0x86fbd50);
  1285. static   
  1286. result_t CC1000RadioIntM$SpiByteFifo$enableIntr(void);
  1287. static   
  1288. result_t CC1000RadioIntM$SpiByteFifo$txMode(void);
  1289. static   result_t CC1000RadioIntM$SpiByteFifo$rxMode(void);
  1290. static  
  1291. # 59 "/home/testuser/tinyos-1.x/tos/interfaces/Timer.nc"
  1292. result_t CC1000RadioIntM$WakeupTimer$start(char arg_0x85800e0, uint32_t arg_0x8580238);
  1293. static  
  1294. result_t CC1000RadioIntM$WakeupTimer$stop(void);
  1295. static   
  1296. # 36 "../../tos/platform/mica2/RadioCoordinator.nc"
  1297. void CC1000RadioIntM$RadioReceiveCoordinator$byte(TOS_MsgPtr arg_0x86d4f68, uint8_t arg_0x86d50b8);
  1298. static   
  1299. void CC1000RadioIntM$RadioReceiveCoordinator$blockTimer(void);
  1300. static   
  1301. #line 31
  1302. void CC1000RadioIntM$RadioReceiveCoordinator$startSymbol(uint8_t arg_0x86d4858, uint8_t arg_0x86d49a0, TOS_MsgPtr arg_0x86d4af0);
  1303. static   
  1304. # 81 "/home/testuser/tinyos-1.x/tos/interfaces/Leds.nc"
  1305. result_t CC1000RadioIntM$Leds$redToggle(void);
  1306. static  
  1307. # 190 "../../tos/platform/mica2/CC1000Control.nc"
  1308. bool CC1000RadioIntM$CC1000Control$GetLOStatus(void);
  1309. static   
  1310. #line 116
  1311. result_t CC1000RadioIntM$CC1000Control$RxMode(void);
  1312. static  
  1313. #line 137
  1314. result_t CC1000RadioIntM$CC1000Control$BIASOn(void);
  1315. static   
  1316. #line 108
  1317. result_t CC1000RadioIntM$CC1000Control$TxMode(void);
  1318. static  
  1319. #line 170
  1320. result_t CC1000RadioIntM$CC1000Control$SelectLock(uint8_t arg_0x8544980);
  1321. static   
  1322. # 36 "../../tos/platform/mica2/RadioCoordinator.nc"
  1323. void CC1000RadioIntM$RadioSendCoordinator$byte(TOS_MsgPtr arg_0x86d4f68, uint8_t arg_0x86d50b8);
  1324. static   
  1325. void CC1000RadioIntM$RadioSendCoordinator$blockTimer(void);
  1326. static   
  1327. #line 31
  1328. void CC1000RadioIntM$RadioSendCoordinator$startSymbol(uint8_t arg_0x86d4858, uint8_t arg_0x86d49a0, TOS_MsgPtr arg_0x86d4af0);
  1329. static   
  1330. # 63 "../../tos/interfaces/SClock.nc"
  1331. void CC1000RadioIntM$SClock$getTime(GTime *arg_0x8584228);
  1332. static   
  1333. void CC1000RadioIntM$SClock$setTime(uint8_t arg_0x8584670, GTime *arg_0x85847d0);
  1334. static   
  1335. #line 45
  1336. result_t CC1000RadioIntM$SClock$SetRate(uint16_t arg_0x857f4a8, char arg_0x857f5e8);
  1337. static   
  1338. # 52 "/home/testuser/tinyos-1.x/tos/interfaces/ADC.nc"
  1339. result_t CC1000RadioIntM$RSSIADC$getData(void);
  1340. static   
  1341. # 39 "../../tos/platform/mica2/MacBackoff.nc"
  1342. int16_t CC1000RadioIntM$MacBackoff$initialBackoff(TOS_MsgPtr arg_0x86d6c88);
  1343. static   int16_t CC1000RadioIntM$MacBackoff$congestionBackoff(TOS_MsgPtr arg_0x86d70b0);
  1344. # 60 "../../tos/platform/mica2/CC1000RadioIntM.nc"
  1345. enum CC1000RadioIntM$__nesc_unnamed4274 {
  1346.   CC1000RadioIntM$NULL_STATE, 
  1347.   CC1000RadioIntM$TX_STATE, 
  1348.   CC1000RadioIntM$DISABLED_STATE, 
  1349.   CC1000RadioIntM$IDLE_STATE, 
  1350.   CC1000RadioIntM$PRETX_STATE, 
  1351.   CC1000RadioIntM$SYNC_STATE, 
  1352.   CC1000RadioIntM$RX_STATE, 
  1353.   CC1000RadioIntM$SENDING_ACK, 
  1354.   CC1000RadioIntM$POWER_DOWN_STATE, 
  1355.   CC1000RadioIntM$PULSE_CHECK_STATE
  1356. };
  1357. enum CC1000RadioIntM$__nesc_unnamed4275 {
  1358.   CC1000RadioIntM$TXSTATE_WAIT, 
  1359.   CC1000RadioIntM$TXSTATE_START, 
  1360.   CC1000RadioIntM$TXSTATE_PREAMBLE, 
  1361.   CC1000RadioIntM$TXSTATE_SYNC, 
  1362.   CC1000RadioIntM$TXSTATE_DATA, 
  1363.   CC1000RadioIntM$TXSTATE_CRC, 
  1364.   CC1000RadioIntM$TXSTATE_FLUSH, 
  1365.   CC1000RadioIntM$TXSTATE_WAIT_FOR_ACK, 
  1366.   CC1000RadioIntM$TXSTATE_READ_ACK, 
  1367.   CC1000RadioIntM$TXSTATE_DONE
  1368. };
  1369. enum CC1000RadioIntM$__nesc_unnamed4276 {
  1370.   CC1000RadioIntM$SYNC_BYTE = 0x33, 
  1371.   CC1000RadioIntM$NSYNC_BYTE = 0xcc, 
  1372.   CC1000RadioIntM$SYNC_WORD = 0x33cc, 
  1373.   CC1000RadioIntM$NSYNC_WORD = 0xcc33, 
  1374.   CC1000RadioIntM$ACK_LENGTH = 16, 
  1375.   CC1000RadioIntM$MAX_ACK_WAIT = 18, 
  1376.   CC1000RadioIntM$TIME_BETWEEN_CHECKS = 50, 
  1377.   CC1000RadioIntM$TIME_AFTER_CHECK = 30, 
  1378.   CC1000RadioIntM$CHECK_MA_COUNT = 100, 
  1379.   CC1000RadioIntM$SEND_MA_COUNT = 100, 
  1380.   CC1000RadioIntM$PREAMBLE_LENGTH_TO_BASE = 8, 
  1381.   CC1000RadioIntM$RECEIVE_MA_COUNT = 100
  1382. };
  1383. uint8_t CC1000RadioIntM$ack_code[5] = { 0xab, 0xba, 0x83, 0xaa, 0xaa };
  1384. uint8_t CC1000RadioIntM$RadioState;
  1385. uint8_t CC1000RadioIntM$RadioTxState;
  1386.  uint8_t CC1000RadioIntM$iRSSIcount;
  1387. uint8_t CC1000RadioIntM$RSSIInitState;
  1388. uint8_t CC1000RadioIntM$iSquelchCount;
  1389. uint16_t CC1000RadioIntM$txlength;
  1390. uint16_t CC1000RadioIntM$rxlength;
  1391. TOS_MsgPtr CC1000RadioIntM$txbufptr;
  1392. TOS_MsgPtr CC1000RadioIntM$rxbufptr;
  1393. TOS_Msg CC1000RadioIntM$RxBuf;
  1394. uint8_t CC1000RadioIntM$NextTxByte;
  1395. uint8_t CC1000RadioIntM$lplpower;
  1396. uint8_t CC1000RadioIntM$lplpowertx;
  1397. uint16_t CC1000RadioIntM$preamblelen;
  1398. uint16_t CC1000RadioIntM$sleeptime;
  1399. uint16_t CC1000RadioIntM$PreambleCount;
  1400. uint8_t CC1000RadioIntM$SOFCount;
  1401. uint16_t CC1000RadioIntM$search_word;
  1402. enum CC1000RadioIntM$__nesc_unnamed4277 {
  1403.   CC1000RadioIntM$BMAC, 
  1404.   CC1000RadioIntM$ZMAC
  1405. };
  1406. enum CC1000RadioIntM$__nesc_unnamed4278 {
  1407.   CC1000RadioIntM$MAX_VAL = 0xFFFF
  1408. };
  1409. enum CC1000RadioIntM$__nesc_unnamed4279 {
  1410.   CC1000RadioIntM$POSITIVE = 1, 
  1411.   CC1000RadioIntM$NEGATIVE = 2, 
  1412.   CC1000RadioIntM$ZERO = 3
  1413. };
  1414. GTime CC1000RadioIntM$currentDiff;
  1415. #line 150
  1416. GTime CC1000RadioIntM$constOffset;
  1417. uint16_t CC1000RadioIntM$currentSender;
  1418. uint8_t CC1000RadioIntM$currentSign;
  1419. uint8_t CC1000RadioIntM$currentMAC;
  1420. uint16_t CC1000RadioIntM$localFrameLength;
  1421. uint16_t CC1000RadioIntM$globalFrameLength;
  1422. uint16_t CC1000RadioIntM$slotSize;
  1423. uint16_t CC1000RadioIntM$nextHop;
  1424. uint16_t CC1000RadioIntM$ownSlot;
  1425. uint16_t CC1000RadioIntM$slots_since_ecnsend;
  1426. uint16_t CC1000RadioIntM$slots_since_ecnrecv;
  1427. uint16_t CC1000RadioIntM$slots_since_ecncheck;
  1428. uint16_t CC1000RadioIntM$globalFrameSize;
  1429. uint16_t CC1000RadioIntM$localFrameSize;
  1430. uint16_t CC1000RadioIntM$globalSlot;
  1431. uint16_t CC1000RadioIntM$currentSlot;
  1432. uint16_t CC1000RadioIntM$slotMultiplier;
  1433. uint32_t CC1000RadioIntM$slotNum;
  1434. uint16_t CC1000RadioIntM$packetsSent;
  1435. uint16_t CC1000RadioIntM$pktsLastSync;
  1436. bool CC1000RadioIntM$needTimeSync;
  1437. uint16_t CC1000RadioIntM$congBackOffs;
  1438. double CC1000RadioIntM$avgLoss;
  1439. uint32_t CC1000RadioIntM$curHCLlist;
  1440. bool CC1000RadioIntM$HCLselect;
  1441. bool CC1000RadioIntM$ackOrig;
  1442. bool CC1000RadioIntM$ecnPending;
  1443. bool CC1000RadioIntM$ecnforward;
  1444. bool CC1000RadioIntM$enableHCL;
  1445. bool CC1000RadioIntM$pureHCL;
  1446. TOS_Msg CC1000RadioIntM$ecnMsgHdr;
  1447. TOS_Msg CC1000RadioIntM$ecnForwardMsgHdr;
  1448. TOS_Msg CC1000RadioIntM$syncMsgHdr;
  1449. union CC1000RadioIntM$__nesc_unnamed4280 {
  1450.   uint16_t W;
  1451.   struct  {
  1452.     uint8_t LSB;
  1453.     uint8_t MSB;
  1454.   } ;
  1455. } CC1000RadioIntM$RxShiftBuf;
  1456. uint8_t CC1000RadioIntM$RxBitOffset;
  1457. uint16_t CC1000RadioIntM$RxByteCnt;
  1458. uint16_t CC1000RadioIntM$TxByteCnt;
  1459. uint16_t CC1000RadioIntM$RSSISampleFreq;
  1460.  bool CC1000RadioIntM$bInvertRxData;
  1461.  bool CC1000RadioIntM$bTxPending;
  1462. bool CC1000RadioIntM$bAckEnable;
  1463. bool CC1000RadioIntM$bCCAEnable;
  1464. bool CC1000RadioIntM$bTxBusy;
  1465. bool CC1000RadioIntM$bRSSIValid;
  1466. uint16_t CC1000RadioIntM$CC1K_PulseLevel;
  1467. uint16_t CC1000RadioIntM$usRunningCRC;
  1468. uint16_t CC1000RadioIntM$usRSSIVal;
  1469. uint16_t CC1000RadioIntM$usSquelchVal;
  1470. uint16_t CC1000RadioIntM$usTempSquelch;
  1471. uint8_t CC1000RadioIntM$usSquelchIndex;
  1472.  uint8_t CC1000RadioIntM$pulse_check_count;
  1473.  uint16_t CC1000RadioIntM$pulse_check_sum;
  1474.  uint16_t CC1000RadioIntM$send_sum;
  1475.  uint16_t CC1000RadioIntM$receive_sum;
  1476.  uint16_t CC1000RadioIntM$power_sum;
  1477.  uint16_t CC1000RadioIntM$sp_sum;
  1478.  uint16_t CC1000RadioIntM$rx_sum;
  1479.  uint16_t CC1000RadioIntM$tx_sum;
  1480. uint16_t CC1000RadioIntM$usSquelchTable[9];
  1481. int16_t CC1000RadioIntM$sMacDelay;
  1482. volatile uint16_t CC1000RadioIntM$LocalAddr;
  1483. static inline 
  1484. #line 245
  1485. uint16_t CC1000RadioIntM$getOwnerBackoff(void);
  1486. static inline 
  1487. uint16_t CC1000RadioIntM$getNonOwnerBackoff(void);
  1488. static inline 
  1489. void CC1000RadioIntM$DivTime2(GTime *B, GTime *A);
  1490. static inline 
  1491. void CC1000RadioIntM$AddTime(GTime *C, GTime *A, GTime *B);
  1492. static 
  1493. void CC1000RadioIntM$SubTime(GTime *C, GTime *A, GTime *B);
  1494. static 
  1495. uint16_t CC1000RadioIntM$getZMACBackoff(uint16_t residualBackoff);
  1496. static inline 
  1497. #line 306
  1498. uint8_t CC1000RadioIntM$ModSubTime(GTime *C, GTime *A, GTime *B);
  1499. static inline 
  1500. #line 329
  1501. bool CC1000RadioIntM$IsHCL(uint32_t gSlot);
  1502. static  
  1503. #line 342
  1504. void CC1000RadioIntM$adjustSquelch(void);
  1505. static inline 
  1506. #line 387
  1507. void CC1000RadioIntM$getTimeDiff(void);
  1508. static inline  
  1509. #line 424
  1510. void CC1000RadioIntM$adjustTime(void);
  1511. static  
  1512. void CC1000RadioIntM$PacketRcvd(void);
  1513. static inline  
  1514. #line 506
  1515. void CC1000RadioIntM$PacketSent(void);
  1516. static inline  
  1517. #line 648
  1518. result_t CC1000RadioIntM$StdControl$init(void);
  1519. static inline  
  1520. #line 916
  1521. result_t CC1000RadioIntM$SquelchTimer$fired(void);
  1522. static inline  
  1523. result_t CC1000RadioIntM$WakeupTimer$fired(void);
  1524. static inline  
  1525. #line 980
  1526. result_t CC1000RadioIntM$TDMATimer$fired(void);
  1527. static inline  
  1528. #line 1056
  1529. result_t CC1000RadioIntM$StdControl$start(void);
  1530. static  
  1531. #line 1102
  1532. result_t CC1000RadioIntM$Send$send(TOS_MsgPtr pMsg);
  1533. static   
  1534. #line 1166
  1535. result_t CC1000RadioIntM$SpiByteFifo$dataReady(uint8_t data_in);
  1536. static  
  1537. #line 1586
  1538. void CC1000RadioIntM$IdleTimerTask(void);
  1539. static inline  
  1540. #line 1606
  1541. void CC1000RadioIntM$SleepTimerTask(void);
  1542. static inline   
  1543. result_t CC1000RadioIntM$RSSIADC$dataReady(uint16_t data);
  1544. static inline   
  1545. #line 1724
  1546. uint16_t CC1000RadioIntM$GetSquelch(void);
  1547. static inline    
  1548. #line 1786
  1549. void CC1000RadioIntM$RadioSendCoordinator$default$startSymbol(uint8_t bitsPerBlock, uint8_t offset, 
  1550. TOS_MsgPtr msgBuff);
  1551. static inline    void CC1000RadioIntM$RadioSendCoordinator$default$byte(TOS_MsgPtr msg, uint8_t byteCount);
  1552. static inline    void CC1000RadioIntM$RadioSendCoordinator$default$blockTimer(void);
  1553. static inline    
  1554. void CC1000RadioIntM$RadioReceiveCoordinator$default$startSymbol(uint8_t bitsPerBlock, uint8_t offset, 
  1555. TOS_MsgPtr msgBuff);
  1556. static inline    void CC1000RadioIntM$RadioReceiveCoordinator$default$byte(TOS_MsgPtr msg, uint8_t byteCount);
  1557. static inline    void CC1000RadioIntM$RadioReceiveCoordinator$default$blockTimer(void);
  1558. static inline    
  1559. int16_t CC1000RadioIntM$MacBackoff$default$initialBackoff(TOS_MsgPtr m);
  1560. static inline    
  1561. int16_t CC1000RadioIntM$MacBackoff$default$congestionBackoff(TOS_MsgPtr m);
  1562. static inline   
  1563. result_t CC1000RadioIntM$SClock$syncDone(void);
  1564. static inline   
  1565. #line 1823
  1566. result_t CC1000RadioIntM$SClock$fire(uint16_t mticks);
  1567. static  
  1568. # 51 "../../tos/platform/mica2/HPLCC1000.nc"
  1569. result_t CC1000ControlM$HPLChipcon$init(void);
  1570. static   
  1571. #line 65
  1572. uint8_t CC1000ControlM$HPLChipcon$read(uint8_t arg_0x8873158);
  1573. static   
  1574. #line 58
  1575. result_t CC1000ControlM$HPLChipcon$write(uint8_t arg_0x8872ba0, uint8_t arg_0x8872ce8);
  1576.  
  1577. # 83 "../../tos/platform/mica2/CC1000ControlM.nc"
  1578. uint8_t CC1000ControlM$gCurrentParameters[31];
  1579. enum CC1000ControlM$__nesc_unnamed4281 {
  1580.   CC1000ControlM$IF = 150000, 
  1581.   CC1000ControlM$FREQ_MIN = 4194304, 
  1582.   CC1000ControlM$FREQ_MAX = 16751615
  1583. };
  1584. static inline 
  1585. #line 131
  1586. result_t CC1000ControlM$chipcon_cal(void);
  1587. static inline 
  1588. #line 187
  1589. void CC1000ControlM$cc1000SetFreq(void);
  1590. static inline 
  1591. #line 203
  1592. void CC1000ControlM$cc1000SetModem(void);
  1593. static inline  
  1594. #line 342
  1595. result_t CC1000ControlM$StdControl$init(void);
  1596. static inline  
  1597. #line 400
  1598. result_t CC1000ControlM$CC1000Control$TunePreset(uint8_t freq);
  1599. static   
  1600. #line 422
  1601. result_t CC1000ControlM$CC1000Control$TxMode(void);
  1602. static   
  1603. #line 435
  1604. result_t CC1000ControlM$CC1000Control$RxMode(void);
  1605. static inline  
  1606. #line 457
  1607. result_t CC1000ControlM$CC1000Control$BIASOn(void);
  1608. static inline  
  1609. #line 469
  1610. result_t CC1000ControlM$StdControl$stop(void);
  1611. static inline  
  1612. result_t CC1000ControlM$StdControl$start(void);
  1613. static inline  
  1614. #line 494
  1615. result_t CC1000ControlM$CC1000Control$SetRFPower(uint8_t power);
  1616. static inline  
  1617. result_t CC1000ControlM$CC1000Control$SelectLock(uint8_t Value);
  1618. static inline  
  1619. #line 517
  1620. bool CC1000ControlM$CC1000Control$GetLOStatus(void);
  1621. static inline  
  1622. # 51 "../../tos/platform/mica2/HPLCC1000M.nc"
  1623. result_t HPLCC1000M$HPLCC1000$init(void);
  1624. static   
  1625. #line 75
  1626. result_t HPLCC1000M$HPLCC1000$write(uint8_t addr, uint8_t data);
  1627. static   
  1628. #line 128
  1629. uint8_t HPLCC1000M$HPLCC1000$read(uint8_t addr);
  1630. # 54 "/home/testuser/tinyos-1.x/tos/system/RandomLFSR.nc"
  1631. uint16_t RandomLFSR$shiftReg;
  1632. uint16_t RandomLFSR$initSeed;
  1633. uint16_t RandomLFSR$mask;
  1634. static inline   
  1635. result_t RandomLFSR$Random$init(void);
  1636. static   
  1637. uint16_t RandomLFSR$Random$rand(void);
  1638. static   
  1639. # 70 "/home/testuser/tinyos-1.x/tos/interfaces/HPLADC.nc"
  1640. result_t ADCREFM$HPLADC$bindPort(uint8_t arg_0x88ab3d0, uint8_t arg_0x88ab518);
  1641. static   
  1642. #line 54
  1643. result_t ADCREFM$HPLADC$init(void);
  1644. static   
  1645. #line 77
  1646. result_t ADCREFM$HPLADC$samplePort(uint8_t arg_0x88aba00);
  1647. static   
  1648. # 70 "/home/testuser/tinyos-1.x/tos/interfaces/ADC.nc"
  1649. result_t ADCREFM$CalADC$dataReady(
  1650. # 67 "../../tos/platform/mica2/ADCREFM.nc"
  1651. uint8_t arg_0x86d1290, 
  1652. # 70 "/home/testuser/tinyos-1.x/tos/interfaces/ADC.nc"
  1653. uint16_t arg_0x86fa7d8);
  1654. static   
  1655. #line 70
  1656. result_t ADCREFM$ADC$dataReady(
  1657. # 66 "../../tos/platform/mica2/ADCREFM.nc"
  1658. uint8_t arg_0x86d0c08, 
  1659. # 70 "/home/testuser/tinyos-1.x/tos/interfaces/ADC.nc"
  1660. uint16_t arg_0x86fa7d8);
  1661. # 80 "../../tos/platform/mica2/ADCREFM.nc"
  1662. enum ADCREFM$__nesc_unnamed4282 {
  1663.   ADCREFM$IDLE = 0, 
  1664.   ADCREFM$SINGLE_CONVERSION = 1, 
  1665.   ADCREFM$CONTINUOUS_CONVERSION = 2
  1666. };
  1667. uint16_t ADCREFM$ReqPort;
  1668. uint16_t ADCREFM$ReqVector;
  1669. uint16_t ADCREFM$ContReqMask;
  1670. uint16_t ADCREFM$CalReqMask;
  1671. uint32_t ADCREFM$RefVal;
  1672. static inline  
  1673. void ADCREFM$CalTask(void);
  1674. static inline  
  1675. result_t ADCREFM$ADCControl$init(void);
  1676. static inline  
  1677. #line 114
  1678. result_t ADCREFM$ADCControl$bindPort(uint8_t port, uint8_t adcPort);
  1679. static inline    
  1680. result_t ADCREFM$ADC$default$dataReady(uint8_t port, uint16_t data);
  1681. static inline    
  1682. result_t ADCREFM$CalADC$default$dataReady(uint8_t port, uint16_t data);
  1683. static inline  
  1684. result_t ADCREFM$Timer$fired(void);
  1685. static inline   
  1686. result_t ADCREFM$HPLADC$dataReady(uint16_t data);
  1687. static 
  1688. #line 198
  1689. result_t ADCREFM$startGet(uint8_t port);
  1690. static inline   
  1691. #line 222
  1692. result_t ADCREFM$ADC$getData(uint8_t port);
  1693. static inline   
  1694. #line 284
  1695. result_t ADCREFM$ADCControl$manualCalibrate(void);
  1696. static   
  1697. # 99 "/home/testuser/tinyos-1.x/tos/interfaces/HPLADC.nc"
  1698. result_t HPLADCM$ADC$dataReady(uint16_t arg_0x88c8548);
  1699. # 60 "../../tos/platform/mica2/HPLADCM.nc"
  1700. bool HPLADCM$init_portmap_done;
  1701. uint8_t HPLADCM$TOSH_adc_portmap[TOSH_ADC_PORTMAPSIZE];
  1702. static 
  1703. void HPLADCM$init_portmap(void);
  1704. static inline   
  1705. #line 90
  1706. result_t HPLADCM$ADC$init(void);
  1707. static inline   
  1708. #line 110
  1709. result_t HPLADCM$ADC$bindPort(uint8_t port, uint8_t adcPort);
  1710. static   
  1711. #line 122
  1712. result_t HPLADCM$ADC$samplePort(uint8_t port);
  1713. #line 144
  1714. void __attribute((signal))   __vector_21(void);
  1715. static   
  1716. # 41 "/home/testuser/tinyos-1.x/tos/interfaces/PowerManagement.nc"
  1717. uint8_t TimerM$PowerManagement$adjustPower(void);
  1718. static   
  1719. # 105 "/home/testuser/tinyos-1.x/tos/interfaces/Clock.nc"
  1720. void TimerM$Clock$setInterval(uint8_t arg_0x88f08c8);
  1721. static   
  1722. #line 153
  1723. uint8_t TimerM$Clock$readCounter(void);
  1724. static   
  1725. #line 96
  1726. result_t TimerM$Clock$setRate(char arg_0x8913d88, char arg_0x8913ec8);
  1727. static   
  1728. #line 121
  1729. uint8_t TimerM$Clock$getInterval(void);
  1730. static  
  1731. # 73 "/home/testuser/tinyos-1.x/tos/interfaces/Timer.nc"
  1732. result_t TimerM$Timer$fired(
  1733. # 49 "/home/testuser/tinyos-1.x/tos/system/TimerM.nc"
  1734. uint8_t arg_0x88d4158);
  1735. uint32_t TimerM$mState;
  1736. uint8_t TimerM$setIntervalFlag;
  1737. uint8_t TimerM$mScale;
  1738. #line 61
  1739. uint8_t TimerM$mInterval;
  1740. int8_t TimerM$queue_head;
  1741. int8_t TimerM$queue_tail;
  1742. uint8_t TimerM$queue_size;
  1743. uint8_t TimerM$queue[NUM_TIMERS];
  1744. volatile uint16_t TimerM$interval_outstanding;
  1745. struct TimerM$timer_s {
  1746.   uint8_t type;
  1747.   int32_t ticks;
  1748.   int32_t ticksLeft;
  1749. } TimerM$mTimerList[NUM_TIMERS];
  1750. enum TimerM$__nesc_unnamed4283 {
  1751.   TimerM$maxTimerInterval = 230
  1752. };
  1753. static  result_t TimerM$StdControl$init(void);
  1754. static inline  
  1755. result_t TimerM$StdControl$start(void);
  1756. static  
  1757. result_t TimerM$Timer$start(uint8_t id, char type, 
  1758. uint32_t interval);
  1759. #line 129
  1760. static void TimerM$adjustInterval(void);
  1761. static  
  1762. #line 168
  1763. result_t TimerM$Timer$stop(uint8_t id);
  1764. static inline   
  1765. #line 182
  1766. result_t TimerM$Timer$default$fired(uint8_t id);
  1767. static inline 
  1768. void TimerM$enqueue(uint8_t value);
  1769. static inline 
  1770. uint8_t TimerM$dequeue(void);
  1771. static inline  
  1772. void TimerM$signalOneTimer(void);
  1773. static inline  
  1774. void TimerM$HandleFire(void);
  1775. static inline   
  1776. #line 253
  1777. result_t TimerM$Clock$fire(void);
  1778. static   
  1779. # 180 "/home/testuser/tinyos-1.x/tos/interfaces/Clock.nc"
  1780. result_t HPLClock$Clock$fire(void);
  1781. # 54 "/home/testuser/tinyos-1.x/tos/platform/mica/HPLClock.nc"
  1782. uint8_t HPLClock$set_flag;
  1783. uint8_t HPLClock$mscale;
  1784. #line 55
  1785. uint8_t HPLClock$nextScale;
  1786. #line 55
  1787. uint8_t HPLClock$minterval;
  1788. static inline   
  1789. #line 87
  1790. void HPLClock$Clock$setInterval(uint8_t value);
  1791. static inline   
  1792. uint8_t HPLClock$Clock$getInterval(void);
  1793. static inline   
  1794. #line 134
  1795. uint8_t HPLClock$Clock$readCounter(void);
  1796. static inline   
  1797. #line 149
  1798. result_t HPLClock$Clock$setRate(char interval, char scale);
  1799. #line 167
  1800. void __attribute((interrupt))   __vector_15(void);
  1801. static inline   
  1802. # 63 "/home/testuser/tinyos-1.x/tos/system/NoLeds.nc"
  1803. result_t NoLeds$Leds$redToggle(void);
  1804.  
  1805. # 51 "../../tos/platform/mica2/HPLPowerManagementM.nc"
  1806. int8_t HPLPowerManagementM$disableCount = 1;
  1807. uint8_t HPLPowerManagementM$powerLevel;
  1808. enum HPLPowerManagementM$__nesc_unnamed4284 {
  1809.   HPLPowerManagementM$IDLE = 0, 
  1810.   HPLPowerManagementM$ADC_NR = 1 << 3, 
  1811.   HPLPowerManagementM$POWER_DOWN = 1 << 4, 
  1812.   HPLPowerManagementM$POWER_SAVE = (1 << 3) + (1 << 4), 
  1813.   HPLPowerManagementM$STANDBY = (1 << 2) + (1 << 4), 
  1814.   HPLPowerManagementM$EXT_STANDBY = (1 << 3) + (1 << 4) + (1 << 2)
  1815. };
  1816. static inline 
  1817. uint8_t HPLPowerManagementM$getPowerLevel(void);
  1818. static inline  
  1819. #line 85
  1820. void HPLPowerManagementM$doAdjustment(void);
  1821. static   
  1822. #line 102
  1823. uint8_t HPLPowerManagementM$PowerManagement$adjustPower(void);
  1824. static   
  1825. # 41 "/home/testuser/tinyos-1.x/tos/interfaces/PowerManagement.nc"
  1826. uint8_t HPLSpiM$PowerManagement$adjustPower(void);
  1827. static   
  1828. # 42 "../../tos/platform/mica2/SpiByteFifo.nc"
  1829. result_t HPLSpiM$SpiByteFifo$dataReady(uint8_t arg_0x8713520);
  1830.  
  1831. # 51 "../../tos/platform/mica2/HPLSpiM.nc"
  1832. uint8_t HPLSpiM$OutgoingByte;
  1833. void __attribute((signal))   __vector_17(void);
  1834. static inline   
  1835. result_t HPLSpiM$SpiByteFifo$writeByte(uint8_t data);
  1836. static inline   
  1837. #line 74
  1838. result_t HPLSpiM$SpiByteFifo$enableIntr(void);
  1839. static   
  1840. result_t HPLSpiM$SpiByteFifo$disableIntr(void);
  1841. static inline   
  1842. result_t HPLSpiM$SpiByteFifo$initSlave(void);
  1843. static inline   
  1844. #line 103
  1845. result_t HPLSpiM$SpiByteFifo$txMode(void);
  1846. static inline   
  1847. result_t HPLSpiM$SpiByteFifo$rxMode(void);
  1848. static   
  1849. # 94 "../../tos/interfaces/SClock.nc"
  1850. result_t HPLSClock$SClock$syncDone(void);
  1851. static   
  1852. #line 88
  1853. result_t HPLSClock$SClock$fire(uint16_t arg_0x8585230);
  1854. # 45 "../../tos/platform/mica2/HPLSClock.nc"
  1855. uint16_t HPLSClock$MTicks;
  1856. GTime HPLSClock$Update;
  1857. uint8_t HPLSClock$sign;
  1858. uint8_t HPLSClock$needupdate;
  1859. static inline   
  1860. #line 66
  1861. result_t HPLSClock$SClock$SetRate(uint16_t interval, char scale);
  1862. static   
  1863. #line 95
  1864. void HPLSClock$SClock$getTime(GTime *t);
  1865. static inline   
  1866. #line 107
  1867. void HPLSClock$SClock$setTime(uint8_t PosOrNeg, GTime *t);
  1868. #line 124
  1869. void __attribute((interrupt))   __vector_26(void);
  1870. static  
  1871. # 75 "/home/testuser/tinyos-1.x/tos/interfaces/ReceiveMsg.nc"
  1872. TOS_MsgPtr FramerM$ReceiveMsg$receive(TOS_MsgPtr arg_0x856c0f0);
  1873. static   
  1874. # 55 "/home/testuser/tinyos-1.x/tos/interfaces/ByteComm.nc"
  1875. result_t FramerM$ByteComm$txByte(uint8_t arg_0x897bdd8);
  1876. static  
  1877. # 63 "/home/testuser/tinyos-1.x/tos/interfaces/StdControl.nc"
  1878. result_t FramerM$ByteControl$init(void);
  1879. static  
  1880. result_t FramerM$ByteControl$start(void);
  1881. static  
  1882. # 67 "/home/testuser/tinyos-1.x/tos/interfaces/BareSendMsg.nc"
  1883. result_t FramerM$BareSendMsg$sendDone(TOS_MsgPtr arg_0x86bed88, result_t arg_0x86beed8);
  1884. static  
  1885. # 75 "/home/testuser/tinyos-1.x/tos/interfaces/TokenReceiveMsg.nc"
  1886. TOS_MsgPtr FramerM$TokenReceiveMsg$receive(TOS_MsgPtr arg_0x897f970, uint8_t arg_0x897fab8);
  1887. # 82 "/home/testuser/tinyos-1.x/tos/system/FramerM.nc"
  1888. enum FramerM$__nesc_unnamed4285 {
  1889.   FramerM$HDLC_QUEUESIZE = 2, 
  1890.   FramerM$HDLC_MTU = sizeof(TOS_Msg ), 
  1891.   FramerM$HDLC_FLAG_BYTE = 0x7e, 
  1892.   FramerM$HDLC_CTLESC_BYTE = 0x7d, 
  1893.   FramerM$PROTO_ACK = 64, 
  1894.   FramerM$PROTO_PACKET_ACK = 65, 
  1895.   FramerM$PROTO_PACKET_NOACK = 66, 
  1896.   FramerM$PROTO_UNKNOWN = 255
  1897. };
  1898. enum FramerM$__nesc_unnamed4286 {
  1899.   FramerM$RXSTATE_NOSYNC, 
  1900.   FramerM$RXSTATE_PROTO, 
  1901.   FramerM$RXSTATE_TOKEN, 
  1902.   FramerM$RXSTATE_INFO, 
  1903.   FramerM$RXSTATE_ESC
  1904. };
  1905. enum FramerM$__nesc_unnamed4287 {
  1906.   FramerM$TXSTATE_IDLE, 
  1907.   FramerM$TXSTATE_PROTO, 
  1908.   FramerM$TXSTATE_INFO, 
  1909.   FramerM$TXSTATE_ESC, 
  1910.   FramerM$TXSTATE_FCS1, 
  1911.   FramerM$TXSTATE_FCS2, 
  1912.   FramerM$TXSTATE_ENDFLAG, 
  1913.   FramerM$TXSTATE_FINISH, 
  1914.   FramerM$TXSTATE_ERROR
  1915. };
  1916. enum FramerM$__nesc_unnamed4288 {
  1917.   FramerM$FLAGS_TOKENPEND = 0x2, 
  1918.   FramerM$FLAGS_DATAPEND = 0x4, 
  1919.   FramerM$FLAGS_UNKNOWN = 0x8
  1920. };
  1921. TOS_Msg FramerM$gMsgRcvBuf[FramerM$HDLC_QUEUESIZE];
  1922. typedef struct FramerM$_MsgRcvEntry {
  1923.   uint8_t Proto;
  1924.   uint8_t Token;
  1925.   uint16_t Length;
  1926.   TOS_MsgPtr pMsg;
  1927. } FramerM$MsgRcvEntry_t;
  1928. FramerM$MsgRcvEntry_t FramerM$gMsgRcvTbl[FramerM$HDLC_QUEUESIZE];
  1929. uint8_t *FramerM$gpRxBuf;
  1930. uint8_t *FramerM$gpTxBuf;
  1931. uint8_t FramerM$gFlags;
  1932.  
  1933. uint8_t FramerM$gTxState;
  1934.  uint8_t FramerM$gPrevTxState;
  1935.  uint16_t FramerM$gTxProto;
  1936.  uint16_t FramerM$gTxByteCnt;
  1937.  uint16_t FramerM$gTxLength;
  1938.  uint16_t FramerM$gTxRunningCRC;
  1939. uint8_t FramerM$gRxState;
  1940. uint8_t FramerM$gRxHeadIndex;
  1941. uint8_t FramerM$gRxTailIndex;
  1942. uint16_t FramerM$gRxByteCnt;
  1943. uint16_t FramerM$gRxRunningCRC;
  1944. TOS_MsgPtr FramerM$gpTxMsg;
  1945. uint8_t FramerM$gTxTokenBuf;
  1946. uint8_t FramerM$gTxUnknownBuf;
  1947.  uint8_t FramerM$gTxEscByte;
  1948. static  
  1949. void FramerM$PacketSent(void);
  1950. static 
  1951. result_t FramerM$StartTx(void);
  1952. static inline  
  1953. #line 202
  1954. void FramerM$PacketUnknown(void);
  1955. static inline  
  1956. void FramerM$PacketRcvd(void);
  1957. static  
  1958. #line 246
  1959. void FramerM$PacketSent(void);
  1960. static 
  1961. #line 268
  1962. void FramerM$HDLCInitialize(void);
  1963. static inline  
  1964. #line 291
  1965. result_t FramerM$StdControl$init(void);
  1966. static inline  
  1967. result_t FramerM$StdControl$start(void);
  1968. static inline  
  1969. result_t FramerM$BareSendMsg$send(TOS_MsgPtr pMsg);
  1970. static inline  
  1971. #line 328
  1972. result_t FramerM$TokenReceiveMsg$ReflectToken(uint8_t Token);
  1973. static   
  1974. #line 348
  1975. result_t FramerM$ByteComm$rxByteReady(uint8_t data, bool error, uint16_t strength);
  1976. static 
  1977. #line 469
  1978. result_t FramerM$TxArbitraryByte(uint8_t inByte);
  1979. static inline   
  1980. #line 482
  1981. result_t FramerM$ByteComm$txByteReady(bool LastByteSuccess);
  1982. static inline   
  1983. #line 552
  1984. result_t FramerM$ByteComm$txDone(void);
  1985. static  
  1986. # 75 "/home/testuser/tinyos-1.x/tos/interfaces/ReceiveMsg.nc"
  1987. TOS_MsgPtr FramerAckM$ReceiveCombined$receive(TOS_MsgPtr arg_0x856c0f0);
  1988. static  
  1989. # 88 "/home/testuser/tinyos-1.x/tos/interfaces/TokenReceiveMsg.nc"
  1990. result_t FramerAckM$TokenReceiveMsg$ReflectToken(uint8_t arg_0x897a0e8);
  1991. # 72 "/home/testuser/tinyos-1.x/tos/system/FramerAckM.nc"
  1992. uint8_t FramerAckM$gTokenBuf;
  1993. static inline  
  1994. void FramerAckM$SendAckTask(void);
  1995. static inline  
  1996. TOS_MsgPtr FramerAckM$TokenReceiveMsg$receive(TOS_MsgPtr Msg, uint8_t token);
  1997. static inline  
  1998. #line 91
  1999. TOS_MsgPtr FramerAckM$ReceiveMsg$receive(TOS_MsgPtr Msg);
  2000. static   
  2001. # 62 "/home/testuser/tinyos-1.x/tos/interfaces/HPLUART.nc"
  2002. result_t UARTM$HPLUART$init(void);
  2003. static   
  2004. #line 80
  2005. result_t UARTM$HPLUART$put(uint8_t arg_0x89be300);
  2006. static   
  2007. # 83 "/home/testuser/tinyos-1.x/tos/interfaces/ByteComm.nc"
  2008. result_t UARTM$ByteComm$txDone(void);
  2009. static   
  2010. #line 75
  2011. result_t UARTM$ByteComm$txByteReady(bool arg_0x8978ad8);
  2012. static   
  2013. #line 66
  2014. result_t UARTM$ByteComm$rxByteReady(uint8_t arg_0x8978308, bool arg_0x8978450, uint16_t arg_0x89785a8);
  2015. # 58 "/home/testuser/tinyos-1.x/tos/system/UARTM.nc"
  2016. bool UARTM$state;
  2017. static inline  
  2018. result_t UARTM$Control$init(void);
  2019. static inline  
  2020. result_t UARTM$Control$start(void);
  2021. static inline   
  2022. result_t UARTM$HPLUART$get(uint8_t data);
  2023. static   
  2024. result_t UARTM$HPLUART$putDone(void);
  2025. static   
  2026. #line 110
  2027. result_t UARTM$ByteComm$txByte(uint8_t data);
  2028. static   
  2029. # 88 "/home/testuser/tinyos-1.x/tos/interfaces/HPLUART.nc"
  2030. result_t HPLUART0M$UART$get(uint8_t arg_0x89be800);
  2031. static   
  2032. result_t HPLUART0M$UART$putDone(void);
  2033. static inline   
  2034. # 60 "../../tos/platform/mica2/HPLUART0M.nc"
  2035. result_t HPLUART0M$UART$init(void);
  2036. #line 90
  2037. void __attribute((signal))   __vector_18(void);
  2038. void __attribute((interrupt))   __vector_20(void);
  2039. static inline   
  2040. result_t HPLUART0M$UART$put(uint8_t data);
  2041. # 120 "../../tos/platform/mica2/hardware.h"
  2042. static __inline void TOSH_CLR_SERIAL_ID_PIN(void)
  2043. #line 120
  2044. {
  2045. #line 120
  2046.   * (volatile uint8_t *)(0x1B + 0x20) &= ~(1 << 4);
  2047. }
  2048. #line 120
  2049. static __inline void TOSH_MAKE_SERIAL_ID_INPUT(void)
  2050. #line 120
  2051. {
  2052. #line 120
  2053.   * (volatile uint8_t *)(0x1A + 0x20) &= ~(1 << 4);
  2054. }
  2055. #line 145
  2056. static __inline void TOSH_MAKE_SPI_OC1C_INPUT(void)
  2057. #line 145
  2058. {
  2059. #line 145
  2060.   * (volatile uint8_t *)(0x17 + 0x20) &= ~(1 << 7);
  2061. }
  2062. #line 144
  2063. static __inline void TOSH_MAKE_MISO_INPUT(void)
  2064. #line 144
  2065. {
  2066. #line 144
  2067.   * (volatile uint8_t *)(0x17 + 0x20) &= ~(1 << 3);
  2068. }
  2069. #line 127
  2070. static __inline void TOSH_MAKE_CC_PCLK_OUTPUT(void)
  2071. #line 127
  2072. {
  2073. #line 127
  2074.   * (volatile uint8_t *)(0x11 + 0x20) |= 1 << 6;
  2075. }
  2076. #line 126
  2077. static __inline void TOSH_MAKE_CC_PDATA_OUTPUT(void)
  2078. #line 126
  2079. {
  2080. #line 126
  2081.   * (volatile uint8_t *)(0x11 + 0x20) |= 1 << 7;
  2082. }
  2083. #line 128
  2084. static __inline void TOSH_MAKE_CC_PALE_OUTPUT(void)
  2085. #line 128
  2086. {
  2087. #line 128
  2088.   * (volatile uint8_t *)(0x11 + 0x20) |= 1 << 4;
  2089. }
  2090. #line 149
  2091. static __inline void TOSH_MAKE_PW0_OUTPUT(void)
  2092. #line 149
  2093. {
  2094. #line 149
  2095.   * (volatile uint8_t *)(0x14 + 0x20) |= 1 << 0;
  2096. }
  2097. #line 150
  2098. static __inline void TOSH_MAKE_PW1_OUTPUT(void)
  2099. #line 150
  2100. {
  2101. #line 150
  2102.   * (volatile uint8_t *)(0x14 + 0x20) |= 1 << 1;
  2103. }
  2104. #line 151
  2105. static __inline void TOSH_MAKE_PW2_OUTPUT(void)
  2106. #line 151
  2107. {
  2108. #line 151
  2109.   * (volatile uint8_t *)(0x14 + 0x20) |= 1 << 2;
  2110. }
  2111. #line 152
  2112. static __inline void TOSH_MAKE_PW3_OUTPUT(void)
  2113. #line 152
  2114. {
  2115. #line 152
  2116.   * (volatile uint8_t *)(0x14 + 0x20) |= 1 << 3;
  2117. }
  2118. #line 153
  2119. static __inline void TOSH_MAKE_PW4_OUTPUT(void)
  2120. #line 153
  2121. {
  2122. #line 153
  2123.   * (volatile uint8_t *)(0x14 + 0x20) |= 1 << 4;
  2124. }
  2125. #line 154
  2126. static __inline void TOSH_MAKE_PW5_OUTPUT(void)
  2127. #line 154
  2128. {
  2129. #line 154
  2130.   * (volatile uint8_t *)(0x14 + 0x20) |= 1 << 5;
  2131. }
  2132. #line 155
  2133. static __inline void TOSH_MAKE_PW6_OUTPUT(void)
  2134. #line 155
  2135. {
  2136. #line 155
  2137.   * (volatile uint8_t *)(0x14 + 0x20) |= 1 << 6;
  2138. }
  2139. #line 156
  2140. static __inline void TOSH_MAKE_PW7_OUTPUT(void)
  2141. #line 156
  2142. {
  2143. #line 156
  2144.   * (volatile uint8_t *)(0x14 + 0x20) |= 1 << 7;
  2145. }
  2146. #line 125
  2147. static __inline void TOSH_MAKE_CC_CHP_OUT_INPUT(void)
  2148. #line 125
  2149. {
  2150. #line 125
  2151.   * (volatile uint8_t *)(0x1A + 0x20) &= ~(1 << 6);
  2152. }
  2153. static inline 
  2154. #line 171
  2155. void TOSH_SET_PIN_DIRECTIONS(void )
  2156. {
  2157.   TOSH_MAKE_CC_CHP_OUT_INPUT();
  2158.   TOSH_MAKE_PW7_OUTPUT();
  2159.   TOSH_MAKE_PW6_OUTPUT();
  2160.   TOSH_MAKE_PW5_OUTPUT();
  2161.   TOSH_MAKE_PW4_OUTPUT();
  2162.   TOSH_MAKE_PW3_OUTPUT();
  2163.   TOSH_MAKE_PW2_OUTPUT();
  2164.   TOSH_MAKE_PW1_OUTPUT();
  2165.   TOSH_MAKE_PW0_OUTPUT();
  2166.   TOSH_MAKE_CC_PALE_OUTPUT();
  2167.   TOSH_MAKE_CC_PDATA_OUTPUT();
  2168.   TOSH_MAKE_CC_PCLK_OUTPUT();
  2169.   TOSH_MAKE_MISO_INPUT();
  2170.   TOSH_MAKE_SPI_OC1C_INPUT();
  2171.   TOSH_MAKE_SERIAL_ID_INPUT();
  2172.   TOSH_CLR_SERIAL_ID_PIN();
  2173. }
  2174. static inline  
  2175. # 57 "/home/testuser/tinyos-1.x/tos/platform/avrmote/HPLInit.nc"
  2176. result_t HPLInit$init(void)
  2177. #line 57
  2178. {
  2179.   TOSH_SET_PIN_DIRECTIONS();
  2180.   return SUCCESS;
  2181. }
  2182. # 47 "/home/testuser/tinyos-1.x/tos/system/RealMain.nc"
  2183. inline static  result_t RealMain$hardwareInit(void){
  2184. #line 47
  2185.   unsigned char result;
  2186. #line 47
  2187. #line 47
  2188.   result = HPLInit$init();
  2189. #line 47
  2190. #line 47
  2191.   return result;
  2192. #line 47
  2193. }
  2194. #line 47
  2195. static inline  
  2196. # 75 "../../tos/platform/mica2/HPLPotC.nc"
  2197. result_t HPLPotC$Pot$finalise(void)
  2198. #line 75
  2199. {
  2200.   return SUCCESS;
  2201. }
  2202. # 74 "/home/testuser/tinyos-1.x/tos/interfaces/HPLPot.nc"
  2203. inline static  result_t PotM$HPLPot$finalise(void){
  2204. #line 74
  2205.   unsigned char result;
  2206. #line 74
  2207. #line 74
  2208.   result = HPLPotC$Pot$finalise();
  2209. #line 74
  2210. #line 74
  2211.   return result;
  2212. #line 74
  2213. }
  2214. #line 74
  2215. static inline  
  2216. # 66 "../../tos/platform/mica2/HPLPotC.nc"
  2217. result_t HPLPotC$Pot$increase(void)
  2218. #line 66
  2219. {
  2220.   return SUCCESS;
  2221. }
  2222. # 67 "/home/testuser/tinyos-1.x/tos/interfaces/HPLPot.nc"
  2223. inline static  result_t PotM$HPLPot$increase(void){
  2224. #line 67
  2225.   unsigned char result;
  2226. #line 67
  2227. #line 67
  2228.   result = HPLPotC$Pot$increase();
  2229. #line 67
  2230. #line 67
  2231.   return result;
  2232. #line 67
  2233. }
  2234. #line 67
  2235. static inline  
  2236. # 57 "../../tos/platform/mica2/HPLPotC.nc"
  2237. result_t HPLPotC$Pot$decrease(void)
  2238. #line 57
  2239. {
  2240.   return SUCCESS;
  2241. }
  2242. # 59 "/home/testuser/tinyos-1.x/tos/interfaces/HPLPot.nc"
  2243. inline static  result_t PotM$HPLPot$decrease(void){
  2244. #line 59
  2245.   unsigned char result;
  2246. #line 59
  2247. #line 59
  2248.   result = HPLPotC$Pot$decrease();
  2249. #line 59
  2250. #line 59
  2251.   return result;
  2252. #line 59
  2253. }
  2254. #line 59
  2255. static inline 
  2256. # 93 "/home/testuser/tinyos-1.x/tos/system/PotM.nc"
  2257. void PotM$setPot(uint8_t value)
  2258. #line 93
  2259. {
  2260.   uint8_t i;
  2261. #line 95
  2262.   for (i = 0; i < 151; i++) 
  2263.     PotM$HPLPot$decrease();
  2264.   for (i = 0; i < value; i++) 
  2265.     PotM$HPLPot$increase();
  2266.   PotM$HPLPot$finalise();
  2267.   PotM$potSetting = value;
  2268. }
  2269. static inline  result_t PotM$Pot$init(uint8_t initialSetting)
  2270. #line 106
  2271. {
  2272.   PotM$setPot(initialSetting);
  2273.   return SUCCESS;
  2274. }
  2275. # 78 "/home/testuser/tinyos-1.x/tos/interfaces/Pot.nc"
  2276. inline static  result_t RealMain$Pot$init(uint8_t arg_0x8515e08){
  2277. #line 78
  2278.   unsigned char result;
  2279. #line 78
  2280. #line 78
  2281.   result = PotM$Pot$init(arg_0x8515e08);
  2282. #line 78
  2283. #line 78
  2284.   return result;
  2285. #line 78
  2286. }
  2287. #line 78
  2288. static inline 
  2289. # 79 "/home/testuser/tinyos-1.x/tos/system/sched.c"
  2290. void TOSH_sched_init(void )
  2291. {
  2292.   int i;
  2293. #line 82
  2294.   TOSH_sched_free = 0;
  2295.   TOSH_sched_full = 0;
  2296.   for (i = 0; i < TOSH_MAX_TASKS; i++) 
  2297.     TOSH_queue[i].tp = (void *)0;
  2298. }
  2299. static inline 
  2300. # 120 "/home/testuser/tinyos-1.x/tos/system/tos.h"
  2301. result_t rcombine(result_t r1, result_t r2)
  2302. {
  2303.   return r1 == FAIL ? FAIL : r2;
  2304. }
  2305. static inline 
  2306. # 14 "../../tos/interfaces/SODebug.h"
  2307. void DrandM$init_debug(void)
  2308. #line 14
  2309. {
  2310.   * (volatile uint8_t *)0x90 = 0;
  2311.   * (volatile uint8_t *)(0x09 + 0x20) = 15;
  2312.   * (volatile uint8_t *)(0x0B + 0x20) = 1 << 1;
  2313.   * (volatile uint8_t *)0x95 = (1 << 2) | (1 << 1);
  2314.   * (volatile uint8_t *)(0x0C + 0x20);
  2315.   * (volatile uint8_t *)(0x0A + 0x20) = 1 << 3;
  2316. }
  2317. # 63 "../../tos/interfaces/SClock.nc"
  2318. inline static   void DrandM$SClock$getTime(GTime *arg_0x8584228){
  2319. #line 63
  2320.   HPLSClock$SClock$getTime(arg_0x8584228);
  2321. #line 63
  2322. }
  2323. #line 63
  2324. static inline  
  2325. # 517 "../../tos/system/DrandM.nc"
  2326. result_t DrandM$StdControl$init(void)
  2327. #line 517
  2328. {
  2329.   { __nesc_atomic_t __nesc_atomic = __nesc_atomic_start();
  2330. #line 518
  2331.     {
  2332.       uint8_t i;
  2333.       for (i = 0; i < MAX_NBR; i++) {
  2334.           DrandM$nbrInfo[i].nodeID = 0xFF;
  2335.           DrandM$nbrInfo[i].slot = 0xFF;
  2336.           DrandM$nbrInfo[i].frame = 0xFF;
  2337.           DrandM$nbrInfo[i].bitMap = 0x0;
  2338.           DrandM$OneWayId[i] = DrandM$TwoWayId[i] = 0xFF;
  2339.         }
  2340.       DrandM$myInfo.slot = 0xFF;
  2341.       DrandM$myInfo.nodeID = TOS_LOCAL_ADDRESS;
  2342.       DrandM$myInfo.frame = 0xFF;
  2343.       DrandM$myInfo.bitMap = 0xFF;
  2344.       DrandM$globalState = HELLO_STATE;
  2345.       DrandM$setMySlot = DrandM$gotAllFrames = FALSE;
  2346.       DrandM$lastReqID = 0xFF;
  2347.       DrandM$requestFireCount = DrandM$grantFireCount = DrandM$reportFireCount = DrandM$frameFireCount = 0;
  2348.       DrandM$OTT = 100;
  2349.       DrandM$ROUND_TIME = 1500;
  2350.       DrandM$REQUEST_TIME = 1000;
  2351.       DrandM$GRANT_TIME = 1000;
  2352.       DrandM$sendBusy = FALSE;
  2353.       DrandM$drandFinishedFirstTime = DrandM$reportFinishedFirstTime = TRUE;
  2354.       DrandM$sentRelease = FALSE;
  2355.       DrandM$firstGrant = TRUE;
  2356.       DrandM$SClock$getTime(&DrandM$locTime);
  2357.       DrandM$shiftReg = 119 * 119 * (DrandM$locTime.sticks + TOS_LOCAL_ADDRESS + 1);
  2358.       DrandM$mask = 137 * 29 * (DrandM$locTime.sticks + TOS_LOCAL_ADDRESS + 1);
  2359.       DrandM$reqCount = DrandM$graCount = DrandM$rejCount = DrandM$relCount = DrandM$twoCount = DrandM$reqXCount = DrandM$graXCount = 0, DrandM$roundNum = 0;
  2360.       DrandM$reqX = DrandM$graX = FALSE;
  2361.       DrandM$init_debug();
  2362.     }
  2363. #line 557
  2364.     __nesc_atomic_end(__nesc_atomic); }
  2365.   return SUCCESS;
  2366. }
  2367. # 63 "/home/testuser/tinyos-1.x/tos/interfaces/StdControl.nc"
  2368. inline static  result_t TestBedTopologyM$SubControl$init(void){
  2369. #line 63
  2370.   unsigned char result;
  2371. #line 63
  2372. #line 63
  2373.   result = DrandM$StdControl$init();
  2374. #line 63
  2375. #line 63
  2376.   return result;
  2377. #line 63
  2378. }
  2379. #line 63
  2380. static inline  
  2381. # 15 "TestBedTopologyM.nc"
  2382. result_t TestBedTopologyM$StdControl$init(void)
  2383. #line 15
  2384. {
  2385.   TestBedTopologyM$SubControl$init();
  2386.   return SUCCESS;
  2387. }
  2388. # 63 "/home/testuser/tinyos-1.x/tos/interfaces/StdControl.nc"
  2389. inline static  result_t CC1000RadioIntM$TimerControl$init(void){
  2390. #line 63
  2391.   unsigned char result;
  2392. #line 63
  2393. #line 63
  2394.   result = TimerM$StdControl$init();
  2395. #line 63
  2396. #line 63
  2397.   return result;
  2398. #line 63
  2399. }
  2400. #line 63
  2401. static inline   
  2402. # 59 "/home/testuser/tinyos-1.x/tos/system/RandomLFSR.nc"
  2403. result_t RandomLFSR$Random$init(void)
  2404. #line 59
  2405. {
  2406.   {
  2407.   }
  2408. #line 60
  2409.   ;
  2410.   { __nesc_atomic_t __nesc_atomic = __nesc_atomic_start();
  2411. #line 61
  2412.     {
  2413.       RandomLFSR$shiftReg = 119 * 119 * (TOS_LOCAL_ADDRESS + 1);
  2414.       RandomLFSR$initSeed = RandomLFSR$shiftReg;
  2415.       RandomLFSR$mask = 137 * 29 * (TOS_LOCAL_ADDRESS + 1);
  2416.     }
  2417. #line 65
  2418.     __nesc_atomic_end(__nesc_atomic); }
  2419.   return SUCCESS;
  2420. }
  2421. # 57 "/home/testuser/tinyos-1.x/tos/interfaces/Random.nc"
  2422. inline static   result_t CC1000RadioIntM$Random$init(void){
  2423. #line 57
  2424.   unsigned char result;
  2425. #line 57
  2426. #line 57
  2427.   result = RandomLFSR$Random$init();
  2428. #line 57
  2429. #line 57
  2430.   return result;
  2431. #line 57
  2432. }
  2433. #line 57
  2434. static inline   
  2435. # 90 "../../tos/platform/mica2/HPLADCM.nc"
  2436. result_t HPLADCM$ADC$init(void)
  2437. #line 90
  2438. {
  2439.   HPLADCM$init_portmap();
  2440.   { __nesc_atomic_t __nesc_atomic = __nesc_atomic_start();
  2441. #line 95
  2442.     {
  2443.       * (volatile uint8_t *)(0x06 + 0x20) = (1 << 3) | (6 << 0);
  2444.       * (volatile uint8_t *)(0x07 + 0x20) = 0;
  2445.     }
  2446. #line 99
  2447.     __nesc_atomic_end(__nesc_atomic); }
  2448.   return SUCCESS;
  2449. }
  2450. # 54 "/home/testuser/tinyos-1.x/tos/interfaces/HPLADC.nc"
  2451. inline static   result_t ADCREFM$HPLADC$init(void){
  2452. #line 54
  2453.   unsigned char result;
  2454. #line 54
  2455. #line 54
  2456.   result = HPLADCM$ADC$init();
  2457. #line 54
  2458. #line 54
  2459.   return result;
  2460. #line 54
  2461. }
  2462. #line 54
  2463. static inline  
  2464. # 99 "../../tos/platform/mica2/ADCREFM.nc"
  2465. result_t ADCREFM$ADCControl$init(void)
  2466. #line 99
  2467. {
  2468.   { __nesc_atomic_t __nesc_atomic = __nesc_atomic_start();
  2469. #line 100
  2470.     {
  2471.       ADCREFM$ReqPort = 0;
  2472.       ADCREFM$ReqVector = ADCREFM$ContReqMask = ADCREFM$CalReqMask = 0;
  2473.       ADCREFM$RefVal = 381;
  2474.     }
  2475. #line 104
  2476.     __nesc_atomic_end(__nesc_atomic); }
  2477.   {
  2478.   }
  2479. #line 105
  2480.   ;
  2481.   return ADCREFM$HPLADC$init();
  2482. }
  2483. # 77 "../../tos/platform/mica2/ADCControl.nc"
  2484. inline static  result_t CC1000RadioIntM$ADCControl$init(void){
  2485. #line 77
  2486.   unsigned char result;
  2487. #line 77
  2488. #line 77
  2489.   result = ADCREFM$ADCControl$init();
  2490. #line 77
  2491. #line 77
  2492.   return result;
  2493. #line 77
  2494. }
  2495. #line 77
  2496. static inline   
  2497. # 110 "../../tos/platform/mica2/HPLADCM.nc"
  2498. result_t HPLADCM$ADC$bindPort(uint8_t port, uint8_t adcPort)
  2499. #line 110
  2500. {
  2501.   if (
  2502. #line 111
  2503.   port < TOSH_ADC_PORTMAPSIZE && 
  2504.   port != TOS_ADC_BANDGAP_PORT && 
  2505.   port != TOS_ADC_GND_PORT) {
  2506.       HPLADCM$init_portmap();
  2507.       { __nesc_atomic_t __nesc_atomic = __nesc_atomic_start();
  2508. #line 115
  2509.         HPLADCM$TOSH_adc_portmap[port] = adcPort;
  2510. #line 115
  2511.         __nesc_atomic_end(__nesc_atomic); }
  2512.       return SUCCESS;
  2513.     }
  2514.   else {
  2515.     return FAIL;
  2516.     }
  2517. }
  2518. # 70 "/home/testuser/tinyos-1.x/tos/interfaces/HPLADC.nc"
  2519. inline static   result_t ADCREFM$HPLADC$bindPort(uint8_t arg_0x88ab3d0, uint8_t arg_0x88ab518){
  2520. #line 70
  2521.   unsigned char result;
  2522. #line 70
  2523. #line 70
  2524.   result = HPLADCM$ADC$bindPort(arg_0x88ab3d0, arg_0x88ab518);
  2525. #line 70
  2526. #line 70
  2527.   return result;
  2528. #line 70
  2529. }
  2530. #line 70
  2531. static inline  
  2532. # 114 "../../tos/platform/mica2/ADCREFM.nc"
  2533. result_t ADCREFM$ADCControl$bindPort(uint8_t port, uint8_t adcPort)
  2534. #line 114
  2535. {
  2536.   return ADCREFM$HPLADC$bindPort(port, adcPort);
  2537. }
  2538. # 116 "../../tos/platform/mica2/ADCControl.nc"
  2539. inline static  result_t CC1000RadioIntM$ADCControl$bindPort(uint8_t arg_0x86fe5c0, uint8_t arg_0x86fe708){
  2540. #line 116
  2541.   unsigned char result;
  2542. #line 116
  2543. #line 116
  2544.   result = ADCREFM$ADCControl$bindPort(arg_0x86fe5c0, arg_0x86fe708);
  2545. #line 116
  2546. #line 116
  2547.   return result;
  2548. #line 116
  2549. }
  2550. #line 116
  2551. static inline  
  2552. # 517 "../../tos/platform/mica2/CC1000ControlM.nc"
  2553. bool CC1000ControlM$CC1000Control$GetLOStatus(void)
  2554. #line 517
  2555. {
  2556.   return CC1000ControlM$gCurrentParameters[0x1e];
  2557. }
  2558. # 190 "../../tos/platform/mica2/CC1000Control.nc"
  2559. inline static  bool CC1000RadioIntM$CC1000Control$GetLOStatus(void){
  2560. #line 190
  2561.   unsigned char result;
  2562. #line 190
  2563. #line 190
  2564.   result = CC1000ControlM$CC1000Control$GetLOStatus();
  2565. #line 190
  2566. #line 190
  2567.   return result;
  2568. #line 190
  2569. }
  2570. #line 190
  2571. # 58 "../../tos/platform/mica2/HPLCC1000.nc"
  2572. inline static   result_t CC1000ControlM$HPLChipcon$write(uint8_t arg_0x8872ba0, uint8_t arg_0x8872ce8){
  2573. #line 58
  2574.   unsigned char result;
  2575. #line 58
  2576. #line 58
  2577.   result = HPLCC1000M$HPLCC1000$write(arg_0x8872ba0, arg_0x8872ce8);
  2578. #line 58
  2579. #line 58
  2580.   return result;
  2581. #line 58
  2582. }
  2583. #line 58
  2584. static inline  
  2585. # 505 "../../tos/platform/mica2/CC1000ControlM.nc"
  2586. result_t CC1000ControlM$CC1000Control$SelectLock(uint8_t Value)
  2587. #line 505
  2588. {
  2589.   CC1000ControlM$gCurrentParameters[0xd] = Value << 4;
  2590.   return CC1000ControlM$HPLChipcon$write(0x0D, Value << 4);
  2591. }
  2592. # 170 "../../tos/platform/mica2/CC1000Control.nc"
  2593. inline static  result_t CC1000RadioIntM$CC1000Control$SelectLock(uint8_t arg_0x8544980){
  2594. #line 170
  2595.   unsigned char result;
  2596. #line 170
  2597. #line 170
  2598.   result = CC1000ControlM$CC1000Control$SelectLock(arg_0x8544980);
  2599. #line 170
  2600. #line 170
  2601.   return result;
  2602. #line 170
  2603. }
  2604. #line 170
  2605. # 65 "../../tos/platform/mica2/HPLCC1000.nc"
  2606. inline static   uint8_t CC1000ControlM$HPLChipcon$read(uint8_t arg_0x8873158){
  2607. #line 65
  2608.   unsigned char result;
  2609. #line 65
  2610. #line 65
  2611.   result = HPLCC1000M$HPLCC1000$read(arg_0x8873158);
  2612. #line 65
  2613. #line 65
  2614.   return result;
  2615. #line 65
  2616. }
  2617. #line 65
  2618. static inline 
  2619. # 131 "../../tos/platform/mica2/CC1000ControlM.nc"
  2620. result_t CC1000ControlM$chipcon_cal(void)
  2621. {
  2622.   CC1000ControlM$HPLChipcon$write(0x0B, 0x00);
  2623.   CC1000ControlM$HPLChipcon$write(0x42, 0x3f);
  2624.   CC1000ControlM$HPLChipcon$write(0x00, (
  2625.   1 << 4) | (1 << 0));
  2626.   CC1000ControlM$HPLChipcon$write(0x0E, ((
  2627.   1 << 7) | (
  2628.   1 << 5)) | (6 << 0));
  2629.   while ((CC1000ControlM$HPLChipcon$read(0x0E) & (1 << 3)) == 0) ;
  2630.   CC1000ControlM$HPLChipcon$write(0x0E, (
  2631.   1 << 5) | (6 << 0));
  2632.   CC1000ControlM$HPLChipcon$write(0x00, (((
  2633.   1 << 7) | (1 << 6)) | (1 << 5)) | (
  2634.   1 << 0));
  2635.   CC1000ControlM$HPLChipcon$write(0x09, CC1000ControlM$gCurrentParameters[29]);
  2636.   CC1000ControlM$HPLChipcon$write(0x0B, 0x00);
  2637.   CC1000ControlM$HPLChipcon$write(0x0E, ((
  2638.   1 << 7) | (
  2639.   1 << 5)) | (6 << 0));
  2640.   while ((CC1000ControlM$HPLChipcon$read(0x0E) & (1 << 3)) == 0) ;
  2641.   CC1000ControlM$HPLChipcon$write(0x0E, (
  2642.   1 << 5) | (6 << 0));
  2643.   return SUCCESS;
  2644. }
  2645. static inline void CC1000ControlM$cc1000SetFreq(void)
  2646. #line 187
  2647. {
  2648.   uint8_t i;
  2649.   for (i = 1; i < 0x0d; i++) {
  2650.       CC1000ControlM$HPLChipcon$write(i, CC1000ControlM$gCurrentParameters[i]);
  2651.     }
  2652.   CC1000ControlM$HPLChipcon$write(0x12, CC1000ControlM$gCurrentParameters[0x12]);
  2653.   CC1000ControlM$chipcon_cal();
  2654.   return;
  2655. }
  2656. static inline  
  2657. #line 400
  2658. result_t CC1000ControlM$CC1000Control$TunePreset(uint8_t freq)
  2659. #line 400
  2660. {
  2661.   int i;
  2662.   for (i = 1; i < 31; i++) {
  2663.       CC1000ControlM$gCurrentParameters[i] = ({
  2664. #line 405
  2665.         uint16_t __addr16 = (uint16_t )(uint16_t )&CC1K_Params[freq][i];
  2666. #line 405
  2667.         uint8_t __result;
  2668. #line 405
  2669.          __asm ("lpm %0, Z""nt" : "=r"(__result) : "z"(__addr16));__result;
  2670.       }
  2671.       );
  2672.     }
  2673. #line 407
  2674.   CC1000ControlM$cc1000SetFreq();
  2675.   return SUCCESS;
  2676. }
  2677. static inline 
  2678. #line 203
  2679. void CC1000ControlM$cc1000SetModem(void)
  2680. #line 203
  2681. {
  2682.   CC1000ControlM$HPLChipcon$write(0x0F, CC1000ControlM$gCurrentParameters[0x0f]);
  2683.   CC1000ControlM$HPLChipcon$write(0x10, CC1000ControlM$gCurrentParameters[0x10]);
  2684.   CC1000ControlM$HPLChipcon$write(0x11, CC1000ControlM$gCurrentParameters[0x11]);
  2685.   return;
  2686. }
  2687. static 
  2688. # 101 "../../tos/platform/mica2/hardware.h"
  2689. void __inline TOSH_uwait(int u_sec)
  2690. #line 101
  2691. {
  2692.   while (u_sec > 0) {
  2693.        __asm volatile ("nop");
  2694.        __asm volatile ("nop");
  2695.        __asm volatile ("nop");
  2696.        __asm volatile ("nop");
  2697.        __asm volatile ("nop");
  2698.        __asm volatile ("nop");
  2699.        __asm volatile ("nop");
  2700.        __asm volatile ("nop");
  2701.       u_sec--;
  2702.     }
  2703. }
  2704. #line 127
  2705. static __inline void TOSH_SET_CC_PCLK_PIN(void)
  2706. #line 127
  2707. {
  2708. #line 127
  2709.   * (volatile uint8_t *)(0x12 + 0x20) |= 1 << 6;
  2710. }
  2711. #line 126
  2712. static __inline void TOSH_SET_CC_PDATA_PIN(void)
  2713. #line 126
  2714. {
  2715. #line 126
  2716.   * (volatile uint8_t *)(0x12 + 0x20) |= 1 << 7;
  2717. }
  2718. #line 128
  2719. static __inline void TOSH_SET_CC_PALE_PIN(void)
  2720. #line 128
  2721. {
  2722. #line 128
  2723.   * (volatile uint8_t *)(0x12 + 0x20) |= 1 << 4;
  2724. }
  2725. static inline  
  2726. # 51 "../../tos/platform/mica2/HPLCC1000M.nc"
  2727. result_t HPLCC1000M$HPLCC1000$init(void)
  2728. #line 51
  2729. {
  2730.   TOSH_MAKE_CC_CHP_OUT_INPUT();
  2731.   TOSH_MAKE_CC_PALE_OUTPUT();
  2732.   TOSH_MAKE_CC_PCLK_OUTPUT();
  2733.   TOSH_MAKE_CC_PDATA_OUTPUT();
  2734.   TOSH_SET_CC_PALE_PIN();
  2735.   TOSH_SET_CC_PDATA_PIN();
  2736.   TOSH_SET_CC_PCLK_PIN();
  2737.   return SUCCESS;
  2738. }
  2739. # 51 "../../tos/platform/mica2/HPLCC1000.nc"
  2740. inline static  result_t CC1000ControlM$HPLChipcon$init(void){
  2741. #line 51
  2742.   unsigned char result;
  2743. #line 51
  2744. #line 51
  2745.   result = HPLCC1000M$HPLCC1000$init();
  2746. #line 51
  2747. #line 51
  2748.   return result;
  2749. #line 51
  2750. }
  2751. #line 51
  2752. static inline  
  2753. # 342 "../../tos/platform/mica2/CC1000ControlM.nc"
  2754. result_t CC1000ControlM$StdControl$init(void)
  2755. #line 342
  2756. {
  2757.   * (volatile uint8_t *)0x8A = 0x41;
  2758.   CC1000ControlM$HPLChipcon$init();
  2759.   CC1000ControlM$HPLChipcon$write(0x00, (((
  2760.   1 << 5) | (1 << 4)) | (
  2761.   1 << 3)) | (1 << 1));
  2762.   CC1000ControlM$HPLChipcon$write(0x00, ((((
  2763.   1 << 5) | (1 << 4)) | (
  2764.   1 << 3)) | (1 << 1)) | (
  2765.   1 << 0));
  2766.   TOSH_uwait(2000);
  2767.   CC1000ControlM$gCurrentParameters[0xb] = (8 << 4) | (0 << 0);
  2768.   CC1000ControlM$HPLChipcon$write(0x0B, CC1000ControlM$gCurrentParameters[0xb]);
  2769.   CC1000ControlM$gCurrentParameters[0xd] = 9 << 4;
  2770.   CC1000ControlM$HPLChipcon$write(4, CC1000ControlM$gCurrentParameters[0xd]);
  2771.   CC1000ControlM$gCurrentParameters[0xf] = 0;
  2772.   CC1000ControlM$gCurrentParameters[0x10] = (((3 << 5) | (1 << 3)) | (
  2773.   3 << 1)) | (1 << 0);
  2774.   CC1000ControlM$gCurrentParameters[0x11] = ((5 << 4) | (1 << 2)) | (
  2775.   1 << 0);
  2776.   CC1000ControlM$cc1000SetModem();
  2777.   CC1000ControlM$gCurrentParameters[0x13] = 1 << 0;
  2778.   CC1000ControlM$HPLChipcon$write(0x13, CC1000ControlM$gCurrentParameters[0x13]);
  2779.   CC1000ControlM$gCurrentParameters[0x1e] = TRUE;
  2780.   CC1000ControlM$CC1000Control$TunePreset(0x00);
  2781.   return SUCCESS;
  2782. }
  2783. # 63 "/home/testuser/tinyos-1.x/tos/interfaces/StdControl.nc"
  2784. inline static  result_t CC1000RadioIntM$CC1000StdControl$init(void){
  2785. #line 63
  2786.   unsigned char result;
  2787. #line 63
  2788. #line 63
  2789.   result = CC1000ControlM$StdControl$init();
  2790. #line 63
  2791. #line 63
  2792.   return result;
  2793. #line 63
  2794. }
  2795. #line 63
  2796. # 143 "../../tos/platform/mica2/hardware.h"
  2797. static __inline void TOSH_MAKE_MOSI_INPUT(void)
  2798. #line 143
  2799. {
  2800. #line 143
  2801.   * (volatile uint8_t *)(0x17 + 0x20) &= ~(1 << 2);
  2802. }
  2803. static __inline void TOSH_MAKE_SPI_SCK_INPUT(void)
  2804. #line 146
  2805. {
  2806. #line 146
  2807.   * (volatile uint8_t *)(0x17 + 0x20) &= ~(1 << 1);
  2808. }
  2809. static inline   
  2810. # 90 "../../tos/platform/mica2/HPLSpiM.nc"
  2811. result_t HPLSpiM$SpiByteFifo$initSlave(void)
  2812. #line 90
  2813. {
  2814.   { __nesc_atomic_t __nesc_atomic = __nesc_atomic_start();
  2815. #line 91
  2816.     {
  2817.       TOSH_MAKE_SPI_SCK_INPUT();
  2818.       TOSH_MAKE_MISO_INPUT();
  2819.       TOSH_MAKE_MOSI_INPUT();
  2820.       * (volatile uint8_t *)(0x0D + 0x20) &= ~(1 << 3);
  2821.       * (volatile uint8_t *)(0x0D + 0x20) &= ~(1 << 2);
  2822.       * (volatile uint8_t *)(0x0D + 0x20) |= 1 << 7;
  2823.       * (volatile uint8_t *)(0x0D + 0x20) |= 1 << 6;
  2824.     }
  2825. #line 99
  2826.     __nesc_atomic_end(__nesc_atomic); }
  2827.   return SUCCESS;
  2828. }
  2829. # 38 "../../tos/platform/mica2/SpiByteFifo.nc"
  2830. inline static   result_t CC1000RadioIntM$SpiByteFifo$initSlave(void){
  2831. #line 38
  2832.   unsigned char result;
  2833. #line 38
  2834. #line 38
  2835.   result = HPLSpiM$SpiByteFifo$initSlave();
  2836. #line 38
  2837. #line 38
  2838.   return result;
  2839. #line 38
  2840. }
  2841. #line 38
  2842. static inline  
  2843. # 648 "../../tos/platform/mica2/CC1000RadioIntM.nc"
  2844. result_t CC1000RadioIntM$StdControl$init(void)
  2845. #line 648
  2846. {
  2847.   char i;
  2848.   ecnMsgType *ecnMsgPtr = (ecnMsgType *)CC1000RadioIntM$ecnMsgHdr.data;
  2849. #line 651
  2850.   { __nesc_atomic_t __nesc_atomic = __nesc_atomic_start();
  2851. #line 651
  2852.     {
  2853.       CC1000RadioIntM$RadioState = CC1000RadioIntM$DISABLED_STATE;
  2854.       CC1000RadioIntM$RadioTxState = CC1000RadioIntM$TXSTATE_PREAMBLE;
  2855.       CC1000RadioIntM$rxbufptr = &CC1000RadioIntM$RxBuf;
  2856.       CC1000RadioIntM$rxbufptr->length = 0;
  2857.       CC1000RadioIntM$rxlength = MSG_DATA_SIZE - 2;
  2858.       CC1000RadioIntM$RxBitOffset = 0;
  2859.       CC1000RadioIntM$iSquelchCount = 0;
  2860.       CC1000RadioIntM$PreambleCount = 0;
  2861.       CC1000RadioIntM$RSSISampleFreq = 0;
  2862.       CC1000RadioIntM$RxShiftBuf.W = 0;
  2863.       CC1000RadioIntM$iRSSIcount = 0;
  2864.       CC1000RadioIntM$bTxPending = FALSE;
  2865.       CC1000RadioIntM$bTxBusy = FALSE;
  2866.       CC1000RadioIntM$bRSSIValid = FALSE;
  2867.       CC1000RadioIntM$bAckEnable = FALSE;
  2868.       CC1000RadioIntM$bCCAEnable = TRUE;
  2869.       CC1000RadioIntM$CC1K_PulseLevel = 300;
  2870.       CC1000RadioIntM$sMacDelay = -1;
  2871.       CC1000RadioIntM$usRSSIVal = -1;
  2872.       CC1000RadioIntM$usSquelchIndex = 0;
  2873.       CC1000RadioIntM$pulse_check_count = 0;
  2874.       CC1000RadioIntM$lplpower = 0;
  2875.       CC1000RadioIntM$RSSIInitState = CC1000RadioIntM$NULL_STATE;
  2876.       CC1000RadioIntM$usSquelchVal = 0x120;
  2877.       CC1000RadioIntM$currentMAC = CC1000RadioIntM$BMAC;
  2878.       CC1000RadioIntM$congBackOffs = 0;
  2879.       CC1000RadioIntM$packetsSent = 0;
  2880.       CC1000RadioIntM$pktsLastSync = 0;
  2881.       CC1000RadioIntM$avgLoss = 0.0;
  2882.       CC1000RadioIntM$curHCLlist = 0;
  2883.       CC1000RadioIntM$globalFrameLength = 32;
  2884.       CC1000RadioIntM$localFrameLength = 32;
  2885.       CC1000RadioIntM$slotSize = 50;
  2886.       CC1000RadioIntM$localFrameSize = CC1000RadioIntM$localFrameLength * CC1000RadioIntM$slotSize;
  2887.       CC1000RadioIntM$globalFrameSize = CC1000RadioIntM$globalFrameLength * CC1000RadioIntM$slotSize;
  2888.       CC1000RadioIntM$ackOrig = CC1000RadioIntM$bAckEnable;
  2889.       CC1000RadioIntM$ecnPending = FALSE;
  2890.       CC1000RadioIntM$ecnforward = FALSE;
  2891.       CC1000RadioIntM$enableHCL = FALSE;
  2892.       CC1000RadioIntM$pureHCL = FALSE;
  2893.       CC1000RadioIntM$HCLselect = 0;
  2894.       CC1000RadioIntM$needTimeSync = FALSE;
  2895.       CC1000RadioIntM$slots_since_ecnsend = 0;
  2896.       CC1000RadioIntM$slots_since_ecnrecv = 0;
  2897.       CC1000RadioIntM$slots_since_ecncheck = 0;
  2898.       CC1000RadioIntM$ecnMsgHdr.type = 222;
  2899.       CC1000RadioIntM$ecnMsgHdr.addr = TOS_BCAST_ADDR;
  2900.       CC1000RadioIntM$ecnMsgHdr.length = sizeof(ecnMsgType );
  2901.       CC1000RadioIntM$ecnMsgHdr.group = 125;
  2902.       CC1000RadioIntM$ecnMsgHdr.crc = 0;