split the code out to make multiple robots easier
diff --git a/bbb_cape/src/cape/fill_packet.c b/bbb_cape/src/cape/fill_packet.c
index 0f49bd4..b525c2f 100644
--- a/bbb_cape/src/cape/fill_packet.c
+++ b/bbb_cape/src/cape/fill_packet.c
@@ -13,6 +13,7 @@
#include "cape/gyro.h"
#include "cape/led.h"
#include "cape/analog.h"
+#include "cape/robot.h"
#define TIMESTAMP_TIM TIM6
#define RCC_APB1ENR_TIMESTAMP_TIMEN RCC_APB1ENR_TIM6EN
@@ -40,18 +41,7 @@
packet->zeroing_gyro = !gyro_output.zeroed;
packet->bad_gyro = gyro_output.gyro_bad;
- packet->main.encoders[0] = encoder_read(0);
- packet->main.encoders[1] = encoder_read(1);
- packet->main.encoders[2] = encoder_read(2);
- packet->main.encoders[3] = encoder_read(3);
- packet->main.encoders[4] = encoder_read(4);
- packet->main.encoders[5] = encoder_read(5);
- packet->main.encoders[6] = encoder_read(6);
- packet->main.encoders[7] = encoder_read(7);
-
- for (int i = 0; i < 8; ++i) {
- packet->main.analogs[i] = analog_get(i);
- }
+ robot_fill_packet(packet);
}
// Fills the new packet with data.
@@ -71,7 +61,7 @@
memcpy(&p, &packet, sizeof(void *));
data.checksum = crc_calculate(p, sizeof(*packet) / 4);
- memset(buffer, 0, 4);
+ ((uint32_t *)buffer)[0] = 0;
cows_stuff(&data, sizeof(data), buffer + 4);
}