1.起点-终点-前进-左分叉、左旋、左移-旋角度
2.起点-终点-前进-右分叉、右旋、右移-旋角度
3.起点-终点-前进-直行-预留
4.起点-终点-后退-左分叉、左旋、左移-旋角度
5.起点-终点-后退-右分叉、右旋、右移-旋角度
6.起点-终点-后退-直行-预留
起点:16bit【可根据地址对应,不占用空间】
终点:16bit
前后:1bit【可根据地址对应,不占用空间】
左分叉、右分叉、左移、右移、直行:3bit
旋角度:9bit
//每格单元占用空间(16Bit无符号)
#define UnitLength 2
//站点最多相邻单元数【每个站点最多的可行走方式数量】:
#define NeighborUnitMax 6
//站点总数
#define StationMax 1000
//单个站点占用空间
#define SpaceOne NeighborUnitMax*UnitLength
//所有占用空间
#define SpaceTotal StationMax*SpaceOne
//第N个站点起始地址
#define StationAddress NeighborUnitMax*UnitLength*(N-1)
//单个站点缓冲区
u16 StationBuf[SpaceOne]={0};
//站点信息结构体
struct StaionNeighbor {
u16 Start;//起点0-65535
u16 Stop;//终点0-65535
u8 Dir;//方向:0:前进,1:后退
u8 Action;//0:左分叉,1:右分叉,2:左移,3:右移,4:直行
u16 Angle;//角度0-360
}