v2.8.2014.0927 完成微网通讯架构,封装消息协议,串口及nRF24L01+测试通过

This commit is contained in:
Stone 2014-09-27 13:35:20 +00:00
parent 19a495dc4a
commit 2852acdb06
2 changed files with 12 additions and 11 deletions

1
Sys.h
View File

@ -167,6 +167,7 @@ bool assert_ptr_(void* p);
#endif //_Sys_H_
/*
v2.8.2014.0927 nRF24L01+
v2.7.2014.0919 线
v2.6.2014.0823
v2.5.2014.0819 new/delete实现Debug有效

View File

@ -7,7 +7,9 @@
// 消息
// 头部按照内存布局,但是数据和校验部分不是
// 测试指令 0201-0100-0000-51CC从1发往2功能1标识0校验0xCC51
// 请求 0038-0403-0000-BC4C从0x38发往0广播功能4标识3保留字段用于业务长度0校验0x4CBC小字节序
// 响应 3856-048x-0000-xxxx
// 错误 3856-044x-0000
class Message
{
public:
@ -37,13 +39,14 @@ public:
void Write(MemoryStream& ms);
};
// 消息头大小
#define MESSAGE_SIZE offsetof(Message, Checksum) + 2
class Controller
{
private:
ITransport** _ports; // 数据传输口
int _portCount;
int _portCount; // 传输口个数
ITransport* _curPort; // 当前使用的数据传输口
void Init();
@ -76,9 +79,9 @@ public:
private:
struct CommandHandlerLookup
{
uint Code;
CommandHandler Handler;
void* Param;
uint Code; // 代码
CommandHandler Handler;// 处理函数
void* Param; // 参数
};
CommandHandlerLookup* _Handlers[16];
byte _HandlerCount;
@ -89,8 +92,11 @@ public:
// 常用系统级消息
public:
// 询问及设置系统时间
static bool SysTime(Message& msg, void* param);
// 询问系统标识号
static bool SysID(Message& msg, void* param);
// 广播发现系统
static bool Discover(Message& msg, void* param);
// 测试部分
@ -98,10 +104,4 @@ public:
static void Test(ITransport* port);
};
/*class DiscoverMessage : public Message
{
public:
//const
}*/
#endif