aboutsummaryrefslogtreecommitdiff
path: root/protocol2.go
blob: dbffd2287fb74c4e68cfd78372215cdf6833b5c3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
package anki

const (
	VehicleMsgV2CSpeedUpdate       ID = 0x36
	VehicleMsgV2CStatusUpdate      ID = 0x3f
	VehicleMsgV2CCollisionDetected ID = 0x4d
	VehicleMsgV2CCycleOvertime     ID = 0x86
)

// 07 36  20 03  98 3A  2A 00 cchhh
type VehicleMsgSpeedUpdate struct {
	Size         uint8
	MsgID        uint8
	DesiredSpeed uint16 // mm/sec
	Accel        uint16 // mm/sec²
	CurrentSpeed uint16 // mm/sec
}

// 05 3F  01  00  01  00
type VehicleMsgStatusUpdate struct {
	Size              uint8
	MsgID             uint8
	IsOnTrack         uint8
	IsOnCharger       uint8
	HasLowBattery     uint8
	HasChargedBattery uint8
}

// 03 4D  01  00
type VehicleMsgCollisionDetected struct {
	Size                  uint8
	MsgID                 uint8
	WasSideOnCollision    uint8
	WasFrontBackCollision uint8
}

// 0B 86  11 00  26 08 00 00  13 10 00 00 cchii
type VehicleMsgCycleOvertime struct {
	Size              uint8
	MsgID             ID
	NumOvertimeCycles uint16
	AverageCycleTime  uint32 // µsec
	MaxCycleTime      uint32 // µsec
}