-
Notifications
You must be signed in to change notification settings - Fork 206
Description
Hello, I am currently working on implementing a pure Python3.10+ compatible dvm library, libdvm. I am trying to implement the "Get Version" opcode now, and I receive this response on serial:
b'\xe0\x00\x02\x7f\x03\x02\x29\x00\x23\x00\x19\x50\x30\x34\x47\x36\x35\x20\x00\x00\x00\x00'
b'\x4d\x4d\x44\x56\x4d\x20\x52\x42\x5f\x53\x54\x4d\x33\x32\x5f\x44\x56\x4d\x28\x34\x34\x36\x29'
b'\x20\x32\x30\x32\x32\x31\x31\x32\x31\x20\x31\x32\x2e\x30\x30\x30\x30\x20\x4d\x48\x7a\x20'
b'\x47\x69\x74\x49\x44\x20\x23\x62\x38\x61\x30\x66\x37\x62'
Or, with the ASCII expressed:
b'\xe0\x00\x02\x7f\x03\x02)\x00#\x00\x19P04G65 \x00\x00\x00\x00MMDVM RB_STM32_DVM(446) 20221121 12.0000 MHz GitID #b8a0f7b'
My question is, the frame length seems to be 0, and the protocol spec seems to indicate this should be:
This value includes the Frame length:
Frame Byte Offset: 1
Field Length: 1 byte
Possible value: 0x00 – 0xFF
You can see I receive e0, the Frame preamble. But after that, I get x00, when the frame is clearly much longer. Can anyone provide guidance on how the framing works now?