stuff parameters into the bits we're not using

This commit is contained in:
Joey Castillo 2022-02-19 13:28:09 -05:00
parent 9f0f72eb20
commit 691c068e6e
2 changed files with 18 additions and 4 deletions

View File

@ -31,6 +31,7 @@ static const char activity_types[][3] = {
"SL", // Sleeping
"WH", // Washing Hands
"WA", // Walking
"WB", // Walking with Beverage
"JO", // Jogging
"RU", // Running
"BI", // Biking

View File

@ -34,15 +34,28 @@
typedef union {
struct {
int16_t temperature_and_type : 16; // high two bits are record type, val & 0xFFF is temperature
union {
int16_t record_type : 2;
int16_t range : 2;
int16_t temperature : 12;
} info;
int8_t char1 : 8;
int8_t char2 : 8;
int32_t timestamp : 32;
} header;
struct {
int16_t x_accel_and_type : 16; // high two bits are record type, val & 0x3FFF is x_accel
int16_t y_accel : 16;
int16_t z_accel : 16;
union {
int16_t mode : 2;
int16_t accel : 14;
} x;
union {
int16_t lpmode : 2;
int16_t accel : 14;
} y;
union {
int16_t filter : 2;
int16_t accel : 14;
} z;
int32_t counter : 16;
} data;
uint64_t value;