0

我正在尝试为 J1939 CAN ID 创建一个数据包类。因为我想把 PGN 分成更多的领域;我想把它做成一个包。

这是 CAN ID 格式和布局。

CAN ID (29 bits)
|--- Priority (3 Bits)
|--- PGN (18 bits)
|    |--- Reserved (1 bit)
|    |--- Data Page (1 bit)
|    |--- PF (8 bits)
|    |--- PS (8 bits)
|--- Source Address (8 bits)

这是我拥有的代码和一条注释,用于填写 PGN 数据包/对象的去向。


class PGN(Packet):
    name = "Parameter Group Number"
    fields_desc = [
        BitField("R",0,1),
        BitField("DP",0,1),
        BitField("PF",0,8),
        BitField("PS",0,8)
    ]


class CANID(Packet):
    fields_desc = [
        BitField("Priority",0,3),
        # PGN packet or PGN like field
        BitField("SA",0,8)
    ]
4

0 回答 0