宁国市环保局 张菁菁:[转载]tinyos2.0的消息结构
来源:百度文库 编辑:偶看新闻 时间:2024/05/02 04:43:19
消息缓冲区:TinyOS2.0中的消息缓冲区类型是message_t(与1.x不同),并且仍采用了静态包缓冲策略。缓冲区大小可以适合任何节点的通信接口,组件不能直接访问结构的各域,所有缓冲区的访问必须通过接口AMPacket和Packet(定义在opttinyos-2.xtosintefaces目录)实现。
Message.h
#ifndef __MESSAGE_H__
#define __MESSAGE_H__
#include "platform_message.h"
#ifndef TOSH_DATA_LENGTH
#define TOSH_DATA_LENGTH 28
#endif
#ifndef TOS_BCAST_ADDR
#define TOS_BCAST_ADDR 0xFFFF
#endif
typedef nx_struct message_t {
} message_t;
************************
Am.h
typedef nx_uint8_t nx_am_id_t;
typedef nx_uint8_t nx_am_group_t;
typedef nx_uint16_t nx_am_addr_t;
typedef uint8_t am_id_t;
typedef uint8_t am_group_t;
typedef uint16_t am_addr_t;
enum {
};
#ifndef DEFINED_TOS_AM_GROUP
#define DEFINED_TOS_AM_GROUP 0x22
#endif
#ifndef DEFINED_TOS_AM_ADDRESS
#define DEFINED_TOS_AM_ADDRESS 1
#endif
enum {
};
#define UQ_AMQUEUE_SEND "amqueue.send"
************************************
Serial.h
#include "AM.h"
typedef uint8_t uart_id_t;
#define UQ_SERIALQUEUE_SEND "SerialQueueP.Send"
enum {
};
// message_t type dispatch
enum {
};
// Framer-level dispatch
enum {
};
typedef struct radio_stats {
} radio_stats_t;
typedef nx_struct serial_header {
} serial_header_t;
typedef nx_struct serial_packet {
} serial_packet_t;
#endif
*********************************************
typedef union mega_mica_header {
} message_header_t;
typedef union mega_mica_footer {
} message_footer_t;
typedef union mega_mica_metadata {
} message__metadata_t;
*********************************************
typedef nx_struct cc2420_metadata_t {
} cc2420_metadata_t;
*********************************************
*********************************************
typedef struct TOS_Msg {
**********************************
#ifndef PACKET_ACK_H
#define PACKET_ACK_H
typedef enum {
} packet_ack_t;
****************************
Cc2420.h
#ifndef __CC2420_H__
#define __CC2420_H__
typedef uint8_t cc2420_status_t;
typedef nx_struct cc2420_header_t {
#ifdef CC2420_IFRAME_TYPE
#endif
} cc2420_header_t;
typedef nx_struct cc2420_footer_t {
} cc2420_footer_t;
typedef nx_struct cc2420_metadata_t {
#ifdef PACKET_LINK
#endif
} cc2420_metadata_t;
typedef nx_struct cc2420_packet_t {
} cc2420_packet_t;
#ifndef TOSH_DATA_LENGTH
#define TOSH_DATA_LENGTH 28
#endif
#ifndef CC2420_DEF_CHANNEL
#define CC2420_DEF_CHANNEL 26
#endif
#ifndef CC2420_DEF_RFPOWER
#define CC2420_DEF_RFPOWER 31
#endif
#ifndef RECEIVE_HISTORY_SIZE
#define RECEIVE_HISTORY_SIZE 4
#endif
#ifndef TINYOS_6LOWPAN_NETWORK_ID
#define TINYOS_6LOWPAN_NETWORK_ID 0x0
#endif
enum {
};
*******************
IEEE802154.h
#ifndef __IEEE802154_H__
#define __IEEE802154_H__
enum ieee154_fcf_enums {
};
enum ieee154_fcf_type_enums {
};
enum iee154_fcf_addr_mode_enums {
};