Rename idempotency to count, add to strike msg
This commit is contained in:
parent
181dd87752
commit
87824c6356
2 changed files with 14 additions and 11 deletions
|
@ -51,7 +51,7 @@ uint8_t obuscan_payload_type(uint8_t module_type, uint8_t msg_type) {
|
||||||
} else {
|
} else {
|
||||||
switch (msg_type) {
|
switch (msg_type) {
|
||||||
case OBUS_MSGTYPE_M_STRIKE:
|
case OBUS_MSGTYPE_M_STRIKE:
|
||||||
return OBUS_PAYLDTYPE_IDEMPOTENCY_ID;
|
return OBUS_PAYLDTYPE_COUNT;
|
||||||
|
|
||||||
case OBUS_MSGTYPE_M_HELLO:
|
case OBUS_MSGTYPE_M_HELLO:
|
||||||
case OBUS_MSGTYPE_M_SOLVED:
|
case OBUS_MSGTYPE_M_SOLVED:
|
||||||
|
@ -119,8 +119,8 @@ bool obuscan_receive(struct obus_message *msg) {
|
||||||
msg->gamestatus.max_strikes = receive_frame.data[6];
|
msg->gamestatus.max_strikes = receive_frame.data[6];
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case OBUS_PAYLDTYPE_IDEMPOTENCY_ID:
|
case OBUS_PAYLDTYPE_COUNT:
|
||||||
msg->idempotency.id = receive_frame.data[1];
|
msg->count = receive_frame.data[1];
|
||||||
break;
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
|
@ -163,6 +163,11 @@ void obuscan_send(struct obus_message *msg) {
|
||||||
length = 7;
|
length = 7;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case OBUS_PAYLDTYPE_COUNT:
|
||||||
|
send_frame.data[1] = msg->count;
|
||||||
|
length = 2;
|
||||||
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
Serial.println(F("Unknown payload type"));
|
Serial.println(F("Unknown payload type"));
|
||||||
return;
|
return;
|
||||||
|
|
|
@ -26,9 +26,9 @@
|
||||||
#define OBUS_MSGTYPE_M_STRIKE 1
|
#define OBUS_MSGTYPE_M_STRIKE 1
|
||||||
#define OBUS_MSGTYPE_M_SOLVED 2
|
#define OBUS_MSGTYPE_M_SOLVED 2
|
||||||
|
|
||||||
#define OBUS_PAYLDTYPE_EMPTY 0
|
#define OBUS_PAYLDTYPE_EMPTY 0
|
||||||
#define OBUS_PAYLDTYPE_GAMESTATUS 1
|
#define OBUS_PAYLDTYPE_GAMESTATUS 1
|
||||||
#define OBUS_PAYLDTYPE_IDEMPOTENCY_ID 2
|
#define OBUS_PAYLDTYPE_COUNT 2
|
||||||
|
|
||||||
struct module {
|
struct module {
|
||||||
uint8_t type;
|
uint8_t type;
|
||||||
|
@ -41,9 +41,6 @@ struct payld_gamestatus {
|
||||||
uint8_t strikes;
|
uint8_t strikes;
|
||||||
uint8_t max_strikes;
|
uint8_t max_strikes;
|
||||||
};
|
};
|
||||||
struct payld_idempotency {
|
|
||||||
uint8_t id;
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
struct obus_message {
|
struct obus_message {
|
||||||
|
@ -53,7 +50,7 @@ struct obus_message {
|
||||||
union {
|
union {
|
||||||
struct payld_empty empty;
|
struct payld_empty empty;
|
||||||
struct payld_gamestatus gamestatus;
|
struct payld_gamestatus gamestatus;
|
||||||
struct payld_idempotency idempotency;
|
uint8_t count;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -210,9 +207,10 @@ inline void obuscan_send_m_hello(struct module from) {
|
||||||
/**
|
/**
|
||||||
* Send a module "strike" OBUS message
|
* Send a module "strike" OBUS message
|
||||||
*/
|
*/
|
||||||
inline void obuscan_send_m_strike(struct module from) {
|
inline void obuscan_send_m_strike(struct module from, uint8_t count) {
|
||||||
assert(from.type != OBUS_TYPE_CONTROLLER);
|
assert(from.type != OBUS_TYPE_CONTROLLER);
|
||||||
struct obus_message msg = _obuscan_msg(from, false, OBUS_MSGTYPE_M_STRIKE);
|
struct obus_message msg = _obuscan_msg(from, false, OBUS_MSGTYPE_M_STRIKE);
|
||||||
|
msg.count = count;
|
||||||
obuscan_send(&msg);
|
obuscan_send(&msg);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue