2020-08-04 21:44:45 +02:00
|
|
|
|
______________________________________
|
|
|
|
|
|
|
|
|
|
Recap: message in CAN protocol
|
|
|
|
|
↓ 11b ↓ 64b (8 bytes)
|
|
|
|
|
+----+-----------------+ - - -
|
2020-08-06 18:09:30 +02:00
|
|
|
|
| id | body | don’t care for now
|
2020-08-04 21:44:45 +02:00
|
|
|
|
+----+-----------------+ - - -
|
|
|
|
|
|
2020-08-06 18:09:30 +02:00
|
|
|
|
Priority is controlled by the ID: if a message with a higher ID is on the bus, lower messages will
|
|
|
|
|
be silenced due to the design of CAN.
|
|
|
|
|
|
2020-08-04 21:44:45 +02:00
|
|
|
|
______________________________________
|
|
|
|
|
|
2020-08-06 18:09:30 +02:00
|
|
|
|
OBUS message specification
|
2020-08-04 21:44:45 +02:00
|
|
|
|
|
|
|
|
|
ID:
|
|
|
|
|
b bb bbbbbbbb
|
|
|
|
|
| | ↓
|
|
|
|
|
| ↓ module-ID: 2⁸=256
|
|
|
|
|
↓ type: 2²=4
|
2020-08-16 01:50:19 +02:00
|
|
|
|
priority bit (so that each type can send priority messages if need be, 0 = high priority, 1 = low priority)
|
2020-08-04 21:44:45 +02:00
|
|
|
|
|
|
|
|
|
type:
|
2020-08-25 21:07:25 +02:00
|
|
|
|
- 0 module-ID 0: controller, >0: info
|
2020-08-04 21:44:45 +02:00
|
|
|
|
- 1 puzzel
|
|
|
|
|
- 2 needy
|
|
|
|
|
- 3 reserved for future use
|
|
|
|
|
|
|
|
|
|
Payload:
|
|
|
|
|
[ B B B B B B B B ]
|
|
|
|
|
-
|
|
|
|
|
↓
|
2020-08-10 22:25:51 +02:00
|
|
|
|
type of the message (per module type)
|
2020-08-04 21:44:45 +02:00
|
|
|
|
|
|
|
|
|
- - - - - - - - - - - - - - - - - - -
|
|
|
|
|
|
|
|
|
|
Types for controller:
|
|
|
|
|
|
|
|
|
|
- 0 acknowledge valid message
|
|
|
|
|
[ X B B B B B B B ]
|
|
|
|
|
--------------
|
|
|
|
|
reserved
|
|
|
|
|
|
|
|
|
|
- 1 hello
|
|
|
|
|
[ X B B B B B B B ]
|
|
|
|
|
--------------
|
|
|
|
|
reserved
|
|
|
|
|
|
|
|
|
|
- 2 game start
|
|
|
|
|
[ X B B B B B B B ]
|
2020-08-06 18:09:30 +02:00
|
|
|
|
-------- - - -
|
|
|
|
|
time left ↓ ↓ reserved
|
|
|
|
|
#strikes #max strikes
|
2020-08-04 21:44:45 +02:00
|
|
|
|
|
|
|
|
|
- 3 state (every x ms – e.g. in the middle of each second)
|
|
|
|
|
[ X B B B B B B B ]
|
|
|
|
|
-------- - - -
|
|
|
|
|
time left ↓ ↓ reserved
|
|
|
|
|
#strikes #max strikes
|
|
|
|
|
|
|
|
|
|
- 4-6 solved, timeout, strikeout
|
|
|
|
|
[ X B B B B B B B ]
|
|
|
|
|
-------- - - -
|
|
|
|
|
end time ↓ ↓ reserved
|
|
|
|
|
#strikes #max strikes
|
|
|
|
|
|
2020-09-09 16:02:53 +02:00
|
|
|
|
- 7 info start
|
|
|
|
|
[ X B B B B B B B ]
|
|
|
|
|
--------------
|
|
|
|
|
reserved
|
|
|
|
|
|
|
|
|
|
- 8-255 reserved
|
2020-08-04 21:44:45 +02:00
|
|
|
|
|
|
|
|
|
- - - - - - - - - - - - - - - - - - -
|
|
|
|
|
|
2020-08-25 21:07:25 +02:00
|
|
|
|
Types for info:
|
|
|
|
|
|
|
|
|
|
These are managed by MOANA: the Modules of OBUS Authority for Numbers Assignment.
|
|
|
|
|
You can reach MOANA in the ~obus Mattermost channel.
|
|
|
|
|
|
|
|
|
|
(none yet)
|
|
|
|
|
|
|
|
|
|
- - - - - - - - - - - - - - - - - - -
|
|
|
|
|
|
2020-08-04 21:44:45 +02:00
|
|
|
|
Types for modules:
|
|
|
|
|
|
2020-08-16 04:16:36 +02:00
|
|
|
|
- 0 register
|
2020-08-04 21:44:45 +02:00
|
|
|
|
[ X B B B B B B B ]
|
|
|
|
|
--------------
|
|
|
|
|
reserved
|
|
|
|
|
|
|
|
|
|
- 1 strike
|
|
|
|
|
[ X B B B B B B B ]
|
2020-08-10 23:07:46 +02:00
|
|
|
|
↓ -----↓------
|
|
|
|
|
#strikes reserved
|
2020-08-04 21:44:45 +02:00
|
|
|
|
|
|
|
|
|
- 2 solved (not for needy modules)
|
|
|
|
|
[ X B B B B B B B ]
|
|
|
|
|
--------------
|
|
|
|
|
reserved
|