📄 app.c
字号:
TOS_node_state_t node_state[TOSNODES]; event_queue_t queue; uint8_t radioModel; rfm_model *rfm; adc_model *adc; spatial_model *space; bool moteOn[TOSNODES]; bool cancelBoot[TOSNODES]; bool paused; pthread_mutex_t pause_lock; pthread_cond_t pause_cond; pthread_cond_t pause_ack_cond;} TOS_state_t;extern TOS_state_t tos_state;void set_sim_rate(uint32_t );uint32_t get_sim_rate(void);static void __nesc_nido_initialise(int mote);# 54 "C:/tinyos/cygwin/opt/tinyos-1.x/tos/types/dbg_modes.h"typedef long long TOS_dbg_mode;enum __nesc_unnamed4271 { DBG_ALL = ~0ULL, DBG_BOOT = 1ULL << 0, DBG_CLOCK = 1ULL << 1, DBG_TASK = 1ULL << 2, DBG_SCHED = 1ULL << 3, DBG_SENSOR = 1ULL << 4, DBG_LED = 1ULL << 5, DBG_CRYPTO = 1ULL << 6, DBG_ROUTE = 1ULL << 7, DBG_AM = 1ULL << 8, DBG_CRC = 1ULL << 9, DBG_PACKET = 1ULL << 10, DBG_ENCODE = 1ULL << 11, DBG_RADIO = 1ULL << 12, DBG_LOG = 1ULL << 13, DBG_ADC = 1ULL << 14, DBG_I2C = 1ULL << 15, DBG_UART = 1ULL << 16, DBG_PROG = 1ULL << 17, DBG_SOUNDER = 1ULL << 18, DBG_TIME = 1ULL << 19, DBG_POWER = 1ULL << 20, DBG_SIM = 1ULL << 21, DBG_QUEUE = 1ULL << 22, DBG_SIMRADIO = 1ULL << 23, DBG_HARD = 1ULL << 24, DBG_MEM = 1ULL << 25, DBG_USR1 = 1ULL << 27, DBG_USR2 = 1ULL << 28, DBG_USR3 = 1ULL << 29, DBG_TEMP = 1ULL << 30, DBG_ERROR = 1ULL << 31, DBG_NONE = 0, DBG_DEFAULT = DBG_ALL};static inline # 127 "C:/tinyos/cygwin/opt/tinyos-1.x/tos/platform/pc/nido.h"void tos_state_model_init(void );static inline # 48 "C:/tinyos/cygwin/opt/tinyos-1.x/tos/platform/pc/hardware.nido.h"void init_hardware(void);static short set_io_bit(char port, char bit);static inline short clear_io_bit(char port, char bit);#line 219enum __nesc_unnamed4272 { TOSH_period16 = 0x00, TOSH_period32 = 0x01, TOSH_period64 = 0x02, TOSH_period128 = 0x03, TOSH_period256 = 0x04, TOSH_period512 = 0x05, TOSH_period1024 = 0x06, TOSH_period2048 = 0x07};enum __nesc_unnamed4273 { TOSH_ACTUAL_CC_RSSI_PORT = 0, TOSH_ACTUAL_VOLTAGE_PORT = 7, TOSH_ACTUAL_BANDGAP_PORT = 30, TOSH_ACTUAL_GND_PORT = 31};enum __nesc_unnamed4274 { TOS_ADC_CC_RSSI_PORT = 0, TOS_ADC_VOLTAGE_PORT = 7, TOS_ADC_BANDGAP_PORT = 10, TOS_ADC_GND_PORT = 11};#line 265static __inline void TOSH_SET_INT1_PIN(void);#line 265static __inline void TOSH_CLR_INT1_PIN(void);#line 265static __inline void TOSH_MAKE_INT1_OUTPUT(void);#line 265static __inline void TOSH_MAKE_INT1_INPUT(void);static __inline void TOSH_SET_INT2_PIN(void);#line 266static __inline void TOSH_CLR_INT2_PIN(void);#line 266static __inline void TOSH_MAKE_INT2_OUTPUT(void);#line 266static __inline void TOSH_MAKE_INT2_INPUT(void);static __inline void TOSH_CLR_RFM_TXD_PIN(void);#line 270static __inline void TOSH_MAKE_RFM_TXD_INPUT(void);static __inline void TOSH_SET_RFM_CTL0_PIN(void);#line 271static __inline void TOSH_CLR_RFM_CTL0_PIN(void);static __inline void TOSH_SET_RFM_CTL1_PIN(void);# 18 "/usr/include/cygwin/socket.h"struct sockaddr { unsigned short sa_family; char sa_data[14];};# 37 "/usr/include/cygwin/if.h"struct ifreq { union __nesc_unnamed4275 { char ifrn_name[16]; } ifr_ifrn; union __nesc_unnamed4276 { struct sockaddr ifru_addr; struct sockaddr ifru_broadaddr; struct sockaddr ifru_netmask; struct sockaddr ifru_hwaddr; short ifru_flags; int ifru_metric; int ifru_mtu; } ifr_ifru;};#line 74struct ifconf { int ifc_len; union __nesc_unnamed4277 { caddr_t ifcu_buf; struct ifreq *ifcu_req; } ifc_ifcu;};# 28 "/usr/include/cygwin/socket.h"struct linger { unsigned short l_onoff; unsigned short l_linger;};struct msghdr { void *msg_name; int msg_namelen; struct iovec *msg_iov; int msg_iovlen; void *msg_accrights; int msg_accrightslen;};# 29 "/usr/include/sys/socket.h"int accept(int , struct sockaddr *__peer, int *);int bind(int , const struct sockaddr *__my_addr, int __addrlen);int listen(int , int __n);int send(int , const void *__buff, int __len, int __flags);int setsockopt(int __s, int __level, int __optname, const void *optval, int __optlen);int socket(int __family, int __type, int __protocol);struct servent;# 24 "/usr/include/cygwin/in.h"enum __nesc_unnamed4278 { IPPROTO_IP = 0, IPPROTO_ICMP = 1, IPPROTO_IGMP = 2, IPPROTO_IPIP = 4, IPPROTO_TCP = 6, IPPROTO_EGP = 8, IPPROTO_PUP = 12, IPPROTO_UDP = 17, IPPROTO_IDP = 22, IPPROTO_RAW = 255, IPPROTO_MAX};typedef uint16_t in_port_t;enum __nesc_unnamed4279 { IPPORT_ECHO = 7, IPPORT_DISCARD = 9, IPPORT_SYSTAT = 11, IPPORT_DAYTIME = 13, IPPORT_NETSTAT = 15, IPPORT_FTP = 21, IPPORT_TELNET = 23, IPPORT_SMTP = 25, IPPORT_TIMESERVER = 37, IPPORT_NAMESERVER = 42, IPPORT_WHOIS = 43, IPPORT_MTP = 57, IPPORT_TFTP = 69, IPPORT_RJE = 77, IPPORT_FINGER = 79, IPPORT_TTYLINK = 87, IPPORT_SUPDUP = 95, IPPORT_EXECSERVER = 512, IPPORT_LOGINSERVER = 513, IPPORT_CMDSERVER = 514, IPPORT_EFSSERVER = 520, IPPORT_BIFFUDP = 512, IPPORT_WHOSERVER = 513, IPPORT_ROUTESERVER = 520, IPPORT_RESERVED = 1024, IPPORT_USERRESERVED = 5000};typedef uint32_t in_addr_t;struct in_addr { unsigned int s_addr;};struct ip_mreq { struct in_addr imr_multiaddr; struct in_addr imr_interface;};struct sockaddr_in { short int sin_family; unsigned short int sin_port; struct in_addr sin_addr; unsigned char __pad [#line 106 16 - sizeof(short int ) - sizeof(unsigned short int ) - sizeof(struct in_addr )];};# 35 "/usr/include/asm/byteorder.h" 3extern unsigned short int ntohs(unsigned short int );extern unsigned long int htonl(unsigned long int );extern unsigned short int htons(unsigned short int );# 175 "/usr/include/cygwin/in.h"struct in6_addr { unsigned char s6_addr[16];};struct sockaddr_in6 { unsigned short sin6_family; unsigned short sin6_port; unsigned long sin6_flowinfo; struct in6_addr sin6_addr;};# 4 "/usr/include/errno.h"typedef int error_t;# 15 "/usr/include/sys/errno.h"extern int *__errno(void ); # 46 "C:/tinyos/cygwin/opt/tinyos-1.x/tos/platform/pc/external_comm.h"static int socketsInitialized = 0;static inline void initializeSockets(void);static inline int readTossimCommand(int clifd, int clidx);static void buildTossimEvent(uint16_t moteID, uint16_t type, long long ftime, void *data, unsigned char **msgp, int *lenp);static void sendTossimEvent(uint16_t moteID, uint16_t type, long long ftime, void *data);static int writeTossimEvent(void *data, int datalen, int clifd);static inline char *currentTime(void);static inline int printTime(char *buf, int len);static int printOtherTime(char *buf, int len, long long int ftime);# 111 "/usr/lib/gcc-lib/i686-pc-cygwin/3.2/include/stdarg.h" 3typedef __gnuc_va_list va_list;# 58 "C:/tinyos/cygwin/opt/tinyos-1.x/tos/platform/pc/GuiMsg.h"enum __nesc_unnamed4280 { AM_DEBUGMSGEVENT = 1, AM_RADIOMSGSENTEVENT = 1 << 1, AM_UARTMSGSENTEVENT = 1 << 2, AM_ADCDATAREADYEVENT = 1 << 3, AM_TOSSIMINITEVENT = 1 << 4, AM_INTERRUPTEVENT = 1 << 5, AM_LEDEVENT = 1 << 6, AM_TURNONMOTECOMMAND = 1 << 12, AM_TURNOFFMOTECOMMAND, AM_RADIOMSGSENDCOMMAND, AM_UARTMSGSENDCOMMAND, AM_SETLINKPROBCOMMAND, AM_SETADCPORTVALUECOMMAND, AM_INTERRUPTCOMMAND, AM_SETRATECOMMAND, AM_SETDBGCOMMAND, AM_VARIABLERESOLVECOMMAND, AM_VARIABLERESOLVERESPONSE, AM_VARIABLEREQUESTCOMMAND, AM_VARIABLEREQUESTRESPONSE, AM_GETMOTECOUNTCOMMAND, AM_GETMOTECOUNTRESPONSE, AM_SETEVENTMASKCOMMAND, AM_BEGINBATCHCOMMAND, AM_ENDBATCHCOMMAND};typedef struct GuiMsg { uint16_t msgType; uint16_t moteID; long long time; uint16_t payLoadLen;} GuiMsg;typedef struct DebugMsgEvent { char debugMessage[512];} DebugMsgEvent;typedef struct RadioMsgSentEvent { TOS_Msg message;} RadioMsgSentEvent;typedef struct UARTMsgSentEvent { TOS_Msg message;} UARTMsgSentEvent;typedef struct ADCDataReadyEvent { uint8_t port; uint16_t data;} ADCDataReadyEvent;typedef struct VariableResolveResponse { uint32_t addr; uint32_t length;} VariableResolveResponse;typedef struct VariableRequestResponse { uint32_t length; char value[256];} VariableRequestResponse;typedef struct TossimInitEvent { int numMotes; uint8_t radioModel; uint32_t rate;} __attribute((packed)) TossimInitEvent;typedef struct InterruptEvent { uint32_t id;} InterruptEvent;typedef struct TurnOnMoteCommand {} TurnOnMoteCommand;typedef struct TurnOffMoteCommand {} TurnOffMoteCommand;typedef struct RadioMsgSendCommand { TOS_Msg message;} RadioMsgSendCommand;typedef struct UARTMsgSendCommand { TOS_Msg message;} UARTMsgSendCommand;typedef struct SetLinkProbCommand { uint16_t moteReceiver; uint32_t scaledProb;} SetLinkProbCommand;typedef struct SetADCPortValueCommand { uint8_t port; uint16_t value;} SetADCPortValueCommand;typedef struct VariableResolveCommand { char name[256];} VariableResolveCommand;typedef struct VariableRequestCommand { uint32_t addr; uint8_t length;} VariableRequestCommand;typedef struct InterruptCommand { uint32_t id;} InterruptCommand;typedef struct SetRateCommand { uint32_t rate;} SetRateCommand;typedef struct LedEvent { uint8_t red : 1; uint8_t green : 1; uint8_t yellow : 1;} LedEvent;typedef struct SetDBGCommand { long long dbg;} SetDBGCommand;typedef struct GetMoteCountCommand { uint8_t placeholder;} GetMoteCountCommand;typedef struct GetMoteCountResponse { uint16_t totalMotes; uint8_t bitmask[(TOSNODES + 7) / 8];} GetMoteCountResponse;typedef struct SetEventMaskCommand { uint16_t mask;} SetEventMaskCommand;typedef struct BeginBatchCommand {} BeginBatchCommand;typedef struct EndBatchCommand {} EndBatchCommand;# 72 "C:/tinyos/cygwin/opt/tinyos-1.x/tos/types/dbg.h"typedef struct dbg_mode { char *d_name; unsigned long long d_mode;} TOS_dbg_mode_names;TOS_dbg_mode dbg_modes = 0; bool dbg_suppress_stdout = 0;static bool dbg_active(TOS_dbg_mode mode);static void dbg_add_mode(const char *mode);static void dbg_add_modes(const char *modes);static void dbg_init(void );static void dbg_help(void );static void dbg_set(TOS_dbg_mode );static void dbg(TOS_dbg_mode mode, const char *format, ...);#line 112static void dbg_clear(TOS_dbg_mode mode, const char *format, ...);# 66 "C:/tinyos/cygwin/opt/tinyos-1.x/tos/platform/pc/hardware.h"extern TOS_dbg_mode dbg_modes; TOS_state_t tos_state;#line 86typedef uint8_t __nesc_atomic_t;__inline __nesc_atomic_t __nesc_atomic_start(void );__inline void __nesc_atomic_end(__nesc_atomic_t oldSreg);enum __nesc_unnamed4281 { TOSH_ADC_PORTMAPSIZE = 255};# 48 "C:/tinyos/cygwin/opt/tinyos-1.x/tos/platform/pc/heap_array.c"const int STARTING_SIZE = 511;typedef struct node { void *data; long long key;} node_t;static void down_heap(heap_t *heap, int findex);static void up_heap(heap_t *heap, int findex);static void swap(node_t *first, node_t *second);static inline void init_heap(heap_t *heap);static inline int is_empty(heap_t *heap);static inline int heap_is_empty(heap_t *heap);static inline long long heap_get_min_key(heap_t *heap);static #line 104void *heap_pop_min_data(heap_t *heap, long long *key);static inline #line 120void expand_heap(heap_t *heap);static inline #line 134void heap_insert(heap_t *heap, void *data, long long key);static #line 148void swap(node_t *first, node_t *second);static #line 161void down_heap(heap_t *heap, int findex);static #line 187void up_heap(heap_t *heap, int findex); # 41 "C:/tinyos/cygwin/opt/tinyos-1.x/tos/platform/pc/hardware.c"struct __nesc_unnamed4282 { char status_register; char register_A; char register_B; char register_C; char register_D; char register_E; char register_default;} TOSH_pc_hardware;static inline void init_hardware(void);static short set_io_bit(char port, char bit);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -