v2.8.2014.0927 完成微网通讯架构,封装消息协议,串口及nRF24L01+测试通过
This commit is contained in:
parent
19a495dc4a
commit
2852acdb06
1
Sys.h
1
Sys.h
|
@ -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有效
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Reference in New Issue